Geek tričko zdarma Python týden
Tričko zdarma! Stačí před dobitím bodů použít kód TRIKO15. Více informací zde
Pouze tento sleva až 80% na kurzy Python

Diskuze: Pole

Aktivity (2)
Avatar
Kubas129
Člen
Avatar
Kubas129:27.10.2018 23:08

Ahoj, potřebuji pomoc už jsem z toho fakt zoufalej :(

chci mít pole do, kterého zadám z klávesnice pomocí scanf dvě hodnoty typu double a poté je chci pomocí printf vypsat. A pořád né a né ten program je vypsat :(. Prosím pomohl by mi tu někdo a opravil by mi ten kod? Byl bych fakt vděčný!!!

Kod (v C):

double point_A[1]; // založím pole pro dva prvky

scanf("%f %f", point_A[0], point_A[1] ; // uložím do první přihrádky třeba 2 a do druhe treba 3

printf("%f %f", point_A[0], point_A[1]); //chci aby se mi 2 a 3 vypsala ale nevypíše se mi :(

Zkusil jsem: všechno co mě napadlo

Chci docílit: aby mi program do konzole vypsal moje vložená čísla do pole

 
Odpovědět 27.10.2018 23:08
Avatar
Zakk
Člen
Avatar
Zakk:27.10.2018 23:17

Jsem v c++ naprostej začátečník, takže možná budu říkat blbosti , ale nešlo by prostě použít "cin >> point_A[0]" a "cin>> point_A[1]" a pak "cout << point_A[0]" "cout << point_A[1]" .

Editováno 27.10.2018 23:18
 
Nahoru Odpovědět 27.10.2018 23:17
Avatar
Kubas129
Člen
Avatar
Odpovídá na Zakk
Kubas129:27.10.2018 23:19

to je jen v c++ já to potřebuji v c :(

 
Nahoru Odpovědět 27.10.2018 23:19
Avatar
Odpovídá na Kubas129
Matúš Olejník:27.10.2018 23:21
double point_A[1]; // založím pole pro dva prvky

Veď tam máš 1 :D to znamená ze pole bude mať veľkosť 1 indexovane od 0, keby si dal point_A[2] tak bude mať veľkosť 2 a môžeš ukladať dáta na indexy 0 a 1 atď :)
Plus nesmieš zabúdať na to že do scanf musíš poslať adresu premennej

scanf("%f %f", &point_A[0], &point_A[1]);
Nahoru Odpovědět 27.10.2018 23:21
/* I am not sure why this works but it fixes the problem */
Avatar
Kubas129
Člen
Avatar
Kubas129:27.10.2018 23:31

opraveno ale pořád u typu double mi to vypisuje jen samí nuly.. dá se to nějak udělat, aby mi to napsalo třeba tu 20 a 30?

 
Nahoru Odpovědět 27.10.2018 23:31
Avatar
Odpovídá na Kubas129
Matúš Olejník:27.10.2018 23:45

Toho som si nevšimol ale špecifikátor formátu pre double sa v scanf použiva %lf a v printf len %f.
Uff neviem čo si si tam skúšal ale radšej to celé vymaž, hlavne ten 23. riadok, a prepíš nejako krajšie, napr.

int main() {
    double array[2];

    scanf("%lf %lf", &array[0], &array[1]);

    printf("%f %f", array[0], array[1]);

    getchar(); getchar();

    return 0;
}

Asi by si si mohol prejsť ešte raz niečo o poliach :) https://www.itnetwork.cz/…jazyk-c-pole

Nahoru Odpovědět  +1 27.10.2018 23:45
/* I am not sure why this works but it fixes the problem */
Avatar
Kubas129
Člen
Avatar
Odpovídá na Matúš Olejník
Kubas129:28.10.2018 0:02

super díky už to funguje na 50%
pořád se nechce ještě vypsat ten druhý vstup :(

 
Nahoru Odpovědět 28.10.2018 0:02
Avatar
Kubas129
Člen
Avatar
Kubas129:28.10.2018 0:06

Super už to jde! díky moc :)

 
Nahoru Odpovědět 28.10.2018 0:06
Avatar
Odpovídá na Kubas129
Matúš Olejník:28.10.2018 0:11

Preto som písal aby si to prepísal :D na tom riadku 23 máš &point_A[1] ==! 1 čo si ani nie som istý či je také niečo validne a že ti to nevyhodi chybu. Napíš to ešte raz pekne a bez zbytočností tak ako to má byť a všetko pôjde :)

Nahoru Odpovědět 28.10.2018 0:11
/* I am not sure why this works but it fixes the problem */
Avatar
Luboš Běhounek Satik
Autoredaktor
Avatar
Odpovídá na Matúš Olejník
Luboš Běhounek Satik:28.10.2018 0:13

validní to je, je to adresa toho pole a pak jeho druhýho prvku v paměti :)

Nahoru Odpovědět  +1 28.10.2018 0:13
https://www.facebook.com/peasantsandcastles/
Avatar
Odpovídá na Luboš Běhounek Satik
Matúš Olejník:28.10.2018 0:15

Dobre vedieť, díky, ešte som to nepoužil :D ale to môže byť tým že kodim v jave :D

Nahoru Odpovědět 28.10.2018 0:15
/* I am not sure why this works but it fixes the problem */
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 11 zpráv z 11.