Stránka 1 z 1

práce s poli (C)

Napsal: ned 29. říj 2006, 17:20
od hahaha
Pomocí tohoto kódu (ten první příklad) http://jazyk-c.wz.cz/pole.html#pole_jednoroz jsem si "otočil" číslo a teďka bych chtěl pracovat s jednotlivými prvky pole. Jde to nějak udělat? Jsem teprve začátečník, tak mě hned nekamenujte.Předem díky za pomoc.

Napsal: ned 29. říj 2006, 17:26
od hahaha
Ještě bych dodal, že se jedná o to, že bych potřeboval vzít prvek po prvku a každému bych přiřadil proměnou (budu mít číslo 123 a chtěl bych aby 1=a, 2=b, 3=c).

Napsal: ned 29. říj 2006, 19:34
od zombux
jednoduše for cyklem :) něco jako

Kód: Vybrat vše

for(int i=0;i<velikost;i++) {pole[i]=hodnota;}
nebo pak můžeš bejt prase a využít toho že pole je vždycky celistvé místo v paměti... takže napsat na místo pole řetězec nebo podobné triky jdou v C použít taky

Napsal: ned 29. říj 2006, 20:16
od hahaha
Jde mi o to, že mám (teda budu mít) pole se znaky. Pomocí klávesnice načtu číslo (velikost nesmí přesáhoout cca 32000). No a potom si chci každému číslu přiřadit proměnou. Ta proměná v sobě musí mít to číslo uchované. No a podle toho čísla v proměné si zavolám prvek z pole se znaky. Konkrétně jde o převod římských čísel na arabská. Nevím jestli je to pochopitelné z toho co jsem napsal.

Napsal: úte 31. říj 2006, 17:52
od PCMark
nevím jestli jsem to dobře pochopil, to chceš na nultý index pole uložit římskou jedničku, na první index pole řimskou dvojku atd.... až po 31999tý index. Pak načíst číslo z klávesnice, od toho odečíst jedničku a příslušnou hodnotu z pole vypsat?
Akorát nevím jak chceš do toho pole uložit ty římská čísla. Potom je z pole dostat podle načteného čísla už není problém.
Řekl bych že na převod desítkových číslel na římské by šel vymyslet mnohem jednodušší algoritmus, který by byl méně náročný na paměť.

Napsal: úte 31. říj 2006, 18:26
od hahaha
No chtěl jsem udělat čtyři pole. Do prvního bych napsal jednotky (i, ii, iii, ... ix) a pojmenoval ho jednotky. Do druhého desítky (x, xx, xxx, .... xc), pojmenoval ho desitky. No a pak ještě stovky a tisíce. Takže bych měl vypsanejch 36 čísel ve čtyřech polích. Potom bych načetl z klávesnice číslo, otočil bych ho-aby šlo odzadu. Uložil do pole (nevím jak se to dělá). No a potom bych přiřadil prvním pěti číslům proměnou (př. načtu číslo 32102. otočím na 20123. přiřadím proměné: a=3, b=2, c=1, d=0, e=2). No a pro každou proměnou by bylo jedno to pole (a by patřilo jednotkám a díky tomu, že by obsahovalo číslo (např tu 3) by si vzalo číslo z druhé pozice (protože v poli se začíná od 0 - to vy ale víte) toho prvního pole (iii). No a nevím jak to přemisťování udělat. Ledaže bych napsal jinak ten kód na otočení čísla-ale nenapadá mě jinej než ten co sem uvedl výše. No tak asi takhle si to představuji.

Napsal: úte 31. říj 2006, 18:44
od [CZ]Airwolf[OC]
takova prasarna
nauc se nejdriv jak se pracuje s polem atd, nez zacnes delat algoritmy na prevod soustav

tw> snazsi algoritmus>
nacist cislo do pole pres nacitani po jednotlivem znaku, nevzpomenu si presne tu funkci, a pak jednotlive polozky v poli prevest, nutno vzdy otestovat cislici vetsi nez 5, pak cislici 9, a pak uz je to jen prevod dle hodnoty.

Napsal: úte 31. říj 2006, 19:07
od hahaha
No já sem si tu úlohu nevymyslel. Právěže to mám jako úkol. No a jelikož začínám, tak fakt nevím co a jak. Jako něco jednoduššího bych zvládl. Ale s poli si ještě nějak moc nevím rady. C-čko dělám teprv asi měsíc a půl a k tomu mám ještě assemblery, tak to musím uzpůsobit a tím pádem se nemůžu ani jednomu věnovat naplno.

Napsal: stř 1. lis 2006, 21:02
od niximor
Kdyz bys chodil na prednasky... Na minule nebo predminule se zrovna pole probiraly docela podrobne.
Mimochodem myslim, ze do pristiho tydne mas co delat abys to stihnul.

Napsal: stř 1. lis 2006, 22:57
od hahaha
niximor: Kdybys nekecal a radši poradil... Zatím sem byl na každé přednášce (a to musím dojíždět 40km). Jo na přednášce se to probíralo, ale to co tam říká mi nic moc nedá-jenom poslouchat a na závěr když už člověk skoro spí ukáže pár příkladů. Kdyby jich bylo víc, tak nemám námitky. No každopádně aspoň pro mě je ten první projekt nejtěžší. Druhej mám už dokonce hotovej. Jo do příštího týdne mám co dělat-to máš teda pravdu...

Napsal: stř 1. lis 2006, 23:20
od niximor
No, tak zaprve... Ty budes postupne nacitat ty cisla, a pravdepodobne je ukladat do nejakeho stringu. Na to mas v kostre krasnou funkci, kdyz si prectes komentare jak funguje, tak ji muzes pouzit, protoze podle komentaru to snad pochopis.
No a s polem pracujes pak uplne bezne jako s kazdou jinou promennou, pole je proste nekolik hodnot naskladanych v pameti za sebou, a pristupujes k nim pomoci pole[0] - 1. hodnota, pole[1] - 2. hodnota... Samozrejme misto cisla tam muze byt dalsi promenna obsahujici prave cislo polozky v tom poli.
Pro veskery dalsi operace se pak pole[0] nebo treba pole chova jako uplne klasicka promenna, muzes z ni cist hodnoty, a prirazovat do ni hodnoty atd.
Nebo treba muzes pouzit cisla[pole] atd.

Napsal: stř 1. lis 2006, 23:40
od hahaha
Jo díky. Ta poslední věta mi pomohla.