Skocz do zawartości
The_Structor

Sortowanie tablicy dwuwymiarowej.

Rekomendowane odpowiedzi

Cos mi kurcze nie wychodzi :/

 

mam taka tablice:

 

[php:1:a4c081d21d]

const int n=5;

int tab[n][n];

tab[0][1]=3;

tab[0][2]=1;

tab[0][4]=1;

tab[1][3]=3;

tab[1][4]=2;

tab[2][3]=4;

[/php:1:a4c081d21d]

 

chcialbym to zrobic babelkowym, ale czy sie da? bo kombinuje i mi nie wychodzi :/

 

aha, jakby to cos mialo znaczyc, to ta tablica reprezentuje graf;]

 

 

dzieki za pomoc

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Cos mi kurcze nie wychodzi :/

 

mam taka tablice:

[...]

chcialbym to zrobic babelkowym, ale czy sie da? bo kombinuje i mi nie wychodzi :/

aha, jakby to cos mialo znaczyc, to ta tablica reprezentuje graf;]

Najpierw zastanów się co naprawdę chcesz zrobić...

 

Czy potrzebna Ci jest naprawdę macierz? Jak sobie wyobrażasz posortowanie macierzy - kolumny, wiersze, kolumna jako klucz sortowania, wiersz jako klucz sortowania?! Problemem jest to, że można doszukać się kilku sposobów "posortowania" macierzy.

 

Może wystarczy tablica + informacja o pierwotnym położeniu elementu w macierzy (jeśli to ma znaczenie)? Użyj wtedy struktury z informacją o położeniu (w,k) i wartości, sortujesz po wartościach.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

hmm

chodzi o co takiego mniej wiecej:

       2   1-------2   |  1    |   |       |5  |   5    | 4   |      2|   3-------4      3
to jest mniej wiecej graf nieskierowany, ktory sobie stworzylem, wyzej w tabeli przedstawilem jego wierzcholki, np: tab[0][1]=2, czyli wierzcholek 1,2=2 (bo w tabeli numeracja od 0) teraz chodzi mi o to aby te wszystkie krawedzie poukladac niemalejaco.... niestety nie moge sobie z tym poradzic

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

okej wiec udalo sie cos takiego:

[php:1:1cfee98682]

#include <iostream.h>

#include <stdlib.h>

 

const int wym_x=2;

const int wym_y=3;

 

 

main () {

 

int tab_t[wym_x*wym_y], i, j;

int tab[wym_x][wym_y];

tab[0][0]=24;

tab[0][1]=1;

tab[0][2]=3;

tab[1][0]=25;

tab[1][1]=2;

tab[1][2]=4;

 

int licz=0;

 

int sorting=1;

 

 

for (i=0;i<wym_x;i++) {

for (j=0;j<wym_y;j++) {

tab_t[licz++]=tab[j];

}

}

 

 

while (sorting)

{

sorting=0;

for (i=0;i<licz;i++)

{

if ((tab_t[i+1]<tab_t) && (i+1<=licz))

{

int dump=tab_t;

tab_t=tab_t[i+1];

tab_t[i+1]=dump;

sorting=1;

}

}

}

 

for (i=0; i<(sizeof(tab_t)/sizeof(int)); i++) {

cout << tab_t <<"n";

}

 

system ("pause");

 

}

[/php:1:1cfee98682]

 

tyle ze czasem jakies bzdury wypisuje jak wpisze jakies wieksze wartosci pod tab[][]

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...