Diskuze: swapnutie hodnot v poli

C a C++ C a C++ swapnutie hodnot v poli

Aktivity (1)
Avatar
style
Člen
Avatar
style:29.11.2015 20:19

Nazdar je mozne v Ccku swapovat hodnoty v 2d / 3d dynamicky alokovanom poli?

int **mojePole;

for ( int i = 0 ; i < index ; i ++ ) {
        int pomocna=index[i];
        index[i]=index[0];
        index[0]=pomocna
}

Nieco v tomto zmysle ( ale nieco co funguje pre 2d a 3rd pole :D )

Diky za odpovede

 
Odpovědět 29.11.2015 20:19
Avatar
Jozef
Člen
Avatar
Odpovídá na style
Jozef:29.11.2015 20:38

funguje to vlastne úplne rovnako. Jedine potrebuješ použiť dvojité, resp. trojité, štvorité,... indexovanie.
Teda namiesto index[i] použiješ index[i][j], index[i][j][k], atď. Napríklad v 2D poli index [i] udáva riadok a [j] udáva stĺpec, analogicky pre viacrozmerné polia.
Teda na výmenu hodnoty v 2D poli použiješ napr.

for ( int i = 0 ; i < pocet_riadkov ; i ++ ) {
        for(int j = 0; j < pocet_stlpcov; j++)
                   int pomocna=index[i][j];
                   index[i][j]=index[0][0];
                   index[0][0]=pomocna;
}
Nahoru Odpovědět 29.11.2015 20:38
I'm not afraid to die on a treadmill
Avatar
style
Člen
Avatar
Odpovídá na Jozef
style:29.11.2015 20:47

Vyskusal som to

int gg_1=arr[nasiel][0];
int gg_2=arr[nasiel][1];
arr[nasiel[0]=arr0][0];
arrnasie][1]=arr0][1];
arr[0][0]=gg_1;
arr0][1]=gg_2;

a vzdy mi z toho padne program :\

Editováno 29.11.2015 20:47
 
Nahoru Odpovědět 29.11.2015 20:47
Avatar
Jozef
Člen
Avatar
Odpovídá na style
Jozef:29.11.2015 20:50

Daj celý kód, ktorý ti nefunguje. Z toho, čo si sem dal, sa neviem vôbec vysomáriť, čo to má byť.

Editováno 29.11.2015 20:52
Nahoru Odpovědět 29.11.2015 20:50
I'm not afraid to die on a treadmill
Avatar
Odpovídá na style
Libor Šimo (libcosenior):30.11.2015 5:30

V tom čo si vyskúšal je niekoľko chýbajúcich [ a jeden ], tak sa nemôžeš diviť, že ti spadne program. :-D

Editováno 30.11.2015 5:31
Nahoru Odpovědět 30.11.2015 5:30
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.