Cerința
Scrieți un program care citește de la tastatură un număr natural par n
(n∈[2,50]
) și elementele unui tablou bidimensional cu n
linii și n
coloane, numere reale, apoi transformă tabloul în memorie, inserând o linie nouă, la mijlocul său, valoarea fiecărui element al acesteia fiind egală cu media aritmetică a elementelor aflate pe coloana corespunzătoare lui în tabloul citit. Tabloul obținut se afișează pe ecran, câte o linie a tabloului pe câte o linie a ecranului, elementele fiecărei linii fiind separate prin câte un spațiu.
Date de intrare
Programul citește de la tastatură numărul n
, iar apoi cele n • n
elemente ale tabloului.
Date de ieșire
Programul va afișa pe ecran elementele tabloului modificat, conform cerinței.
Restricții și precizări
- valorile afișate sunt considerate corecte dacă diferența în valoare absolută dintre fiecare element afișat și cel corect este mai mică decât
0.001
Exemplu
Intrare
4 1.5 0.75 3 1.2 2.75 1.25 2.25 1.5 4.5 1.15 3 4.5 0.25 0.85 1.75 3
Ieșire
1.5 0.75 3 1.2 2.75 1.25 2.25 1.5 2.25 1 2.5 2.55 4.5 1.15 3 4.5 0.25 0.85 1.75 3
#include <bits/stdc++.h> using namespace std; double a[51][51]; int main() { int n; cin >> n; for(int i = 1 ; i <= n ; ++i) for(int j = 1 ; j <= n ; ++j) cin >> a[i][j]; double v[51]; for(int i = 1 ; i <= n ; ++i) for(int j = 1 ; j <= n ; ++j) v[j]+=(a[i][j]*100000); for(int i = 1 ; i <= n ; ++i) v[i]/=(n*100000); for(int i = 1 ; i <= n/2 ; ++i) { for(int j = 1 ; j <= n ; ++j) cout << a[i][j] << ' '; cout << endl; } for(int i = 1 ; i <= n ; ++i) cout << v[i] << ' '; cout << endl; for(int i = n/2 + 1 ; i <= n ; ++i) { for(int j = 1 ; j <= n ; ++j) cout << a[i][j] << ' '; cout << endl; } return 0; }