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

#2807 Matrice10

Scrieți un program care citește de la tastatură două numere naturale din intervalul [2,50], n și m, și elementele unui tablou bidimensional cu n linii și m coloane, numere naturale distincte din intervalul [0,104].

Programul interschimbă valoarea minimă din ultima coloană a tabloului cu valoarea minimă din prima coloană a tabloului, apoi afișează pe ecran tabloul modificat, 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ă numerele n m, iar apoi cele n • m elemente ale tabloului.

Date de ieșire
Programul va afișa pe ecran elementele tabloului modificat, conform cerinței.

Restricții și precizări
2 ≤ n,m ≤ 50
elementele tabloului aparțin intervalului [0,104]



Exemplu
Intrare

4 3
7 5 19
3 8 4
23 6 1
10 2 9
Ieșire

7 5 19
1 8 4
23 6 3
10 2 9

Răspunsuri la întrebare

Răspuns de daba
3

Matricea se numeste m

//include, main, declarare variabile, citire matrice, n, m

min1 = m[0][0]; poz1 = 0;

min2 = m[n][0]; poz2 = n;

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

if(min1 > m[0][i])

{

min1 = m[0][i];

poz1 = i;

}

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

if(min1 > m[n][i])

{

min1 = m[n][i];

poz2 = i;

}

swap(m[0][poz1], m[n][poz2]);

//afisare matrice si alte chestii de infrumusetare a consolei


daba: in loc de swap, te sfatuiesc sa faci interschimbarea cu aux
pmarian98: am incercat
pmarian98: nu iese interschimbarea nici cu variabila auxiliar
daba: matricea trebuie citita de la 0, nu de la 1. daca nu merge nici asa, inseamna ca fie ai facut o greseala in cod pe care nu o vezi, fie am facut eu una greu de depistat
pmarian98: da, citirea se facea de la 0
pmarian98: dar inloc sa imi afiseze 5=m[2][2] imi afiseaza 0
daba: daca te vei face programator, incepe de la 0, deoarece apar la un moment dat unele lucruri de unde vei fi nevoit sa incepi de la 0 (just a friendly tip)
pmarian98: scz m[1][2]
daba: aaaa, da.... pune n-1 in loc de n, ca matricea e completata de la 0 pana la n-1, excluzand n (posibil ca de la asta sa fie) (si eu sunt nou in chestiile astea cu 0 si ma incurc putin la chestii micute)
Alte întrebări interesante