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
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema Inserare1:
#include <iostream>
using namespace std;
int main()
{
int n, m;
double a[52][51];
cin >> n;
m = n;
for(int i = 1 ; i <= n ; i ++)
for(int j = 1 ; j <= m ; j ++)
cin >> a[i][j];
for(int i = n ; i >= n/2; i --)
for(int j = 1 ; j <= m ; j ++)
a[i+1][j] = a[i][j];
n ++;
for(int j = 1 ; j <= n ; j ++)
a[n/2 + 1][j] = 0;
for(int j = 1 ; j <= m ; j ++)
{
double s = 0;
for(int i = 1 ; i<= n ; i ++)
s += a[i][j];
a[n/2+1][j] = s / (n-1);
}
for(int i = 1 ; i <= n ; i ++)
{
for(int j = 1 ; j <= m ; j ++)
cout << a[i][j] << " ";
cout << "\n";
}
return 0;
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #2810 Inserare1
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #2810 Inserare1 de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!