#include #include #include #include using namespace std; const int N = 10; void losujTablice(int* T, const int rozm, const int zakres1, const int zakres2); void losujTablice2D(int T[][N], const int rozm, const int zakres1, const int zakres2); void wypiszTablice(int T[], const int rozm); void wypiszTablice(double T[], const int rozm); void wypiszTablice2D(int T[][N], const int rozm); long long int sumaNadPrzekatna(int T[][N], const int rozm); void elementMax(int SRC[][N], const int rozm, int *DEST); void sredniaKol(int SRC[][N], const int rozm, double *DEST); void quickSortPrzekatnej(int T[][N], const int rozm); int main() { // inicjalizacja na potrzeby funkcji losowej srand(time(NULL)); // definicje tablic int A[N][N], B[N][N]; int C[N]; double D[N]; // inicjalizacja tablic wartosciami int p, k; cout << "Podaj pierwsza liczbe zakresu: "; cin >> p; cout << "\nPodaj druga liczbe zakresu: "; cin >> k; losujTablice2D(A, N, p, k); losujTablice2D(B, N, p, k); cout << endl << endl; // wypisywanie tablic wypiszTablice2D(A, N); cout << endl; wypiszTablice2D(B, N); cout << endl << endl; // suma nad glowna przekatna cout << "Suma elementow nad glowna przekatna tablicy A: " << sumaNadPrzekatna(A, N); cout << "\nSuma elementow nad glowna przekatna tablicy B: " << sumaNadPrzekatna(B, N); cout << endl << endl; // przepisanie elementow do trzeciej tablicy elementMax(A, N, C); cout << "Elementy maksymalne kazdego wiersza A przepisane do tablicy C.\nWyswietlam tablice C:\n"; wypiszTablice(C, N); cout << endl << endl; // wyliczenie i wypisanie sredniej z kolumn sredniaKol(B, N, D); cout << "Srednie arytmetyczne z kazdej kolumny tablicy B przepisane do tablicy D.\nWyswietlam tablice D:\n"; wypiszTablice(D, N); return 0; } void losujTablice(int* T, const int rozm, const int zakres1, const int zakres2) { if(zakres1 == zakres2) for(int i = 0; i < rozm; i++) T[i] = zakres1; else if(zakres1 < zakres2) for(int i = 0; i < rozm; i++) T[i] = (rand() % (zakres2 - zakres1 + 1)) + zakres1; else for(int i = 0; i < rozm; i++) T[i] = (rand() % (zakres1 - zakres2 + 1)) + zakres2; } void losujTablice2D(int T[][N], const int rozm, const int zakres1, const int zakres2) { for(int i = 0; i < rozm; i++) losujTablice(T[i], N, zakres1, zakres2); } void wypiszTablice(int T[], const int rozm) { for(int i = 0; i < rozm; i++) cout << setw(4) << T[i];// << "\t"; } void wypiszTablice(double T[], const int rozm) { for(int i = 0; i < rozm; i++) cout << setw(5) << T[i] << endl; } void wypiszTablice2D(int T[][N], const int rozm) { for(int i = 0; i < N; i++) { wypiszTablice(T[i], rozm); cout << endl; } } long long int sumaNadPrzekatna(int T[][N], const int rozm) { long long int suma = 0; for(int i = 0; i < rozm ; i++) for(int j = i+1; j < N; j++) suma += T[i][j]; return suma; } void elementMax(int SRC[][N], const int rozm, int *DEST) { int max; for(int i = 0; i < rozm; i++) { max = SRC[i][0]; for(int j = 0; j < N; j++) { if(max < SRC[i][j]) max = SRC[i][j]; } DEST[i] = max; } } void sredniaKol(int SRC[][N], const int rozm, double *DEST) { double sr; for(int i = 0; i < N; i++) { sr = 0; for(int j = 0; j < rozm; j++) { sr += SRC[j][i]; } DEST[i] = sr / rozm; } } void quickSortPrzekatnej(int T[][N], const int rozm) { // Nie zdazylem.... }