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
Dobrý den,
mám tady jeden příklad a potřeboval bych s tím poradit.
Zadani:
Program načte dvě celá čísla A a B. Pokud je B rovno nule, požaduje nové načtení, dokud neni B nenulové. Potom vypise podil A/B a zbytek po delení A%B.
ja to mam zatim napsany jenom takhle a dal uz nvm:
#include <stdio.h>
#include <stdiob.h>
int mai() {
int a; int b; int c; int d;
c=a/b;
d=a%b;
scanf ("%d", &a);
scanf ("%d", &b);
while (b !=0) {printf ("%d, %d", c, d,)
a dal uz nvm jakto napsat...
Offline
1) Počítáš hodnoty
, ale přitom nevíš, co je v proměnných
, v nich může být uloženo úplně cokoliv. Proto musí načtení hodnot
předcházet výpočtu hodnot
.
2) Výpočet bude mít smysl, pokud
\texttt{b}$ bude různé od nuly, proto je toto nutné nějak ošetřit. Ty jsi použil while cyklus, což je rozumné, ale udělal jsi to blbě. Mělo by to být takto:
scanf ("%d", &a);
scanf ("%d", &b);
while(b==0){
scanf("%d", &b);
}
c=a/b;
d=a%b;
printf(...); //atd.Prostě je nutné dodržovat nějaké pořadí kroků, to je vše. :-)
Offline
↑ byk7:
aha, dobře děkuji.
Takže takhle je to dobre?
#include <stdio.h>
#include <stdiob.h>
int mai() {
int a; int b; int c; int d;
printf ("zadej hodnotu A\n");
scanf ("%d", &a);
printf ("zadej hodnotu B\n");
scanf ("%d", &b);
while (b==0) {
scanf ("%d", &b); - scanf v tomto případe nacte nahodne cislo?
}
c=a/b;
d=a%b;
printf ("podil je %d, zbytek je %d\n", c, d);
} (pridano)
Offline
Ano, to už by mělo fungovat, jen
1) má to být funkce main,
2) scanf nenačte náhodné číslo, ale číslo, které zadá uživatel,
3) funkce main musí něco vracet (např.
),
4) a jako taková musí být ukončená složenou závorkou.
Offline
↑ StupidMan:
Ano, to má být
int main(){
...
return 0;
}Musí to tam být 'main' je funkce typu 'int' a jako taková musí vracet celočíselný výsledek. Proč zrovna nula, no to nevím :-)
Offline
↑ byk7:
V sucasnosti v C/C++ netreba pisat do mainu return 0, ono si to automaticky domysli. Vid https://ideone.com/j8mCie
Offline