Segitenetek kerlek elakadtam? /
1. Hozzunk létre egy input.txt filet, amelybe írjunk egy n (8 ≤ n ≤ 15 ) számot, majd az alábbi n sorba különböző számokat. Írjunk egy C++ programot, amely beolvassa ezeket a számokat, megvizsgálja, hogy pallindrómok-e, majd egy output.txt fileba 1 est ír, ha azok, 0 st ha nem.
idaig jutottam:
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream in("input.txt");
ofstream out("output.txt");
int n,a,b,c,i;
in >> n;
for ( i=n;i<n;i++){
b=0;
a=i;
while (a>0){
c=a%10;
a=a/10;
b=b*10+c;
bool palindrom = true;
}
if (b == i){
out << 1 << endl;
}else{
out << 0 << endl;
}
}
in.close();
out.close();
return 0;
}
Teljes a zavar. Ez a for ciklus nem vizsgálja meg sikeresen a palindromságot. A program átlépi ezt a for ciklust, sosem alkalmazza. Jól sejtem, hogy a hármasért megyünk?
Mi a beadási határidő?
Az algoritmus az alábbi:
1. Input txt első sor beolvasása. Ennyi elemet kell a következő sorokból beolvasni egy tömbbe.
2. 2.-(n+1). sor elemeinek beolvasása egy tömbbe.
3. Palindromvizsgálat
Az 1. és az utolsó számjegy azonos?
i = 0
A számot szöveggé alakítod. Megállapítod a hosszát.
Beolvasod az első számjegyet egy változóba, beolvasod az utolsót. Ha azonosak, akkor a szám lehet, hogy palindrom.
Folytatod a 2. és az utolsó előtti karakterrel.
Stb.
Ha csak egy jegypárban is eltérés van, akkor a szám nem palindrom. Ilyenkor nem kell folytatni, hanem ki kell lépni ebből a ciklusból.
Az eredményt kiírod a kimeneti fájlba.
Jöhet a következő szám.
Stb.
Az eredményt kiírod a képernyőre.
Bezárod a fájlokat.
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!