Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Program przestaje działać - błąd 0xC0000005

Ostatnio zmodyfikowano 2013-06-08 15:40
Autor Wiadomość
n00bwcepie
Temat założony przez niniejszego użytkownika
Program przestaje działać - błąd 0xC0000005
» 2013-06-08 12:22:06
Piszę program będący kalkulatorem dla macierzy:

C/C++
#include<iostream>
#include<fstream>
#include<cstdlib>
using namespace std;

void sumamacierzy();
int macierza[ 10 ][ 10 ];
int kolumnya;
int wierszea;
int macierzb[ 10 ][ 10 ];
int kolumnyb;
int wierszeb;
int macierzwyniku[ 10 ][ 10 ];
void wczytywaniezklawiaturya();
void wczytywaniezklawiaturyb();
void mnozenieprzezliczbe();


int main()
{
    cout << "ile wierszy ma macierz a?" << endl;
    cin >> wierszea;
    cout << "ile kolumn ma macierz a?" << endl;
    cin >> kolumnya;
    cout << "ile wierszy ma macierz b?" << endl;
    cin >> wierszeb;
    cout << "ile kolumn ma macierz b?" << endl;
    cin >> kolumnyb;
    wczytywaniezklawiaturyb();
   
    wczytywaniezklawiaturya();
   
   
   
    int sterowanie;
    cout << "co chcesz zrobic? \n 1-dodac macierze \n 2-tanczyc czacze \n 3-pomnozyc macierz przez liczbe" << endl;
    cin >> sterowanie;
    switch( sterowanie )
    {
    case 1:
        if( wierszea == wierszeb && kolumnya == kolumnyb )
        { sumamacierzy();
        }
       
        else {
            cout << "ilosc kolumn a musi sie rownac ilosci kolumn b. To samo tyczy sie wierszy" << endl;
        }
       
        break;
    case 2:
        cout << "czaczacza" << endl;
        break;
    case 3:
        {
            mnozenieprzezliczbe();
        }
       
       
    }
   
   
    return 0;
    system( "pause" );
   
}

void wczytywaniezklawiaturya()
{
    for( int i = 0; i < kolumnya; i++ )
    {
        for( int j = 0; j < wierszea; j++ )
        {
            cout << "podaj A" << i << j << endl;
            cin >> macierza[ i ][ j ];
        }
       
    }
   
}

void wczytywaniezklawiaturyb()
{
    for( int i = 0; i < wierszeb; i++ )
    {
        for( int j = 0; j < kolumnyb; j++ )
        {
            cout << "podaj B" << i << j << endl;
            cin >> macierzb[ i ][ j ];
        }
    }
   
}

void sumamacierzy()
{
   
    for( int i = 0; i < wierszea; i++ )
    {
        for( int j = 0; j < kolumnya; j++ )
        {
           
            macierzwyniku[ i ][ j ] = macierza[ i ][ j ] + macierzb[ i ][ j ];
        }
       
    }
   
    for( int i = 0; i < wierszea; i++ )
    {
        for( int j = 0; j < kolumnya; j++ )
        {
           
            cout << macierzwyniku[ i ][ j ] << endl;
        }
       
    }
   
   
   
}

void mnozenieprzezliczbe()
{
    int mnoznik;
    cout << "przez co chcesz pomnozyc?" << endl;
    cin >> mnoznik;
    for( int i = 0; i < 3; i++ )
    {
        for( int j = 0; j < 3; i++ )
        {
            macierzwyniku[ i ][ j ] = mnoznik * macierza[ i ][ j ];
        }
    }
    cout << "cyce" << endl;
    for( int i = 0; i < wierszea; i++ )
    {
        for( int j = 0; j < kolumnya; j++ )
        {
           
            cout << macierzwyniku[ i ][ j ] << endl;
        }
       
    }
   
}

Program się świetnie kompiluje, ale kiedy zażądam, żeby pomnożył daną macierz przez liczbę, to po wpisaniu tej liczby wywala mi taki błąd:

Nazwa zdarzenia problemu: APPCRASH
  Nazwa aplikacji: kalkulator.exe
  Wersja aplikacji: 0.0.0.0
  Sygnatura czasowa aplikacji: 51b2fb5c
  Nazwa modułu z błędem: zaalllliiiiii.exe
  Wersja modułu z błędem: 0.0.0.0
  Sygnatura czasowa modułu z błędem: 51b2fb5c
  Kod wyjątku: c0000005
  Przesunięcie wyjątku: 00001889
  Wersja systemu operacyjnego: 6.1.7600.2.0.0.256.1
  Identyfikator ustawień regionalnych: 1045
  Dodatkowe informacje 1: 0a9e
  Dodatkowe informacje 2: 0a9e372d3b4ad19135b953a78882e789
  Dodatkowe informacje 3: 0a9e
  Dodatkowe informacje 4: 0a9e372d3b4ad19135b953a78882e789

Kiedy wykasuję funkcję mnożącą macierz przez liczbę, lub użyję  funkcji np. dodawania lub tańczenia (taki test, czy wszystko działa) to wszystko gra.

Co robić?

PS: wiem, że nie powiniennem używać tylu zmiennych globalnych, ale wdrożenie lokalnych planuję  na później.

Jak się pozbyć tego błędu?
P-85141
ison
» 2013-06-08 14:21:53
for( int j = 0; j < 3; i++ )
i++?
P-85153
n00bwcepie
Temat założony przez niniejszego użytkownika
-.-
» 2013-06-08 15:40:49
<epicki facepalm> jak mogłem to przeoczyć???

Dzięki ison. Naprawdę jesteś niesamowity, że znalazłeś takie małe badziewie :D
Kiedy już będę dobrym programistą to zrobię program który znajduje takie niedoróbki, a nie że przyzwoitym ludziom głowy zawracać.
P-85167
« 1 »
  Strona 1 z 1