Informatică, întrebare adresată de ioanapavalau, 8 ani în urmă

Cerinţa
Se dă o matrice cu m linii şi n coloane şi elemente numere naturale. Înlocuiţi cu valoarea minimă din matrice toate elementele de pe coloanele care conţin valoarea minimă.
Date de intrare
Programul citește de la tastatură numerele m şi n, iar apoi m*n numere naturale, separate prin spaţii, reprezentând elementele matricei, linie cu linie.
Date de ieşire
Programul afișează pe ecran matricea modificată, câte o linie a matricei pe câte o linie a ecranului, elementele fiecărei linii fiind separate prin câte un spaţiu.

Răspunsuri la întrebare

Răspuns de peacetime76p2ccf6
2
int a[m][n], min=9; //initializam min cu 9 ca sa putem gasi valori mai mici ca el
for(i=0;i<n;i++)
    for(j=0;j<m;j++)
        cin>>a[i][j];    //citirea matricii
for(i=0;j<n;i++)
    for(j=0;i<m;j++)   // cautam valoarea minima
        if(a[i][j]<min)
            min=a[i][j];
for(j=0;j<m;j++)
    for(i=0;i<n;i++) //am inversat i cu j ca sa parcurgem coloane nu linii
        if(a[i][j]==min)
            for(y=0;y<n;i++)
                a[y][j]=min; //notam cu Y ca contor nr de linii, si daca l am gasit pe min pe o coloana, inlocuim toate elementele coloanei cu min

peacetime76p2ccf6: la declarare declari a[50[50], adica marimea maxima a matricei. nu am fost eu atenta si am scris eronat a[m][n] la declarare.
Alte întrebări interesante