Avatar
Michal Horčička:

Ahoj dělám program na prvočíselný rozklad kde mám načíst ze standardního vstupu seznam celých kladných čísel zakončený nulou a províst jejich prvočíselný rozklad.

Pokud bude na vstupu záporné číslo nebo jiný neočekávaný vstup, má program vypsat chybovou hlášku ”Error: Chybny vstup!” na standardní chybový výstup a ukončit program s návratovou hodnotou 100

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

int main (int argc, char *argv[])
{
int i;
long vstup;
char vysledek=NULL;

scanf("%i",&vstup);
if(vstup==0||­vstup<0){
fprintf(stderr,"E­rror: Chybny vstup!\n");
return 100;
}
while(vstup==1)
{
int prvocislo=0;
for(i=1;i<vst­up;i++){
if(vstup%i==0)
{
prvocislo=i;
break;
}
}
vysledek+= (char)prvocislo + "^";
vstup=vstup/i;
printf("Prvociselny rozklad cisla %d je:%d^%d x",vstup,vysledek);
}
}

ale při překladu mi to vyhodí error.Vůbec nevím kde je chyba.Poradíte mi prosím?

 
Odpovědět 4. listopadu 17:18
Avatar
HONZ4
Člen
Avatar
HONZ4:

Chyb je tam tolik, že by to musel někdo napsat znovu úplně celé.

je tak zběžně, pár chyb:
char vysledek=NULL; < špatné přiřazení
scanf("%i",&vstup); < hodnota long ty načítáš int
if(vstup==0||­vstup<0) < operátor <= ti nic neříká?
atd.

Protože je to do školy, měl by ses víc snažit.

 
Nahoru Odpovědět  +1 4. listopadu 19:02
Avatar
ostrozan
Redaktor
Avatar
Odpovídá na Michal Horčička
ostrozan:

A používej tlačítko </> pro vložení kódu

 
Nahoru Odpovědět 5. listopadu 15:06
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 3 zpráv z 3.