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

Program zapętlił się w funkcji

Ostatnio zmodyfikowano 2011-12-27 18:23
Autor Wiadomość
Aramil
Temat założony przez niniejszego użytkownika
Program zapętlił się w funkcji
» 2011-12-27 15:32:06
Witam mam taki o to problem. Piszę program wykonujący podstawowe działania na macierzach 3x3. Musiałem go delikatnie przerobić i po tych zmianach nie che wyskakiwać z funkcji. Znaczy zapętla się w funkcjach.

C/C++
// program wykonujący proste działania na macierzach wszelkiego rozmiaru.
#include<iostream>
#include<math.h>
#include<ctime>
#include<string>
#include<conio.h>

using namespace std;



void dodawanie()
{
    int i, j, wiersze1, wiersze2;
    int macierz1[ 8 ], macierz2[ 8 ];
    cout << "Podaj wartosci pierwszej macierzy:\n";
    for( i = 0; i < 9; i++ )
    {
        cin >> macierz1[ i ];
    }
    cout << "Podaj wartosci drugiej macierzy\n";
    for( i = 0; i < 9; i++ )
    {
        cin >> macierz2[ i ];
    }
    int wynik[ 9 ];
    for( i = 0; i < 9; i++ )
    {
        wynik[ i ] = macierz1[ i ] + macierz2[ i ];
    }
    cout << "Wynik dodawania:\n";
    for( i = 0; i < 9; i++ )
    {
        cout << wynik[ i ] << "\n";
    }
}



void odejmowanie()
{
    int wybor, pierwsza, druga, i, j, kolumny1, kolumny2, wiersze1, wiersze2;
    int macierz1[ 9 ], macierz2[ 9 ];
    cout << "Podaj wartosci pierwszej macierzy:\n";
    for( i = 0; i < 9; i++ )
    {
        cin >> macierz1[ i ];
    }
    cout << "Podaj wartosci drugiej macierzy\n";
    for( i = 0; i < 9; i++ )
    {
        cin >> macierz2[ i ];
    }
    int wynik[ 9 ];
    for( i = 0; i < 9; i++ )
    {
        wynik[ i ] = macierz1[ i ] - macierz2[ i ];
    }
    cout << "Wynik odejmowania:\n";
    for( i = 0; i < 9; i++ )
    {
        cout << wynik[ i ] << "\n";
    }
}



void mnozenie()
{
}



void dzielenie()
{
   
}



void macierzOdwrotna()
{
   
}





int main()
{
    cout << "Witam w programie wykonujacym proste dzialania na macierzach 3 stopnia\n";
    int wybor, pierwsza, druga, i, j, kolumny1, kolumny2, wiersze1, wiersze2;
    cout << "1.Dodawanie.\n2.Odejmowanie\n3.Mnozenie\n4.Dzielenie\n5.Macierz odwrotna\n";
    cout << "Wybierz co program ma wykonac\n";
    cin >> wybor;
    switch( wybor )
    {
    case 1:
        dodawanie();
    case 2:
        odejmowanie();
    case 3:
        mnozenie();
    case 4:
        dzielenie();
    case 5:
        macierzOdwrotna();
       
    }
    getch();
    return 0;
}
P-46387
szyx_yankez
» 2011-12-27 15:37:27
Kod wstawiaj w [cpp]...[/cpp].

C/C++
int macierz1[ 8 ], macierz2[ 8 ];
cout << "Podaj wartosci pierwszej macierzy:\n";
for( i = 0; i < 9; i++ )
{
    cin >> macierz1;
    ...
Deklarujesz tablice 8-elementową, a wczytujesz 9.
P-46389
Aramil
Temat założony przez niniejszego użytkownika
» 2011-12-27 15:44:00
Tak mały błąd, ale gdy poprawiłem, problem pozostał. Próbowałem zmusić go aby wyskakiwał. Ale też wyniki były mizerne...
P-46391
szyx_yankez
» 2011-12-27 15:49:38
C/C++
switch( wybor )
{
case 1:
    dodawanie();
case 2:
    odejmowanie();
case 3:
    mnozenie();
case 4:
    dzielenie();
case 5:
    macierzOdwrotna();
   
}
Brakuje "break" po każdym "case".
P-46392
Aramil
Temat założony przez niniejszego użytkownika
» 2011-12-27 18:23:19
Przecież! Dzięki. ;) Temat do zamknięcia. ;)
P-46406
« 1 »
  Strona 1 z 1