Min a max z radi cisle. – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Min a max z radi cisle. – C / C++ – Fórum – Programujte.comMin a max z radi cisle. – C / C++ – Fórum – Programujte.com

 

crash400
Duch
8. 11. 2011   #1
-
0
-

cau nevite kde mam chybu v kodu. Chci bypsat nejmensi a nejvetsi cislo ze zadane rady.

int main()
{
int cislo,max,min;
while (scanf("%d", &cislo) && cislo != 0){
if (cislo > max)
max = cislo;
else if (cislo < min)
min = cislo;
}

printf("%d--%d", min, max);

return 0;
}

Nahlásit jako SPAM
IP: 147.32.116.–
Tom
~ Anonymní uživatel
434 příspěvků
8. 11. 2011   #2
-
0
-

#1 crash40
predne nemas definovane co je na pocatku v min a v max...tam muze byt cokoliv, co je zrovna v pameti na te adrese

Nahlásit jako SPAM
IP: 212.4.138.–
street punk+1
Návštěvník
8. 11. 2011   #3
-
0
-

#1 crash40
Tipujem, že nechceš aby sa ti aj nula zarátavala ako minimálne číslo. Lenže keď min priradíš nulu, tak žiadne zadané kladné číslo nepôjde pod nulu, takže buď to spravíš tak, že pred cyklom už vložíš jedno číslo a to uložíš do min a potom pokračuješ ako to máš, alebo to necháš tak ako to máš, len do int min si dáš INT_MAX, čo min priradí maximálnu hodnotu (je to preto, aby sa nestalo, že ty budeš zadávať nejaké čísla a náhodou by boli všetky väčšie, ako máš ty min)

#include <stdio.h>
#include <limits.h>

int main()
{
	int cislo,max = 0,min = INT_MAX;
	while (scanf("%d", &cislo) && cislo != 0){
		if (cislo > max)
			max = cislo;
		else if (cislo < min)
			min = cislo;
	}

	printf("%d--%d", min, max);

	return 0;
}
Nahlásit jako SPAM
IP: 147.175.179.–
KIIV
~ Moderátor
+43
God of flame
8. 11. 2011   #4
-
0
-

#3 street punk
a co kdyz bude mit jen samy zaporny cisla? idealni reseni, jak uz bylo zmineno, hodit do min a max prvni cislo... nezalezi pak na rozsahu promenne

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
crash400
Duch
8. 11. 2011   #5
-
0
-

a jeste jeden problem  mam

              a=funkce(..........) /* ta fuknce mi vyhodi nejake cislo*/

                    z +=a;

                    if (z>=(obsahkonvx/2.0))/*pokud ten nacitany obsah je vic nez polovina obsahu tak si to ulozim*/
                    {

                        rozdil=fabs(obsahkonvx-z); /* ukladam si do min a max*/

                        if(i==0) min=max=rozdil;{
                        if (rozdil > max)
                            max = rozdil;
                        else if (rozdil < min)
                            min = rozdil;
                        }

a jak docilim toho aby kdyz se splni podminka v if aby se pocitalo zase z=0?

dik moc

Nahlásit jako SPAM
IP: 147.32.116.–
crazy
~ Moderátor
+10
Grafoman
8. 11. 2011   #6
-
0
-

#5 crash40
? jestli to chapu správně

if(...) {
 z = 0;
} 

btw. zase progtest? :D

Nahlásit jako SPAM
IP: 147.32.113.–
All you need is vision and time.
crash400
Duch
8. 11. 2011   #7
-
0
-

asi by to melo fungovat ale me se to do ty podminky dostane nejak pozde:D

nevitide nekde chybu?:)

Nahlásit jako SPAM
IP: 147.32.116.–
Pudni tvor+2
Stálý člen
8. 11. 2011   #8
-
0
-

Taky možnost:

#include <stdio.h>
#include <limits.h>

#define MAX(a, b) (((a) >= (b)) ? (a): (b))
#define MIN(a, b) (((a) <= (b)) ? (a): (b))

int main()
{
  int cislo, max = INT_MIN, min = INT_MAX;
  
  while (scanf("%d", &cislo) && cislo != 0) {
    max = MAX(max, cislo);
    min = MIN(min, cislo);
  }  
  
  printf("%d--%d", min, max);

  return 0;
}
Nahlásit jako SPAM
IP: 90.180.213.–
street punk+1
Návštěvník
8. 11. 2011   #9
-
0
-

#4 KIIV
no hej, nepomyslel som nato max, keď budú záporné všetky. Tak sa to dá spraviť jednoducho, že max priradím maximálne najmenšie číslo. Osobne si myslím, že tiež je ten druhý spôsob, ale ten sa mi nechcel písať. Fungujú obidva

Nahlásit jako SPAM
IP: 147.175.179.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 86 hostů

Podobná vlákna

Min or max v seznamu — založil Karel

Min a Max hodnota z čísel — založil Martin

Pocet cifier v cisle — založil Onsi

Moderátoři diskuze

 

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