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

#1007 Matrice7

Cerința
Se consideră o matrice cu n linii şi m coloane şi elemente numere naturale. Să se modifice matricea în felul următor: toate elementele egale cu valoarea maximă din matrice se înlocuiesc cu valoarea minimă de pe coloana lor.

Date de intrare
Fișierul de intrare matrice7.in conține pe prima linie numerele n m, iar următoarele n linii câte m numere naturale, reprezentând elementele matricei.

Date de ieșire
Fișierul de ieșire matrice7.out va conține matricea modificată, câte o linie a matricei pe o linie a fişierului, elementele fiecărei linii fiind separate prin exact un spaţiu.

Restricții și precizări
1 ≤ n, m ≤ 100
elementele matricei vor fi mai mici decât 1 000 000 000

Răspunsuri la întrebare

Răspuns de boiustef
11

#include <iostream>

#include <fstream>

using namespace std;

int a[101][101];

int main()

{

   ifstream f("matrice7.in");

   ofstream g ("matrice7.out");

   int n, m, i, j, max;

   f >> n >> m;

   max=-1;

    for (i=1; i<=n; ++i)

       for (j=1; j<=m; ++j)

           { f >> a[i][j]; if (a[i][j]>max) max=a[i][j];}

   int mincol[101], min;

   for (j=1; j<=m; ++j)

   {

       min=a[1][j];

       for (i=2; i<=n; ++i)

           if (a[i][j]<min) min=a[i][j];

       mincol[j]=min;

   }

   for (i=1; i<=n; ++i)

       for (j=1; j<=m; ++j)

           if (a[i][j]==max) a[i][j]=mincol[j];

   for (i=1; i<=n; ++i)

   {

       for (j=1; j<=m; ++j)

           g << a[i][j] << " ";

       g << "\n";

   }

   return 0;

}

Alte întrebări interesante