Program,jednoduchy,ale proc nefunguje? – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Program,jednoduchy,ale proc nefunguje? – C / C++ – Fórum – Programujte.comProgram,jednoduchy,ale proc nefunguje? – C / C++ – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Luke15
~ Anonymní uživatel
5 příspěvků
13. 10. 2012   #1
-
0
-

Program se ma opakovat do te doby, nez se zada nula. Mne ale skonci hned po zadani jakehokolik cisla, proc?Nemuzu na to prijit, sic je to jednoduche,ja zacinam,poradite?:/ Dikyy

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main()
{

    int i;
    int pocetNactenych;
    int soucetZadanychCisel;
    pocetNactenych==0;
    soucetZadanychCisel==0;

    do {
        printf("Vkladejte cela cisla:");
        scanf("%d", &i);
        pocetNactenych=pocetNactenych+1;
        soucetZadanychCisel=i+soucetZadanychCisel;

        }

         while (i==0);


    return 0;
}
Nahlásit jako SPAM
IP: 90.182.248.–
Reklama
Reklama
vitamin+8
Grafoman
13. 10. 2012   #2
-
0
-

i != 0

Nahlásit jako SPAM
IP: 95.105.157.–
obfuscate: "The cruel god Malloc will strike you down. "
ZMeson: "That's the C god. C++ has a new god. "
ingiraxo+15
Grafoman
13. 10. 2012   #3
-
0
-

hlavně by to chtělo si zjistit, jakej je rozdíl mezi = a ==

Nahlásit jako SPAM
IP: 213.168.183.–
Moje aplikace: http://ophite.cz
Tutoriály na: C#
Luke15
~ Anonymní uživatel
5 příspěvků
13. 10. 2012   #4
-
0
-

#2 vitamin
dik moc

Nahlásit jako SPAM
IP: 90.182.248.–
Luke15
~ Anonymní uživatel
5 příspěvků
13. 10. 2012   #5
-
0
-

#3 ingiraxo
no to vim,jaky je mezi tim rozdil...

Nahlásit jako SPAM
IP: 90.182.248.–
ingiraxo+15
Grafoman
13. 10. 2012   #6
-
0
-

#5 Luke15
opravdu? 

pocetNactenych==0;
soucetZadanychCisel==0;
Nahlásit jako SPAM
IP: 213.168.183.–
Moje aplikace: http://ophite.cz
Tutoriály na: C#
Luke15
~ Anonymní uživatel
5 příspěvků
13. 10. 2012   #7
-
0
-

#6 ingiraxo
no chtel jsem,aby se na zacatku tyto promenne rovnaly nule,coz tak je,ne?:)

Nahlásit jako SPAM
IP: 90.182.248.–
ingiraxo+15
Grafoman
13. 10. 2012   #8
-
0
-

#7 Luke15
neni, ty vytváříš podmínku, jestli default(int) == 0, pokud chceš nastavit 0, tak jen jedno =.. čili: 

int cislo = 0;
Nahlásit jako SPAM
IP: 213.168.183.–
Moje aplikace: http://ophite.cz
Tutoriály na: C#
vitamin+8
Grafoman
13. 10. 2012   #9
-
0
-

Toto s da zapisat prehladnejsie:

pocetNactenych=pocetNactenych+1;
//prepis na:
pocetNactenych++;
//alebo:
++pocetNactenych;



soucetZadanychCisel=i+soucetZadanychCisel;
//mozes zapisat ako:
soucetZadanychCisel += i;
Nahlásit jako SPAM
IP: 95.105.157.–
obfuscate: "The cruel god Malloc will strike you down. "
ZMeson: "That's the C god. C++ has a new god. "
KIIV+42
God of flame
13. 10. 2012   #10
-
0
-

#9 vitamin
zasadne  ++pocetNactenych ... v C je to jeste jakz takz jedno, ale v c++ post increment muze vytvaret kopie objektu (pokud je pretizeny operator ++ - protoze by se mel vratit jeste puvodni nezmeneny objekt) - proste to muze zbytecne zpomalovat prubeh programu

post increment jen kdyz ho opravdu potrebuje

Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Luke15
~ Anonymní uživatel
5 příspěvků
15. 10. 2012   #11
-
0
-

