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

A o problema cu acest cod. Nu reusesc sa inteleg cum ar trebui sa sar peste anumite linii sau colane intr-o matrice si nici cum sa o redimensionez corespunzator.
Cum pot rezolva?

----------------------------------------------------------------------------------------------------------------------------

Scrieți un program C/C++ care citește de la tastatură numerele întregi m şi n (1≤m≤24,
1≤n≤24) şi elementele unui tablou bidimensional cu m linii și n coloane, numere întregi
distincte de cel mult 4 cifre fiecare, și elimină din tablou, la nivelul memoriei, linia și coloana
corespunzătoare elementului de valoare minimă. Programul va afișa tabloul obținut pe ecran
pe m-1 linii, elementele fiecărei linii fiind separate prin câte un spațiu.
Exemplu: pentru m=3 şi n=4 şi tabloul de mai jos
2 7 1 4
14 6 12 3
9 22 8 5
Pe ecran se va afişa:
14 6 3
9 22 5
---------------------------------------------------------------------------------------------------------

Anexe:

boiustef: in primul rând trebuie să afli minimul din matrice, memorând şi poziţia lui, adică limin şo colmin, după ce ştergi linia linmin apoi coloana colmin

Răspunsuri la întrebare

Răspuns de boiustef
1

#include <iostream>

using namespace std;

int m,n,i,j,minim,linmin,colmin,a[24][24];

int main()

{

   cout << "nr linii m= "; cin >> m;

   cout << "nt coloane n= "; cin >> n;

   cout << "introdu elementele matricei " << m << " linii" << endl;

   cout << "cu cate " << n << " elemente separate prin spatiu" << endl;

   for (i=0; i<m; ++i)

   {

       for (j=0; j<n; ++j)

           cin >> a[i][j];

   }

   minim=a[0][0]; linmin=0; colmin=0;

   for (i=0; i<m; ++i)

   {

       for (j=0; j<n; ++j)

       {

           if (a[i][j]<minim)

           {

               minim=a[i][j]; linmin=i; colmin=j;

           }

       }

   }

   for (i=linmin; i<m-1; ++i)

   {

       for (j=0; j<=n; ++j)

       {

           a[i][j]=a[i+1][j];

       }

   }

   --m;

   for (j=colmin; j<n-1; ++j)

   {

       for (i=0; i<m; ++i)

       {

           a[i][j]=a[i][j+1];

       }

   }

   --n;

   cout << endl << " Matricea mofificata: " << endl;

   for (i=0; i<m; ++i)

   {

       for (j=0; j<n; ++j)

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

       cout << endl;

   }

}

Alte întrebări interesante