Witam mam do zrobienia takie zadanie:
a. Tablicę A[w][k] (w, k - stałe) wypełnić liczbami losowymi całkowitymi dwucyfrowymi (dodatnimi lub ujemnymi).
b. Wydrukować tablicę wierszami z ustawioną szerokością wydruku, uzupełniając każdy wiersz na końcu średnią wartością wszystkich liczb w tym wierszu, wydrukowaną z dokładnością do 2 miejsc po kropce.
c. Zamienić miejscami kolumnę 0 z 1, 1 z 2 itd., w przypadku gdy ilość liczb podzielnych przez stałą D w j-tej kolumnie jest większa niż w kolumnie j+1.
d. Ponownie wydrukować tablicę.
Póki co tyle udał mi się zrobić samemu:
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <iomanip>
using namespace std;
int main(int argc, char* argv[])
{
const int w = 4;
const int k = 3;
const int d = 4;
int tab[w][k];
int tmps=0;
srand(time(NULL));
for (int i = 0; i < w; i++)
for (int j = 0; j < k; j++)
{
tmps = (rand() % 199) + (-99);
if (tmps < -9 || tmps>9)
{
tab[i][j] = tmps;
}
}
for (int i = 0; i < w; i++)
{
for (int j = 0; j < k; j++)
cout << setw(5) << tab[i][j];
cout << endl;
};
return 0;
}
Nie mam zielonego pojęcia dlaczego czasami w tablicy wczytywane sa liczby totalnie z poza zakresu np.-89788201.
Prosił bym również o podpowiedź jak policzyć średnią każdego wiersza, bo moje próby niestety były totalnie nie trafione.
Z następnymi punktami będę walczył jak uporam się z tymi dwoma.