Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 01. 11. 2010 20:51

DeMidix
Příspěvky: 63
Reputace:   
 

uloha programovani c

prosim poradte:
dostal jsem to včera na progarmovani,nedostal žadne vysvetleni,jen že to mam udělat v C.

3.    Napište program, který přečte posloupnost celých čísel délky n (n je dáno vstupními daty) a vypíše největší a nejmenší číslo.

4.    Napište program, který přečte posloupnost kladných celých čísel zakončenou nekladným číslem a vypíše největší a nejmenší číslo.

Mohl by mi to tu někdo napsat?

Diky moc

Offline

  • (téma jako vyřešené označil(a) gladiator01)

#2 01. 11. 2010 21:10 — Editoval gladiator01 (01. 11. 2010 21:14)

gladiator01
Místo: Jindřichův Hradec
Příspěvky: 1587
Škola: ZČU FAV - SWI
Pozice: absolvent
Reputace:   53 
Web
 

Re: uloha programovani c

zavedeš si dvě proměnné   int min=0xffffffff/2, max=0-0xffffffff/2;

3. pomocí for cyklu načítáš čísla ze vstupu a testuješ:
   if(cislo<min)
          min=cislo;
   if(cislo>max)
          max=cislo;
4. Stejně jenom použiješ cyklus do-while s podmínkou číslo > 0

Je fakt jednoduché, jen se trochu zamyslet.

--------------
ot: že ty jseš na všpj?


Naděje jako svíce jas, potěší srdce štvané, čím temnější je noční čas, tím zářivěji plane.
VIVERE - MILITARE EST (Seneca)
Vím, že nic nevím. - Sokrates

Offline

 

#3 01. 11. 2010 21:12 — Editoval Kondr (01. 11. 2010 21:15)

Kondr
Veterán
Místo: Linz, Österreich
Příspěvky: 4247
Škola: FI MU 2013
Pozice: Vývojář, JKU
Reputace:   38 
 

Re: uloha programovani c

EDIT: Díky Glatiatorce za řešení.

Příště prosím trochu podrobněji naznačit, v čem je problém, viz http://forum.matweb.cz/misc.php?action=rules (zejména "Nejsme automat na řešení domácích úkolů")

Jinak dobrý zdroj pro studium C je http://cppreference.com/wiki/

Ať se daří.


BRKOS - matematický korespondenční seminář pro střední školy

Offline

 

#4 01. 11. 2010 21:15

DeMidix
Příspěvky: 63
Reputace:   
 

Re: uloha programovani c

Pravě že jsem nikdy neprogramoval,setkavam se s  C poprvi...

Offline

 

#5 01. 11. 2010 22:02

VojtechSejkora
Příspěvky: 176
Reputace:   
 

Re: uloha programovani c

↑ DeMidix:
já taky ne, ale pokud jsi dělal v nějakém jiném jazyku, tak zas takový problém snad není googlovat a najít si nějaké základy o programování v céčku... je toho plný internet...

ale jestli jsi se o něco pokoušel tak to chápu že sis už nevěděl rady... taky se mi to stalo...

↑ gladiator01:
prosimtě co to je za identifikaci? takovou neznám:-o

Offline

 

#6 01. 11. 2010 22:13

gladiator01
Místo: Jindřichův Hradec
Příspěvky: 1587
Škola: ZČU FAV - SWI
Pozice: absolvent
Reputace:   53 
Web
 

Re: uloha programovani c


Naděje jako svíce jas, potěší srdce štvané, čím temnější je noční čas, tím zářivěji plane.
VIVERE - MILITARE EST (Seneca)
Vím, že nic nevím. - Sokrates

Offline

 

#7 02. 11. 2010 12:20

VojtechSejkora
Příspěvky: 176
Reputace:   
 

Re: uloha programovani c

↑ gladiator01:
int min=0xffffffff/2, max=0-0xffffffff/2;

to s tím hexadecimálním zápisem vidím prvně... a k čemu je to dobré? to je jako maximální/minimální možné číslo bo co?:-o

Offline

 

#8 02. 11. 2010 12:54

Fauſt
Příspěvky: 36
Reputace:   
 

Re: uloha programovani c

