Błąd w zadaniu

0

screenshot-20201203150526.png

Jak powinienem poprawić ten program? Rozumiem komunikaty, ale nie mam pomysłu.

5

Co to jest 'viod'? Usuń literówkę, bo pewnie chodziło o 'void'. No i zlituj się i wrzucaj kod jak należy. Nie screeny, a w poście z tagami ```

0
#include <iostream>
using namespace std;
void wiersze(int tab)
{
	int sum=0,i,j;
	for ( i=0; i<2; i++);
	{
	for ( j-1; j<=2; j++);
	{	
	sum = sum +tab[i][j];
}
cout<< "wiersz " << i << "wynosi" << sum<<endl;
}
}
void kolumny (int tab){
	int sum = 0;
	for (int i=1; i<=2; i++){
		for (int j =0; j<2;j++){
			sum=sum + tab[j][i];
		}
		cout<< "kolumna " << i << "wynosi" << sum << endl;
	}
}

int main()
{
	int tab [2][2]= {{2,-3}, {1,8}};
	cout << "sumy wierszy i kolumn";
	wiersze(tab[2][2]);
	kolumny(tab[2][2]);
	cin.get();
	return 0;
	}
5

Wiesz ze DevCpp którego używasz jest starszy od ciebie? xD Poznałbym nawet bez tego screenshota, po samym zjebanym formatowaniu kodu...
Cały ten kod nie ma sensu bo wiersze(tab[2][2]) woła funkcje podając jako argument ELEMENT TABLICY (co więcej taki który nie istnieje bo ta tablica ma indeksy 0,1 i 0,1 więc 2 w ogóle tam nie ma). A wewnątrz funkcji próbujesz tej wartości używać jako TABLICY, więc generalnie wszystko jest źle.
Już nawet nie wspominam wtfów w stylu j-1; j<=2; j++ bo szkoda słów.
W ogóle ciekawe bo widać ze funkcje kolumny pisał ktoś inny kto chociaż minimalnie ogarniał co robi (ale nie do końca).

#include <iostream>
using namespace std;
void wiersze(int tab[2][2]){
    int sum=0,i,j;
    for ( i=0; i<2; i++){
        for ( j=0; j<2; j++){   
            sum = sum +tab[i][j];
        }
        cout<< "wiersz " << i << "wynosi" << sum<<endl;
    }
}
void kolumny (int tab[2][2]){
    int sum = 0;
    for (int i=0; i<2; i++){
        for (int j=0; j<2;j++){
            sum=sum + tab[j][i];
        }
        cout<< "kolumna " << i << "wynosi" << sum << endl;
    }
}

int main()
{
    int tab [2][2]= {{2,-3}, {1,8}};
    cout << "sumy wierszy i kolumn";
    wiersze(tab);
    kolumny(tab);
    return 0;
}

Tak na szybko.

0
  1. Funkcja **wiersze ** przyjmuje parametr typu int a nie tablicę ( zmień na void wiersze( int tab[][2] ) )
  2. Pilnuj zakresu tablicy ( w C++ indeksy tablicy zaczynają się od zera ) bo masz kilka wycieczek poza zakres.
1
int sum=0,i,j; // nie masz wcześniej zadeklarowanego ani i ani j to co ma się znaleźć w sum?
    for ( i=0; i<2; i++); // dlaczego masz średnik?
    {

1 użytkowników online, w tym zalogowanych: 0, gości: 1