kvrol Temat założony przez niniejszego użytkownika |
suma przekątnej » 2017-02-07 13:28:52 witam wszystkich mam problem z obliczeniem sumy przekątnej w macierzy, chodzi o przekątną od prawej do lewej, stworzona pętla pokazuje złe wyniki, a poprawki też nie wskazują na poprawne wykonanie. for( int i = 1; i <= 3; i = i + 1 ) { for( int j = 3; j >= 1; j = j - 1 ) { s = s + tab[ i ][ j ]; } }
|
|
mateczek |
» 2017-02-07 14:05:45 tablice indeksuje się od zera #include <iostream> using namespace std; int main( int argc, char ** argv ) { int tablica[ 3 ][ 3 ] = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } }; int suma = 0; for( int i = 0; i < 3; i++ ) { suma += tablica[ i ][ i ]; } cout << suma << endl; }
|
|
kvrol Temat założony przez niniejszego użytkownika |
chodzi o sumę przekątnej » 2017-02-07 18:20:32 Tylko mi chodzi o obliczenie sumy przekątnej a13+a22+a31, rozpisałem to sobie jak się zmienia i,j ale nadal mi nie wychodzi. |
|
mateczek |
» 2017-02-07 19:38:06 #include <iostream> using namespace std; int main( int argc, char ** argv ) { int tablica[ 3 ][ 3 ] = { { 1, 2, 2 }, { 4, 5, 6 }, { 7, 8, 9 } }; int suma = 0; int suma2 = 0; for( int i = 0; i < 3; i++ ) { suma += tablica[ i ][ i ]; suma2 += tablica[ i ][ 2 - i ]; } cout << suma << " " << suma2 << endl; }
2 sposób #include <iostream> using namespace std; int main( int argc, char ** argv ) { int tablica[ 3 ][ 3 ] = { { 1, 2, 2 }, { 4, 5, 6 }, { 7, 8, 9 } }; int suma = 0; int wiersz = 2, kolumna = 0; while( wiersz >= 0 ) suma += tablica[ wiersz-- ][ kolumna++ ]; cout << suma << endl; }
jeszcze raz przypomnę tablice indeksujemy od zera. a02+a11+a20 dwie pętle for są zbędne !!! takim kodem jak poniżej sumujesz wszystkie elementy tablicy !!! nie tylko te z przekątnej!!! #include <iostream> using namespace std; int main( int argc, char ** argv ) { int tablica[ 3 ][ 3 ] = { { 1, 2, 2 }, { 4, 5, 6 }, { 7, 8, 9 } }; int suma = 0; for( int i = 0; i <= 2; i = i + 1 ) { for( int j = 2; j >= 0; j = j - 1 ) { suma += tablica[ i ][ j ]; } } cout << suma << endl; } |
|
« 1 » |