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
---------------------------------------------------------------------------------------------------------
Răspunsuri la întrebare
#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;
}
}