Četnost vstupních čísel – Pascal – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Četnost vstupních čísel – Pascal – Fórum – Programujte.comČetnost vstupních čísel – Pascal – Fórum – Programujte.com

 

elijax
~ Anonymní uživatel
9 příspěvků
2. 9. 2012   #1
-
0
-

Z úlohy je myslím jasné co mám udělat, ale nejde to zkompilovat prosím o radu. Díky moc

Program priklad_16;
uses crt;
var cislo, interval_1, interval_2, interval_3, interval_4, interval_5, interval_mimo : byte;

begin
      interval_1:=0;
      interval_2:=0;
      interval_3:=0;
      interval_4:=0;
      interval_5:=0;
      interval_mimo:=0;

      writeln('Zadej radu celych cisel ukonci záporným číslem');
      read(cislo);
      while cislo > -1 do begin
                              if cislo > -1 and cislo < 11 then  begin
                                                                      interval_1=interval_1+1;
                                                                end;
                              if cislo > 10 and cislo < 21 then  begin
                                                                      interval_2=interval_2+1;
                                                                end;
                              if cislo > 20 and cislo < 31 then  begin
                                                                      interval_3=interval_3+1;
                                                                end;                                                                 
                              if cislo > 30 and cislo < 41 then  begin
                                                                      interval_4=interval_4+1;
                                                                end;
                              if cislo > 40 and cislo < 51 then  begin
                                                                      interval_5=interval_5+1;
                                                                end;
                              if cislo > 50 and cislo < 32000 then  begin
                                                                     interval_mimo=interval_mimo+1;
                                                                end;   
                              write('Zadej dalsi cislo');
                              read(cislo);                             
                         end;
                        
      writeln('Interval 0-10 obsahoval prvku ===> ', interval_1);
      writeln('Interval 11-20 obsahoval prvku ===> ', interval_2);
      writeln('Interval 21-30 obsahoval prvku ===> ', interval_3);
      writeln('Interval 31-40 obsahoval prvku ===> ', interval_4);
      writeln('Interval 41-50 obsahoval prvku ===> ', interval_5);
      writeln('Interval nad 50 obsahoval prvku ===> ', interval_mimo);    
      repeat until keypressed;
end.
Nahlásit jako SPAM
IP: 78.156.128.–
yetty
~ Redaktor
+5
Super člen
2. 9. 2012   #2
-
0
-

#1 elijax
Snad všechny kompilátory vypisují, proč se program nepodařilo zkompilovat. Zkus zapátrat ve výpisu. Pokud ti nebude jasné, co chyba znamená, zkus zagooglit, nebo se zde zeptat.

Třeba všechny řádky: 

interval_1=interval_1+1;

jsou špatně. Mělo by tam být := namísto =.

Příště prosím umisťuj svůj zdrojový kód do bloku pro zvýrazněnou syntaxi: 

.

Nahlásit jako SPAM
IP: 46.23.51.–
JoDiK
~ Anonymní uživatel
987 příspěvků
2. 9. 2012   #3
-
0
-

#1 elijax
Co to znamená, že to nejde zkompilovat?

Tak buď to zkompilovat jde, nebo to napíše nějakou chybu, proč to nejde zkompilovat. Tak si tu chybu přečti a podle toho se zařiď. Nebo jestli té chybě nerozumíš, tak ji sem opiš a třeba ti někdo řekne co je špatně.

Z kódu je na první pohled jasné, že do typu byte určitě neuložíš hodnotu -1, když typ byte má rozsah 0-255.

Použij typ integer.

Nahlásit jako SPAM
IP: 88.103.233.–
elijax
~ Anonymní uživatel
9 příspěvků
4. 9. 2012   #4
-
0
-

Priklad_16.pas(22,40)

Error: Incompatible types: got "Boolean" expected "Int64"

Toto mi to vrátilo aji po těch vašich úpravách co jste mi poradili.

Nahlásit jako SPAM
IP: 78.156.128.–
zlz
~ Anonymní uživatel
634 příspěvků
4. 9. 2012   #5
-
0
-

Asi tam pořád někde máš = (test rovnosti) místo := (přiřazení).

Nahlásit jako SPAM
IP: 80.188.216.–
Honzc0
Stálý člen
5. 9. 2012   #6
-
0
-

#4 elijax
1. Řekl bych, že procedura read(cislo); musí být v tom cyklu

   Tedy   while cislo > -1 do

            begin

              read(cislo);  atd.

2. Podmínka if (pokud obsahuje and nebo or) musí být uzavřeny v závorkách

    Tedy if (cislo > -1) and (cislo < 11) then
              interval_1 := interval_1+1;

    atd.
                                                           

Nahlásit jako SPAM
IP: 93.181.78.–
elijax
~ Anonymní uživatel
9 příspěvků
5. 9. 2012   #7
-
0
-

Děkuji všem a především Honzc bylo to těma závorkama.

Nahlásit jako SPAM
IP: 78.156.128.–
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, 9 hostů

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ý