Jump to content
tziuka

Problema cu matrici in limbajul C

Recommended Posts

Posted

Salut ! Am o mica, mare problema. Am de realizat un program in limbajul C. Se cere asa: Sa citesc o matrice cu n linii si m coloane, care se dau de la tastatura, iar pe urma sa scriu o functie care sa primeasca tot de la tastatura doua nr intregi care sa reprezinte nr liniilor(de exemplu a si b ) si cu ele sa schimb liniile intre ele ... iar pe urma sa mai fac o functie care sa faca suma pe linii si sa ordoneze crescator matricea dupa suma elementelor pe linii... Eu m-am chinuit de aseara si am reusit sa fac ceva, dar ma pierd cand ajung la functia care schimba liniile intre ele... nu am idee ce algoritm sa folosesc ! ma ajuta careva? va multumesc!!!

Posted

sa schimbe liniile intre ele? explica mai clar, eu am inteles ca ai o matrice de n linii si m coloane si in ea bagi valori, si dupaia sa mai faci o matrice de k linii si q coloane, care le introduci in cadrul unei functii, si din matricea m1[n][m] sa bage in matricea m2[k][q], asta vrei sa zici ?

Posted

Nu mai faci alta matrice... doar o afisezi pe aceeasi cu liniile schimbate.. dar liniile sa fie schimbate dupa cum vrei tu in functie de cele 2 numere intregi... ( de exemplu.. vreau sa schimb linia 2 cu linia 3...) si sa se schimbe. sper ca m-ai inteles.

Posted

Gecko ms mult deocamdata! asta o sa ma ajute singur...despre cealalta functie imi poti explica ceva?Ar trebui sa fac bublle sort? sau cum as putea? eu is incepator si nu prea am logica de programator inca...

Posted (edited)

int sumaLinie1 = 0;
int sumaLinie2 = 0;

int vectorDeSume[n]; //pt ca avem n linii;

for(int linie = 0; linie < m; linie++) //parcurgem fiecare linie...
{
suma = 0;

for(int coloana = 0; coloana < n; coloana++) //...si ii calculam suma....
suma += m[linie][coloana];

vectorDeSume[linie] = suma; //dupa care adaugam suma liniei "i" in vectorDeSume pe pozitia "i"
}

//sortare matrice cu bubble sort

for(int linie1 = 0; linie1 < (n-1); linie1++)
for(int linie2 = (linie1 + 1); linie2 < n; linie2++)
if(vectorDeSume[linie1] > vectorDeSume[linie2])
swi(m, linie1, linie2);

/*parcurgem fiecare llinie si daca suma liniei "linie1" este mai mare decat suma liniei "linie2" atunci le interchimbam folosind functia pe care ti-a scris-o Gecko */

Edited by Zamolxis666

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...