Právě je 18 led 2018 07:04

Všechny časy jsou v UTC + 1 hodina



Programovani C

[ Moderátorský panel ]



Odeslat nové téma Odpovědět na téma  [ Příspěvků: 7 ] 
Autor Zpráva
 Předmět příspěvku: Programovani C
PříspěvekNapsal: 16 lis 2010 20:08 
V.I.P
Uživatelský avatar

Registrován: 09 říj 2005 19:51
Příspěvky: 461
Poděkoval: 103x
Poděkováno: 71x
W4A Money: 8011
Offline
Zdarec... mam za ukol pomoci poli vypsat N nejvyssich cisel z tech co jsem zadal... mam to naprogramovany... delam to tedka pro trojku..viz treti radek programu, tak to musi zustat... akorat mi to vypisuje 2 nejvyssi a treti cislo v poradi zadany:( tzn ze to treti cislo v poli se neprepisuje... pomozte mi s tim prosim... dam ten zbytek W4AM co mam a thx...
Pro zobrazení linků musíte být přihlášen!
Pokud ještě nemáte zaregistrovaný účet, můžete se zaregistrovat.


Nahoru
 Profil  
 Předmět příspěvku: Programovani C
PříspěvekNapsal: 16 lis 2010 20:53 
Technik
Uživatelský avatar

Registrován: 23 říj 2006 14:43
Příspěvky: 482
Bydliště: Strahov - přechodně
Poděkoval: 2x
Poděkováno: 65x
W4A Money: 111854
Offline
Osobně se mi to zdá děsně nepřehledné. Rozhodně bys měl dát příště pár komentářů.
Nechápu, proč jedeš přes nekonečný for, radši si tam dej while ( a != 0 ){ ... } - co jsem pochopil, tak pokud a == 0, pak má program skončit a vypsat čísla.

A jinak - tady máš ten opravený kód (mně to funguje), snad jsem tam na nic nezapomněl. Pokud ti to nebude fungovat, tak napiš třeba na jakém vstupu nefunguje. Neošetřuji to proti blbosti uživatele....
Pro zobrazení linků musíte být přihlášen!
Pokud ještě nemáte zaregistrovaný účet, můžete se zaregistrovat.


Najdi si tam nějaký diffem, kde jsi tam měl chyby. Minimálně tam byla chyba, když inicializuješ minimum=pole[0];, tak jsi zapomněl dát index = 0; a při vypisování jsi měl jet od nuly v tom foru a ne od jedničky.

_________________
...::||::... I blbci letí vzhůru!!! ...::||::... Nesnáším spamery!!! ...::||::... Když můžu, tak pomůžu. ...::||::...
Obrázek


Nahoru
 Profil  
 Předmět příspěvku: Programovani C
PříspěvekNapsal: 16 lis 2010 21:06 
V.I.P
Uživatelský avatar

Registrován: 09 říj 2005 19:51
Příspěvky: 461
Poděkoval: 103x
Poděkováno: 71x
W4A Money: 8011
Offline
Super diky moc... a ma se mi to ale ukoncovat druhou nulou... tzn zadam nulu vypise to cisla a kdyz zadam potom dalsi nulu vypne se to, pokud cislo jiny tak pokracuju


Nahoru
 Profil  
 Předmět příspěvku: Programovani C
PříspěvekNapsal: 26 pro 2010 16:01 
V.I.P
Uživatelský avatar

Registrován: 09 říj 2005 19:51
Příspěvky: 461
Poděkoval: 103x
Poděkováno: 71x
W4A Money: 8011
Offline
Zdarec tak potrebuju zase pomoct...
Mam textovy soubor kde je toto:
Pro zobrazení linků musíte být přihlášen!
Pokud ještě nemáte zaregistrovaný účet, můžete se zaregistrovat.

a potrebuju tyhle data nacist do programu a ulozit do struktury osoba.. aby kazda osoba mela jmeno vek a vahu podle toho textoveho souboru...
zatim jsme udelal tohle:
Pro zobrazení linků musíte být přihlášen!
Pokud ještě nemáte zaregistrovaný účet, můžete se zaregistrovat.


Potrebuju poradit... jak ziskat ze souboru jmeno - takle se mi sice vypise ale po znacich - tudiz nemuzu s tim dal pracovat (tudiz jak z tech jednotlivych znaku udelat retezec)... a potom jak to poporade nacist - nacteni - Os1.jmeno Os1.vaha Os1.vek Os2.jmeno Os2.vaha Os2.vek

jinak nejde mi o to dostat napsany kod ale spis to pochopit a nejak se k tomu doplacat


Nahoru
 Profil  
 Předmět příspěvku: Programovani C
PříspěvekNapsal: 26 pro 2010 17:34 
Pilot
Uživatelský avatar

Registrován: 23 srp 2005 20:49
Příspěvky: 638
Bydliště: Spyware
Poděkoval: 25x
Poděkováno: 159x
W4A Money: 86207
Offline
Jednoduchý, ale naprosto špatný přístup:
Pro zobrazení linků musíte být přihlášen!
Pokud ještě nemáte zaregistrovaný účet, můžete se zaregistrovat.


Lepší, ale stále nepříliš dobrý:
Pro zobrazení linků musíte být přihlášen!
Pokud ještě nemáte zaregistrovaný účet, můžete se zaregistrovat.



Scanf/fscanf je taková dost záludná funkce.
Na první pohled úžasně ulehčuje práci, ale jak dojde na ošetřování výjimek, není o co stát.

Např. první uvedený přístup umožňuje načíst řetězec libovolné délky, ale vstupní pole dokáže uchovat jen řetězec o maximální délce 32 znaků.
Pokud bude vstupní posloupnost delší než 32 znaků, dojde k chybám - program může neočekávaně skončit či dojít k nesprávnému běhu.

Druhý případ je lepší v tom, že omezuje délku vstupního řetězce na 32 znaků a tedy nemůže dojít k chybám jako v prvním případě.

Oba přístupy mají ale pořád dost dalších nevýhod.
Špatně se řeší nesprávně formátovaný vstup, nelze načítat řetězce s dynamickou délkou (tzn. omezenou jen velikostí paměti), nejednoznačné návratové hodnoty funkce (Je načtení jen 10 znaků chyba? Co další znaky? Už je konec souboru?), ...


Jediný správný přístup je použítí dynamických polí a načítání po jednotlivých znacích.
Vyžaduje to už ale hlubší znalosti o dynamickém přidělování paměti.
Pro zobrazení linků musíte být přihlášen!
Pokud ještě nemáte zaregistrovaný účet, můžete se zaregistrovat.

_________________
There are 10 types of people. Those who understand binary and the others.


Nahoru
 Profil  
 Předmět příspěvku: Programovani C
PříspěvekNapsal: 28 pro 2010 16:19 
V.I.P
Uživatelský avatar

Registrován: 09 říj 2005 19:51
Příspěvky: 461
Poděkoval: 103x
Poděkováno: 71x
W4A Money: 8011
Offline
diky moc... staci mi to pres fscanf (pozitivni pro me je ze chapu proc to neni idealni), jeste bych potreboval dat dohromady aby mi to tedka z ty funkce nacticloveka mi to nacetlo ty prvky pole do pole blbci... jak to udelam? takle to nefacha:(

Pro zobrazení linků musíte být přihlášen!
Pokud ještě nemáte zaregistrovaný účet, můžete se zaregistrovat.


Nahoru
 Profil  
 Předmět příspěvku: Programovani C
PříspěvekNapsal: 28 pro 2010 17:08 
Pilot
Uživatelský avatar

Registrován: 23 srp 2005 20:49
Příspěvky: 638
Bydliště: Spyware
Poděkoval: 25x
Poděkováno: 159x
W4A Money: 86207
Offline
Pro zobrazení linků musíte být přihlášen!
Pokud ještě nemáte zaregistrovaný účet, můžete se zaregistrovat.

_________________
There are 10 types of people. Those who understand binary and the others.


Nahoru
 Profil  
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odpovědět na téma  [ Příspěvků: 7 ] 

Všechny časy jsou v UTC + 1 hodina


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 1 návštěvník



Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Přejít na:  

Time : 0.149s | 23 Queries | GZIP : Off

Filmy ke stažení zdarma | Cheaty | Pocket PC | Android | Windows Phone 7 | iGO 8 | Apple iPhone | Symbian Smartphone | ROM | Windows Mobile | BlackBerry | Palm | Java | Warez mobile forum