Keresés


Toplista

Toplista
  • betöltés...

Magántanár kereső

Ha szívesen korrepetálnál, hozd létre magántanár profilodat itt.
Ha diák vagy és korrepetálásra van szükséged, akkor regisztrálj be és írd meg itt, hogy milyen tantárgyban!

Programozás

477
Írjon egy programot, mely beolvassa a billentyűzetről egy intervallum kezdő és végértékét, majd kiírja a képernyőre az intervallumba eső egész számok közül azokat, amelyek 3-mal és 5-tel oszthatóak. A program írja ki ezeknek a számoknak az összegét és darabszámát is!

Eddig ennyire jutottam:
#include <iostream>
#include <math.h>

using namespace std;

int main()
{
int ie, iv, n, S ;
cout << "intervallum eleje: " << endl;
cin >> ie;
cout << "intervallum vege: " << endl;
cin >> iv;
S=0;

for (n=ie; n<=iv; n++)
{

if (n%3==0 || n%5==0)
{
cout << n << endl;
}

S+=n;

}

cout << "Sum: " << S << endl;
return 0;
}
Jelenleg 1 felhasználó nézi ezt a kérdést.
0
Felsőoktatás / Informatika

Válaszok

1
> amelyek 3-mal és 5-tel oszthatóak.
Tehát "és", nem pedig "vagy". Szóval nem "if (n%3==0 || n%5==0)", hanem "if (n%3==0 && n%5==0)"

> írja ki ezeknek a számoknak az összegét
Tehát csak azokat kell összeadni, amik az if-nek megfelelnek. Ami azt jelenti, hogy az if belsejébe (a { } blokk belsejébe) kell rakni az "S+=n"-et, akár a cout elé, vagy mögé.

> és darabszámát is
Tehát össze is kell számolni, hogy hány ilyen van. Ehhez kellene egy új változó, mondjuk "int db;", amit a többi integer között foglalsz le. Mondjuk egy "db++;" kell az if blokkjának belsejébe, azzal megszámolod, hányszor fut ott a program.
A végén persze ki kell azt is írni.
0