muzete mi poradit s timhle ?? nefunguje to jak by melo...   dle vypisu printf by snad melo byt jasne,co by to melo umet,budu rad za kazdou pripominku,diky moc :)

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main()
{

int i;
int pocetNactenych;
int soucetZadanychCisel;
int predesleI;
int nejvetsiNacteneCislo;
int pocetNacteniNejvetsiho;
int nejmensiNacteneCislo;
int pocetNacteniNejmensiho;
int cifernySoucet;
int j;

pocetNactenych=0;
soucetZadanychCisel=0;
pocetNacteniNejvetsiho=0;
pocetNacteniNejmensiho=0;
cifernySoucet=0;

do {
printf("Vkladejte cela cisla:");
scanf("%d", &i);


pocetNactenych=pocetNactenych+1;
soucetZadanychCisel=i+soucetZadanychCisel;


{   j=i;
    while ( j!= 0 ) { if ( j > 0 ) { cifernySoucet=cifernySoucet+(j%10);
                                     j=j/10;}

      if ( j < 0 ) { cifernySoucet=cifernySoucet-(j%10);
                     j=-j/10;}
                  } }



if ( ( i >= predesleI ) && ( i!=0) && ( i >= nejvetsiNacteneCislo ) ) {
     if ( i == nejvetsiNacteneCislo ) pocetNacteniNejvetsiho=pocetNacteniNejvetsiho+1;
     nejvetsiNacteneCislo=i;

}
 else { if ( ( i <= predesleI ) && ( i!=0 ) && ( i <= nejmensiNacteneCislo ) ) {
        if ( i == nejmensiNacteneCislo ) pocetNacteniNejmensiho=pocetNacteniNejmensiho+1;
           nejmensiNacteneCislo=i;
}

predesleI=i;

} }
while (i!=0);




printf("Pocet zadanych cisel je %d\n", pocetNactenych-1);
printf("Soucet vsech zadanych cisel je %d\n", soucetZadanychCisel);
printf("Prumerna hodnota = %f\n", (soucetZadanychCisel / (float) (pocetNactenych-1)) );
printf("Nejvetsi nactene cislo: %d\n", nejvetsiNacteneCislo);
printf("Nejmensi nactene cislo: %d\n", nejmensiNacteneCislo);
printf("Pocet nacteni nejvetsiho cisla: %d\n", pocetNacteniNejvetsiho+1);
printf("Pocet nacteni nejmensiho cisla: %d\n", pocetNacteniNejmensiho+1);
printf("Ciferny soucet zadanych cisel je %d\n", cifernySoucet);



return 0;
}
Nahlásit jako SPAM
IP: 109.81.165.–
ingiraxo+15
Grafoman
15. 10. 2012   #12
-
0
-

hodně věcí děláš stále zbytečně složitě i když ti vitamin napsal ty zkrácený zápisy.. jinak takto to může vypadat.. akorát si nejsem jistej s tím ciferným součtem jak to je přesně myšleno.. jako od každýho vstupního čísla zjistit  kolikát je delitelné 10 a tohle stále přičítat? 

int nactene = 0,
    posledni = 0,
    predposledni = 0,
    nactenych = 0,
    soucet = 0,
    nejvetsi = INT_MIN,
    nejvetsiPocet = 0,
    nejmensi = INT_MAX,
    nejmensiPocet = 0,
    cifernySoucet = 0;

    do
    {
        puts("Zadej cislo: ");
        scanf("%d", &nactene);

        if (!nactene) break;

        predposledni = posledni;
        posledni = nactene;
        soucet += posledni;
        cifernySoucet += posledni / 10;

        if (posledni > nejvetsi)
        {
            nejvetsi = posledni;
            ++nejvetsiPocet;
        }
        if (posledni < nejmensi)
        {
            nejmensi = posledni;
            ++nejmensiPocet;
        }
        ++nactenych;
    }
    while (1);

výpis do konzole si snad doděláš

Nahlásit jako SPAM
IP: 213.168.183.–
Moje aplikace: http://ophite.cz
Tutoriály na: C#
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, 109 hostů

Moderátoři diskuze

 

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