Kezdőoldal » Számítástechnika » Programozás » C++-ban ezt hogyan tudnám...

C++-ban ezt hogyan tudnám megoldani?

Figyelt kérdés

A program írja ki a nevedet az első sorban!

Minden beolvasás előtt készíts kiírást, ami tájékoztatja a felhasználót arról, mit vársz tőle!

Kérj be egy 10 és 20 közötti egész számot ellenőrzött beolvasással, nevezd N-nek!

Kérj be N db egész számot és határozd meg a következőket:

1, a számok átlaga

2, hány negatív van a beolvasott számok között

3, melyik páros és melyik páratlan, minden szám után írd ki

A feladatok eredményét írd ki!


Munkádat sajatnev_sorozat.cpp néven kell mentened!



#hgrehzre
2014. jún. 4. 09:23
 1/8 Tengor ***** válasza:
100%

Ha kimész a konyhába és kinyitod a hűtőt, ott nem lesz benne... Nekiülsz és megcsinálod, hogy máshogy?

Elkezdted? Hol akadtál el?

2014. jún. 4. 09:24
Hasznos számodra ez a válasz?
 2/8 A kérdező kommentje:

Elkezdtem és mivel kezdő vagyok, érdekel a prgoramkódja, kissé bonyolult még ez.

Megadok egy számot 10 és 20 között, mondjuk 15-öt és így 15 különböző szám átlaga, hány negatív van benne és melyik páros, páratlan. Így gondoltam, valahogy így kéne elmagyarázni, ha szabad. :)

2014. jún. 4. 09:30
 3/8 Tengor ***** válasza:
100%

1.) Létrehozol két változót, egyet a negatív számok számának tárolásra, egyet a számok összegének tárolására. Mindkettő egész szám és 0-ról indul.

2.) Bekéred N-t

3.) Elkezdesz N-szer beolvasni 1-1 egész értéket

3.) a.) az összeghez hozzáadod a beolvasott számot

3.) b.) ha negatív, akkor a negatív számlálót eggyel növeled

3.) c.) ha páros (2-es osztás maradéka 0), akkor azt írod ki, különben azt h páratlan

4.) Miután beolvastad az N számot akkor az összeget elosztod N-nel (castold float-tá, mert különben levágja a tizedest!), megvan az átlag, amit kiírsz a negatív számok számával egyetemben.

2014. jún. 4. 09:42
Hasznos számodra ez a válasz?
 4/8 A kérdező kommentje:

#include <iostream>

using namespace std;


int main ()

{

int N,negativ,szam;

char osszeg,atlag;

{

negativ==0;

osszeg==0;

atlag==0;

do{

cout<< "Kerek egy 10 es 20 kozotti szamot! ";

cin>>N;

}while (N<10&&N>20);

for (int i=1;i<=N;i++)

{ cout<< "Kerek egy szamot! ";

cin >>szam;

if (szam mod 2=0)

{

cout<<paros;

}

else

{

cout<<paratlan;

}

if (szam(0))

{

negativ=negativ+1;

}

osszeg=osszeg+szam;

}

atlag=osszeg/n;

cout<< " Szamok atlaga: " <<atlag<<endl;


return 0;

{



Mi a probléma? Nem futtatja le.

2014. jún. 4. 16:30
 5/8 Tengor ***** válasza:

Hűha...

Eddig gondolom nem C++-ban programoztál! Próbáld értelmezni a fordító által dobott üzeneteket!

A hibák a teljesség igénye nélkül:

a.) nem kell a programkód elején deklarálni a változókat, azokat elég a felhasználás helyén.

b.) az értékadás operátor az = és nem az == jelek.

c.) az osszeg lehet int (a char kisebb)

d.) az atlagot ha tárolod, akkor ne int legyen (1 és 2 átlaga 1,5, ami az int nem tud ábrázolni). Legyen float v. double

e.) (N<10&&N>20) ez sosem fog teljesülni, nincs olyan szám, ami kisebb 10-nél és nagyobb 20-nál

f.) az osztási maradékot %-al képezzük

g.) ha valaminek az egyenlőségét vizsgáljuk, akkor használjuk a == (negáltja: !=) és nem az = jelet.

h.) paros és paratlen kiíratásnál lemaradtak az idézőjelek és/vagy nem deklaráltad őket, mint változókat

i.) if(szam(0)) < nincs szam() függvényed, vizsgálatra a < és > jeleket használd! (esetleg <= vagy >=)

j.) atlag=osszeg/n; két intet osztva (ha kijavítod) az eredmény is int lesz. Ezek közül az egyiket floatra v. double-ra kell konvertálni, mint már írtam.

2014. jún. 4. 18:47
Hasznos számodra ez a válasz?
 6/8 A kérdező kommentje:

#include <iostream>

using namespace std;

int main ()

{

int n,negativ,szam;

double osszeg,atlag;

{

negativ=0;

osszeg=0;

atlag=0;

do{

cout<< "Kerek egy 10 es 20 kozotti szamot! ";

cin>>n;

}while (n<=10 || n>=20);

for (int i=1;i<=n;i++)

{

if(szam%2==0)

{

cout<<"paros"<<endl;

}

else

{

cout<<"paratlan"<<endl;

}

if (szam<0)

{

negativ=negativ+1;

}

osszeg=osszeg+szam;

};

atlag=osszeg/n;

cout<<"Szamok atlaga: "<<atlag<<endl;

cout<<"Negativ szamok: "<<negativ<<endl;


return 0;

}

}



Valamennyire így sikerült, de valahogy nem értem. Beírom hogy 15, és 15x írja le hogy páratlan. De ugye a 15 szám közül van páros is, így pedig az átlagot és a negatívat se számolja.

2014. jún. 4. 19:18
 7/8 Tengor ***** válasza:

Nyah, ez már sokkal jobb.

A for cikluson belül a szam értékét egyszer sem kéred be, ott valami memória szemét van, ezért írja ki 15-szor, hogy páratlan. Kérd be a megfelelő helyen!

+ nézd meg a for magját! Biztos h minden számnál ki kell számolni az átlagot és nem csak a végén?

2014. jún. 4. 19:52
Hasznos számodra ez a válasz?
 8/8 A kérdező kommentje:
Azert tudnal dobni egy kijavitott valtozatot?:)
2014. jún. 4. 20:59

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!