Anonymní profil peter – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil peter – Programujte.comAnonymní profil peter – Programujte.com

 

Příspěvky odeslané z IP adresy 2001:718:2601:258:241e:5f5a:fae2:c2ca...–

peter
.NET › Dvourozměrné pole
23. 2. 2022   #389953

Myslel jsem tim praci s pameti v assembleru. Tam musis prave resit, jak zapsat string, array a pod pomoci zakladnich instrukci. To jsme delali prave az po pascalu. A najednou to zacalo davat smysl.
A dvourozmerne pole ma nejvetsi vyznam asi u databazi.
 

peter
.NET › Dvourozměrné pole
23. 2. 2022   #389952

Ono, cist programovaci prirucky neni totez jako mit ucitele.
Jako, vzpominam na sve vlastni zacatky, kdyz nam sice ucitel rekl, jake jsou datove typy a mozna i rikal, jak to funguje. Ale to je vse teorie, nejaky vzdaleny virtualni svet. Lepsi by byl prakticky model ze dreva. Dokud nepracujes primo s pameti a nezacnes premyslet, jakym zpusobem to do ni ulozit, tak ti popis nemusi byt uplne jasny. Proto jsem to zkusil rozepsat. Ono, zrovna c#, pascal a pod neni upne nejka, ja radeji pracuji s javascriptem. Ten znacne zjednodusuje zapis prace s poli. V C jazycich je prave hrozne matouci, ze neco pojmenujes pole a najednou u nej musis jeste definovat, ze je tam jiny datovy typ, integer, string a pod. Ze proste neni jednoznacne receno cislovane pole a to samo pouzije integer jako v pripade javascriptu.
 

peter
.NET › Dvourozměrné pole
23. 2. 2022   #389950

   

// declares & initializes string array
String[] s1 = new String[2];

// assign the value 
s1[0] = 10; 
s1[1] = 30;
s1[2] = 20;

// nebo muzes pouzit cyklus

// tady jsou nejake ukazky pro dvourozmerne pole
https://stackoverflow.com/…string-array

// takhle nejak by se asi delala tabulka
//jmeno ; prijmeni ; bydliste
//tonda ; novak ; ostrava
//marek ; eben ; praha

// nejdriv vytvoris strukturu

string[][] Tablero = new string[3][];
for (int i = 0; i < Tablero.GetLength(0); i++)
{
    Tablero[i] = new string[3];
}

// a pak ji muzez naplnit hodnotami

Tablero[0][0] = "jmeno"
Tablero[1][0] = "tonda"

// nebo to udelas cyklem, "vsude" das treba tonda
for (int i = 0; i < Tablero.GetLength(0); i++)
{
for (int j = 0; j < Tablero[i].GetLength(0); j++)
    Tablero[i][j] = "tonda"
}

// ty tam mas totez, jen s double
peter
.NET › Dvourozměrné pole
23. 2. 2022   #389949

Ony ty anglicke pojmenovani a ceske preklady jsou casto dost nejasne. Slovo pole se v realnem svete nikde jinde nepoziv. Stejne jako shoda podnetu s prisudkem v cestine. O zadnou shodu nejde, jde o propojeni, ze by to melo mit stejne y/i :)

V programovani mas struktury, do kterych muzes ukladat data nejak pojmenovane. Kazda ma nejake vlastnosti. Kazda zabira misto v pameti.

char = 1 (byte)
byte = 1 (byte, pouzivany jako cislo 0-255)
integer = 4 (pouzivany jako cislo +-2.147.483.647)

string = delka(n) + n x typ(char=1) // kdyz chces ulozit string, potrebujes
// vedet, kolik znaku ukladas a pak seznam tech znaku

cislovane_pole = pocet(n) + n x typ(char=1)

U cislovane_pole, typ, muze byt jakakoliv jina struktura, treba take pole.
A to je presne pripad dvourozmerneho pole. Typ muze byt i integer. Typ
muze byt cokoliv.

cislovane_pole = pocet(M) + M x ( pocet(N) + N x typ(char=1) )

A potom je jeste pole s indexy typu string nebo jine.

Cili, dvourozmerne pole je neco jako tabulka v excelu. Muzes ho pouzit pro ukladani souradnic X Y. Nebo seznam knizek s autorem, rok vydani, ... Proste tabulka. Mozna to lepe pochopis pozdeji, az budes resit, jak usporne ulozit data do souboru nebo zacnes pouzivat databaze.

Treba, kdyz ukladas z excelu tabulku do textoveho souboru, tak se pouziva csv format (bunky oddelene carkou - excel pouziva strednik)

jmeno ; prijmeni ; bydliste
tonda ; novak ; ostrava
marek ; eben ; praha

 .

pole[radek 0][sloupec 0] = jmeno
pole[radek 1][sloupec 0] = tonda
str = pole[radek 2][sloupec 2] // praha
str[0] = p // prvni pismeno ze string praha

(ale nevim, jak se to pise v c++, ber to jen jako ukazku, jak funguje struktura pole)

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý