[ Príspevkov: 5 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
dva programy v C...

Registrovaný: 30.08.10
Prihlásený: 22.04.13
Príspevky: 54
Témy: 11 | 11
Bydlisko: Trnava
NapísalOffline : 11.12.2010 10:08 | dva programy v C...

Ahoj, Zacinam s C a potreboval by som na ukazku nejaky jednoduchy priklad s 2-rozmernym polom a nejaky s pointermi, Príp. obidve veci v kope.
Nemate niekot nieco poruke? ..alebo nemohol by mi niekto napisat? Diky moc.


Offline

Skúsený užívateľ
Skúsený užívateľ
dva programy v C...

Registrovaný: 11.01.09
Prihlásený: 12.11.26
Príspevky: 1402
Témy: 10 | 10
Bydlisko: Hrinova
NapísalOffline : 11.12.2010 11:25 | dva programy v C...

Keďže pole je vlastne pointer na prvý prvok poľa, tak tu je príklad aj poľa aj pointrov:

Kód:
#include <stdio.h>

int main() {

        int matica[3][3];       // dvojrozmerné pole
        int pole[5] = { 10, 20, 30, 40, 50 };   // jednorozmerne pole
        int i, j;

        for ( i = 0; i < 3; i++ )
                for ( j = 0; j < 3; j++ )
                        matica[i][j] = *( pole + i + j );       // vyplnenie pola

        for ( i = 0; i < 3; i++ )
                for ( j = 0; j < 3; j++ )
                        printf( "MATICA[%d][%d] = %d \n", i, j, matica[i][j] ); // vypisanie pola
        putchar( '\n' );

        for ( i = 0; i < 3; i++ )
                *( matica[i] + i ) = 0;         // do hlavnej diagonaly zapiseme same nuly

        for ( i = 0; i < 3; i++ )
                for ( j = 0; j < 3; j++ )
                        printf( "MATICA[%d][%d] = %d \n", i, j, matica[i][j] ); // vypisanie pola
        putchar( '\n' );

        return 0;

}


Ak ti čokoľvek nie je jasné, pýtaj sa.


Offline

Užívateľ
Užívateľ
dva programy v C...

Registrovaný: 30.08.10
Prihlásený: 22.04.13
Príspevky: 54
Témy: 11 | 11
Bydlisko: Trnava
Napísal autor témyOffline : 11.12.2010 11:38 | dva programy v C...

mohol by si mi trosku vysvetlit to vyplnenie pola ...ako to s tym pointrom funguje...


Offline

Skúsený užívateľ
Skúsený užívateľ
dva programy v C...

Registrovaný: 11.01.09
Prihlásený: 12.11.26
Príspevky: 1402
Témy: 10 | 10
Bydlisko: Hrinova
NapísalOffline : 11.12.2010 13:37 | dva programy v C...

V jazyku C je pole prvkov (teraz mám na mysli názov poľa) ekvivalentné smerníku na prvý prvok poľa. Ak máme pole int x[5], potom
&x[i] je to isté ako x - adresa prvého prvku v poli

Čiže z tohto poznatku sa dostávame ďalej - ak potrebujeme pristúpiť k i-tému prvku poľa (napríklad tam uložiť int hodnotu 10), tak môžme to urobiť takto:
x[i] = 10 alebo takto *(x + i) = 10

Treba si len uvedomiť, že operátor * získa hodnotu premennej na adrese, ktorá za týmto operátorom nasleduje.

Pri dvojrozmernom poli je to trocha komplikovanejšie, ale stále tu platí rovnaký princíp. Zápis int pole[2][2] je pointer na pointer na int. Neviem, či by som to bol schopný vysvetliť tak, aby si to pochopil, tak skús si preštudovať tento materiál.


Offline

Užívateľ
Užívateľ
dva programy v C...

Registrovaný: 30.08.10
Prihlásený: 22.04.13
Príspevky: 54
Témy: 11 | 11
Bydlisko: Trnava
Napísal autor témyOffline : 11.12.2010 16:31 | dva programy v C...

Diky, pomohol si mi


 [ Príspevkov: 5 ] 


dva programy v C...



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Ako tvoriť grafické užívateľské rozhranie pre programy v C++

v Backend

4

3336

04.05.2010 14:39

programmer

V tomto fóre nie sú ďalšie neprečítané témy.

Na dva pocitace dva Windowsy?

v Windows

2

762

22.02.2008 8:24

shiro

V tomto fóre nie sú ďalšie neprečítané témy.

Mám sa učiť C ++/objective C/ C#?

v Backend

5

872

08.07.2014 20:40

XOLOO

V tomto fóre nie sú ďalšie neprečítané témy.

Hladam hracov na C&C Generals Zero Hour

v Hry a herné konzoly

10

1380

07.03.2007 19:22

Spirit

V tomto fóre nie sú ďalšie neprečítané témy.

Hledá se programátor C/C++ pro vesmírné projekty (Praha)

v Ponuka a dopyt práce

0

1604

10.05.2016 14:59

evolvsys

V tomto fóre nie sú ďalšie neprečítané témy.

Naučte se C++ za 21 dní + C++Builder 6

v Backend

18

2588

21.05.2010 21:08

Wpegb

V tomto fóre nie sú ďalšie neprečítané témy.

rozdiel medzi Borland 3.1 C++ vs Net. C++

v Backend

4

679

20.07.2010 12:54

walther

V tomto fóre nie sú ďalšie neprečítané témy.

K: PC Literaturu- C++/C#/java/python/ruby/RoR

v Bazár

0

538

13.05.2014 18:16

expresado

V tomto fóre nie sú ďalšie neprečítané témy.

aky je rozdiel medzi C++ a Visual C++ ?

v Backend

8

2112

19.02.2011 22:46

vendo2

V tomto fóre nie sú ďalšie neprečítané témy.

Čo mi treba na programovanie v C/C++

v Backend

17

1305

25.09.2011 18:14

reDo

V tomto fóre nie sú ďalšie neprečítané témy.

Hladame 3x C/C++ Linux developer- projekt 11/2016-2/2017

v Ponuka a dopyt práce

1

676

24.10.2016 15:28

michalesku

V tomto fóre nie sú ďalšie neprečítané témy.

Darujem knihy o programovaní (HTML, Java, Visual C++, C++ Builder, Android)

v Bazár

0

563

01.04.2019 11:20

tomasteicher

V tomto fóre nie sú ďalšie neprečítané témy.

Ako nastavit grafikuv AMD catalyst c.c.

v AMD grafické karty

17

1619

26.12.2013 11:38

walther

V tomto fóre nie sú ďalšie neprečítané témy.

program na projekt (C#, C++, pascal, java)

v Backend

2

968

12.03.2009 12:08

Svjatogor

V tomto fóre nie sú ďalšie neprečítané témy.

C - Ako prekompilovať .c súbor do .exe?

v Backend

7

682

02.11.2012 18:47

MasterMatoSK

V tomto fóre nie sú ďalšie neprečítané témy.

C# alebo C++ appka/program na výpočty

v Backend

1

503

20.03.2015 22:36

walther



© 2005 - 2026 PCforum, edited by JanoF