Jump to content
Hostul a fost schimbat. Daca vedeti serverul offline readaugati rpg.b-zone.ro sau 141.95.124.78:7777 in clientul de sa-mp ×

[Ajutor2] Aleksandr


Aleksandr
 Share

Recommended Posts

Salut, revin din nou cu un alt topic, cu o nouă problemă.. M-am apucat să rezolv: "Să se rearanjeze elementele unei matrice de dimensiune nxm, astfel încât ele să fie ordonate crescător atât pe linii cât şi pe coloane". Exemplu:

n=3, m=4, matrice:

3 1 8 9 se va afişa: 0 1 1 2

4 6 5 7 3 3 4 5

2 0 1 3 6 7 8 9

M-am gândit sa parcurg matricea de două ori, pornind cu i-ul de la 1 la n şi cu j-ul de la 1 la m, iar apoi, l de la i+1 la n, iar k de la j+1 la m, după care am realizat ordonarea crescătoare.. dar observ că ceva nu e bun.. nu mi le ordonează corect..

Screenshot: QyBRCoV.png

Orice idee e bine venită :(.

Link to comment
Share on other sites

Metoda 1:

Faci un vector din matrice, il ordinezi, apoi il faci matrice :-?

 

Nu imi merge codeblocks..

 

try http://informaticano...pe-lini-si.html

http://hackpedia.inf...pic.php?t=12368

Hm, îmi ordonează doar pe fiecare linie, pe fiecare coloană.. eu nu sunt chiar aşa bun în domeniu', nu am idee cum ordonez toată matricea, fără să ţin cont de linii/coloane, să ordoneze de la cel mai mic, la cel mai mare.. Apreciez, mulţumesc mult.

Link to comment
Share on other sites

Hm, îmi ordonează doar pe fiecare linie, pe fiecare coloană.. eu nu sunt chiar aşa bun în domeniu', nu am idee cum ordonez toată matricea, fără să ţin cont de linii/coloane, să ordoneze de la cel mai mic, la cel mai mare.. Apreciez, mulţumesc mult.

 

Aaaa deci doar pe linie, am inteles.

 

for(int i=1; i<=n ; i++)

{

for(int j=1; j<m; j++)

for(int k=j+1; k<=m k++)

if(a[j]>a[k])

{

interschimbare

}

}

 

Nu stiu daca merge dar asa imi vine in minte..

 

Parcurgi fiecare linie din matrice si pui 2 for-uri pentru ordonare.

Edited by Paulsk
Link to comment
Share on other sites

Aaaa deci doar pe linie, am inteles.

 

for(int i=1; i<=n ; i++)

{

for(int j=1; j<m; j++)

for(int k=j+1; k<=m k++)

if(a[j]>a[k])

{

interschimbare

}

}

 

Nu stiu daca merge dar asa imi vine in minte..

 

Parcurgi fiecare linie din matrice si pui 2 for-uri pentru ordonare.

E acelaşi lucru, deci nu trebuie să ţinem cont de linie/coloană, el trebuie doar să ordoneze de la cel mai mic element la cel mai mare şi afişat pe prima linie cele mai mici, apoi celelalte.. şi tot aşa.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.