Dobrý podvečer, chcel by som sa spýtať, ako "vypočítať vstup".
Príklad:
Užívateľ zadá vstup:
5+5+5+6
a výstup by bol celkový výsledok, teda 21
Ako by sa to dalo?
Ďakujem za pomoc.
Dobrý podvečer, chcel by som sa spýtať, ako "vypočítať vstup".
Príklad:
Užívateľ zadá vstup:
5+5+5+6
Bol by prosím aj nejaký príklad?
Ďakujem :)
Existuje několik variant zadání a každé se liší jak obtížností, tak způsobem naprogramování:
12 + 25 ... Pouze jedno (nebo jiný předem daný počet) sčítání.
12 - 25 ... Pouze jedna (nebo jiný předem daný počet) libovolná operace.
12 + 25 + 16 + 14 ... Libovolný počet sčítání.
12 + 25 * 16 - 14 ... Libovolný počet libovolných operací.
12 + 25 * (16 - 14) ... Libovolný počet libovolných operací s uzávorkováním.
atd. atd.
Takže pro lepší radu bych potřeboval upřesnit zadání.
Ide mi o niečo podobné, ako je vypočítať priemer teda:
vstup by bol niekoľko známok, napríklad:
1+2+3+4+4+5
Takže se jedná o vstup obsahující (kromě náhodného smetí) nespecifikovaný počet operací "+" a příslušný počet známek, tedy jednociferných čísel z množiny {1, 2, 3, 4, 5}.
Provedl bych to jednoduše třeba tak, jak bylo zhruba popsáno výše - prostě bych četl znak po znaku až do konce vstupu a když bych narazil na znak, který odpovídá číslu, tak bych příslušné číslo přičetl k mé pomocné proměnné.
Kostra programu by pak mohla vypadat třeba takhle:
const OrdOf_0 = 48;
OrdOf_9 = 57;
OrdOfNumbers = [OrdOf_0..OrdOf_9];
var Znak: char;
...
Sum:= 0;
while not eof do
begin
read(Znak);
if ord(Znak) in OrdOfNumbers
then Sum:= Sum + ( ord(Znak) - OrdOf_0 );
end;
Ahoj, ďakujem za pomoc.
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku