A feladat nagy része megvan, de a tömböt nem sikerül feltölteni. Köszönöm előre is a válaszokat.?
#include <iostream>
#include <cmath>
using namespace std;
int main()
/// Olvassunk be egy legkevesebb 5 jegyu szamot, irassuk ki szamjegyeinek osszeget, ellenorizzuk le,
/// hogy van e benne 1 es szamjegy, hany paros szamjegyet tartalmaz, irassuk ki az osztoit
/// csokkeno sorrendben es ellenorizzuk le, hogy a szam prim e.
{
long szam,b;
int osszeg=0,db=0,osztok,a[1000],n=0,i;
do
{
cout<<"Kerek egy 5 jegyu szamot! "; cin>>szam;
}while(szam<=9999);
b=szam;
bool van;
van=false;
while (b>0)
{
osszeg+=b%10;
if(b%10==1) van=true;
if(b%2==0) db++;
b/=10;
}
cout<<"Szamok osszege: "<<osszeg<<endl;
if (van) cout<<"Van egyes szamjegye."<<endl;
else cout<<"Nincs egyes szamjegye."<<endl;
cout<<db<<" paros szamjegyet tartalmaz."<<endl;
for(osztok=1;osztok<=szam;osztok++)
{
if(szam%osztok==0)
{
}
}
bool csere;
do
{
csere=false;
for(i=0;i<n-1;i++)
if(a[i]<a[i+1])
{
int s=a[i];
a[i]=a[i+1];
a[i+1]=s;
csere=true;
}
}while(csere);
cout<<endl<<"A rendezett tomb elemei: "<<endl;
cout<<endl;
bool prim=true;
for(int oszto=2; oszto<=sqrt(szam);oszto++)
if(szam%oszto==0) prim=false;
if(prim&&szam!=0&&szam!=1) cout<<"A beolvasott szam primszam.";
else cout<<"A beolvasott szam nem primszam.";
return 0;
}
Haladjunk sorban:
/// Olvassunk be egy legkevesebb 5 jegyu szamot, irassuk ki szamjegyeinek osszeget, ellenorizzuk le,
- be kell kérned egy inputot
- validálnod kell: 5 karakter és csak szám lehet
- a karakterek összegét ki kell iratnod, tehát össze kell adnod a tömb elemeit egymással
/// hogy van e benne 1 es szamjegy, hany paros szamjegyet tartalmaz, irassuk ki az osztoit
- ha a tömb iterátoradik eleme 1...
- ha a tömb iterátoradik eleme osztható 2-el...
- az utolsó kicsit komplikáltabb: a beírt imputnak kell megtalálnod az összes osztóját. Ehhez írnod kell egy függvényt ami elkezdi a számot először saját magával, majd saját maga - iterátor osztani, és ahol nincs maradék az egy osztó, és ezt el kell tárolnod. Ezt még lehet egyszerűsíteni, de itt az a kérdés, hogy le tudod-e programozni, és nem az mennyire vagy zseni matekból (pirospont ha egyszerűsíted)
/// csokkeno sorrendben es ellenorizzuk le, hogy a szam prim e.
- nem tudom mit jelent a csökkenő sorrend - nem túl precíz a megfogalmazás. Két dolgot is jelenthet:
a, a számjegyeket növekvő sorrendbe állítod, majd a legnagyobbtól elindulsz a legkisebb felé, és egyesével ellenőrzöd, hogy a szám prím-e
b, ugyan az mint az előbb, visszafelé elindulsz az input-on (input - iterátor), és ha 2-nél több olyan szám van ami maradék nélkül osztja, akkor meg is állhatsz. Ezt is lehet egyszerűsíteni értelemszerűen.
Azért nem írok kódot, mert az nem számít. Ezeket az alapvető programokat mind C++, C#, Java, Javascript, Python-ban is le kell tudnod írni, mint kb ugyan az lesz az egész: tömbkezelés, for ciklusok, if-ek, whileok.
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!