Olvasson be egy tömbbe N darab egész számot és vizsgálja meg, hogy a tömb hány elemének értéke negatív, nulla vagy pozitív! Az eredményeket egymás alatt, egy-egy üres sort kihagyva jelenítse meg?
#include <iostream>
#include <algorithm>
#include <iterator>
int main()
{
std::cout << "a tömb " << std::count_if(std::istream_iterator<int>(std::cin), std::istream_iterator(), []() return true) << " elemének értéke negatív, nulla vagy pozitív\n";
}
Szerény véleményem szerint nem optimális az értékeket tömbben tárolni, de a feladat ezt kérte.
Program progi;
Uses Crt;
Var
arr: Array[1..3] of Integer;
i: Integer;
Begin
WriteLn('Szamok megkulonboztetese.');
For i := 1 to 3 do
Begin
WriteLn('Kerem a(z) ',i,'. szamot');
ReadLn(arr[i]);
End;
For i := 1 to 3 do
Begin
WriteLn('');
Write('A(z) ',arr[i]);
If arr[i] = 0 then Write(' nulla.')
Else If arr[i] > 0 then Write (' pozitiv.')
Else Write (' negativ.');
WriteLn('');
End;
WriteLn('');
WriteLn('Uzem vege, hibatlan lefutas.');
WriteLn('Enter-re tovabblep.');
ReadLn;
End.
Ennél N=3, ezt megváltoztatni a két if ciklusnál és az array-nál kell. Dinamikus tömb az szebb...
5-ös vok. Bocsi, lqrtam, rosszul értelmeztem a specifikációt. Helyes megoldás:
Program progi;
Uses Crt;
Const
N = 5;
Var
arr: Array[1..N] of Real; {Gerjesztes tarolo}
y: Array[1..3] of Integer; {Valaszjel tarolo}
i: Integer;
Begin
WriteLn('Szamok megkulonboztetese.');
WriteLn('Kerek osszesen ',N,' db egesz szamot');
{Gerjesztojel inic}
For i := 1 to N do
Begin
WriteLn('');
Write('Kerem a(z) ',i,'. szamot: ');
ReadLn(arr[i]);
End;
{Valaszjel inic}
y[1] := 0; {Nullak}
y[2] := 0; {Pozitivak}
y[3] := 0; {Negativak}
{Leszamlalas}
For i := 1 to N do
Begin
If arr[i] = 0 Then y[1] := y[1] + 1
Else If arr[i] > 0 Then y[2] := y[2] + 1
Else y[3] := y[3] + 1;
End;
{Kiiratas}
WriteLn('');
WriteLn('A bemeneten ',N,' szamot kaptam.');
WriteLn('');
WriteLn('Ebbol nulla ',y[1],' db.');
WriteLn('');
WriteLn('Ebbol pozitiv ',y[2],' db.');
WriteLn('');
WriteLn('Ebbol negativ ',y[3],' db.');
WriteLn('');
WriteLn('Uzem vege, hibatlan lefutas.');
WriteLn('Enter-re tovabblep.');
ReadLn;
End.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!