modificarea unui numar dintr-o matrice
Last Updated: Jan 18 2016 00:00, Started by
srk
, Jan 17 2016 21:11
·
0
#1
Posted 17 January 2016 - 21:11
am de facut un program care citeste si afiseaza o matrice iar ulterior sa pot modifica un numar de pe un anumit rand sau coloana din matrice, insa problema e ca nu imi functioneaza ultima parte.
programul e acesta:
Spoiler
iar rezultatul afisat dupa ce incerc sa modific un numar e acesta. ca de exemplu am vrut pe randul 1 coloana 2 sa pun numarul 2 dar imi afiseaza la fel ca in prima matrice.
Spoiler
Edited by srk, 17 January 2016 - 21:12. |
#2
Posted 17 January 2016 - 22:23
La o matrice 2x2 ai 4 elemente: a[0,0], a[0,1], a[1,0] si a[1,1] iar tu modifici un element care nu există a[1,2]
|
#3
Posted 17 January 2016 - 23:36
da, dar cand scriu matricea initiala imi afiseaza randurile si coloanele sub forma asta
Elementul a[1,1]: 1 Elementul a[1,2]: 1 Elementul a[2,1]: 1 Elementul a[2,2]: 1 |
#4
Posted 17 January 2016 - 23:57
Îți afișează sub forma aia din cauza faptului că codul este scris ( printf("Elementul a[%d,%d]: ",i+1,j+1); ) să îți afișeze sub forma aia chiar dacă în realitate nu ai elementele [1, 2], [2, 1] și nici [2, 2], este doar "marketing" pentru că arată "mai frumos" [1, 1] decât [0, 0], [1, 2] decât [0, 1] etc.
Dacă te uiți cu atenție pe cod, chiar dacă afișează a[1, 2] (a[0+1, 1+1] adică a[i+1, j+1] pentru i = 0 și j = 1) când elementul este salvat, este salvat în a[0, 1] (a[i, j] pentru i = 0 și j =1). Când ceri poziția de modificat, dacă introduci poziția conform modului în care ai afișat (a[i+1, j+1]) atunci trebuie să te asiguri că salvezi noul element pe poziția reală a[i, j]. |
#5
Posted 18 January 2016 - 00:00
Pentru că i şi j pleacă de la 0 iar tu afişezi i+1 şi j+1
for(j=0;j<m;j++){ printf("Elementul a[%d,%d]: ",i+1,j+1); |
Anunturi
Bun venit pe Forumul Softpedia!
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users