/******************************************************************** * Tehtävä 3.2 * Viime viikon tehtävä 2.1 siten, että ohjelma kysyy ensin, montako * riviä ja saraketta luetaan ja luo jokaisen taulukkon rivin dynaamisesti * new-muuttujalla ennen kyseisen rivin lukemista, sekä tulostamisen * jälkeen vapauttaa varatun muistin. * * Tehtävä 2.1 * Tee ohjelma, joka lukee 5x5-taulukkoon kokonaisluvut ja laskee * niistä summat riveittäin ja sarakkeittain sekä rivisummien summan * (joka on samalla sarakesummien summa) ja tulostaa lasketut summat ********************************************************************/ #include #include using namespace std; int main (int argc, char * const argv[]) { cout << "Montako riviä ja saraketta luetaan? Anna rivien lukumäärä..." << endl; int rivit; int sarakkeet; cin >> rivit; rivit++; cout << "Anna sarakkeiden lukumäärä..." << endl; cin >> sarakkeet; sarakkeet++; cout << "Sarakkeet ja rivit luettu." << endl; int **taulukko = new int * [rivit]; int rivisumma = 0; int sarakesumma = 0; int x = 0; int y = 0; srand(time(NULL)); cout << "Tästä alkaa taulukon täyttäminen" << endl; // Täytetään taulukko ja lasketaan samalla rivisummaa for (y = 0; y < rivit - 1; y++) { taulukko[x] = new int[sarakkeet]; for (x = 0; x < sarakkeet - 1; x++) { cout << "Sarakkeet ja rivit asetettu" << endl; int luku = rand() % 100; taulukko[x][y] = luku; // Lasketaan rivisummaa samalla kun täytetään rivisumma = rivisumma + taulukko[x][y]; cout << "Rivisumma " << rivisumma << endl; cout << "taulu" << x << "" << y << ":" << taulukko[x][y] << endl; } // Sijoitetaan rivisumma rivin viimeiseen soluun, kun muut solut ovat täynnä cout << "rivisummasolu:" << taulukko[sarakkeet -1][y] << endl; taulukko[sarakkeet -1][y] = rivisumma; rivisumma = 0; } cout << "Taulukko täytetty." << endl; // Sarakesumma. Tällä kertaa lasketaan rivisummatkin yhteen. for (x = 0; x < sarakkeet; x++) { for (y = 0; y < rivit - 1; y++) { sarakesumma = sarakesumma + taulukko[x][y]; } taulukko[x][rivit - 1] = sarakesumma; sarakesumma = 0; } cout << "Sarakesummat ja rivisummat laskettu." << endl; // Ja rintataan vielä koko roska for (y = 0; y < rivit; y++) { for (x = 0; x < sarakkeet; x++) { cout << taulukko[x][y] << " | "; } // delete [] taulukko[y]; cout <