Ty hexa konstanty nejsou dobrý nápad hned z několika důvodů:
1) 0-0xffffffff/2 = -2147483647 ale 32 bitový int má minimum -2147483648
2) Velikost intu není zaručená, na 64 bitových procesorech 0xffffffff zdaleka nestačí, je to nepřenosné
3) Není jasné, co tím chtěl autor říct/udělat.

Stejná myšlenka se dá realizovat lépe pomocí INT_MAX z limits.h, nebo jednoduše jako min i max nastavím na začátku to první číslo.

Offline

 

#9 02. 11. 2010 13:19

ondrouchd
Příspěvky: 43
Reputace:   
 

Re: uloha programovani c

Typický školní příklad. Řeš to tak, jak napsal Gladiator až na ty dvě proměnné int min=0xffffffff/2, max=0-0xffffffff/2;

Offline

 

#10 02. 11. 2010 15:21

vojta01
Příspěvky: 63
Reputace:   
 

Re: uloha programovani c

Já bych si na začátku dal priní číslo do min i do max a od druhého načteného čísla bych teprve testoval, zda je doposud největší nebo nejmenší. Žádnej hexademální zápis bych do toho netahal.

Offline

 

#11 02. 11. 2010 16:09 — Editoval gladiator01 (02. 11. 2010 16:09)

gladiator01
Místo: Jindřichův Hradec
Příspěvky: 1587
Škola: ZČU FAV - SWI
Pozice: absolvent
Reputace:   53 
Web
 

Re: uloha programovani c

↑ DeMidix:
Není to špatně, jen Fauſt a ondrouchd jsou puntičkáři.

Aby mně neukamenovali, tak napiš co píše fault.
vlož si knihovnu limits: #include <limits.h>

Code:

    int min=INT_MAX, max=INT_MAX;
    int cislo;

zbytek jako nahoře: pro 3. takto:
   načteš do n počet čísel posloupnosti (+ přidej nějaký popis, aby uživatel věděl co zrovna píše)
    scanf("%d",&n);

   a načítáš čísla:   

   

Code:

for(i=0;i<n;i++)
    {
       scanf("%d",&cislo);
       if(cislo<min)
          min=cislo;
       if(cislo>max)
          max=cislo;
    }

pro 4.
Začátek jako ve 3.
 

Code:

do{
    scanf("%d",&cislo);
       if(cislo<min)
          min=cislo;
       if(cislo>max)
          max=cislo;

  }while(cislo>0)

A vypíšeš.

↑ Fauſt:
Tohle jsem si nevymyslela, takhle to použil (u tohoto příkladu) cvičící, tak jsem předpokládala, že to je dostačující. Příště budu přemýšlet než něco opíši.

2) Velikost intu není zaručená, na 64 bitových procesorech 0xffffffff zdaleka nestačí, je to nepřenosné

autor má programování zhruba měsíc, tak bych přenositelnost moc nezkoumala, hlavně když není schopný udělat ani takovýto primitivní program

int min=0xffffffff/2, max=0-0xffffffff/2;

Co asi, chceme co největší a nejmenší čísla, takhle to je snad přehlednější než než nějaká hausnumera v desítkové soustavě.

knihovnu limits.h neznám


Naděje jako svíce jas, potěší srdce štvané, čím temnější je noční čas, tím zářivěji plane.
VIVERE - MILITARE EST (Seneca)
Vím, že nic nevím. - Sokrates

Offline

 

#12 02. 11. 2010 16:51

VojtechSejkora
Příspěvky: 176
Reputace:   
 

Re: uloha programovani c

↑ gladiator01:
no mě příjde daleko přirozenější tam napsat INT_MAXVALUE a INT_MINVALUE... ale už alespoň konečně vím o co se jedná:)

Offline

 

#13 02. 11. 2010 17:04 — Editoval gladiator01 (15. 11. 2010 12:19)

gladiator01
Místo: Jindřichův Hradec
Příspěvky: 1587
Škola: ZČU FAV - SWI
Pozice: absolvent
Reputace:   53 
Web
 

Re: uloha programovani c

↑ VojtechSejkora:
Samozřejmě, že to vypadá lépe, ale říkam, že jsem to (tu knihovnu limits.h) neznala, tak sem to nemohla napsat, ne?




Naděje jako svíce jas, potěší srdce štvané, čím temnější je noční čas, tím zářivěji plane.
VIVERE - MILITARE EST (Seneca)
Vím, že nic nevím. - Sokrates

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson