Feladat: Irjon CodeBlocks-ban olyan C programot, amely N ellenorzott beolvasasat kovetoen kiirja: - N-ig az osszes tukorszamot - az elso N db tukorszamot - az N-jegyu tukorszamokat Barmi otlet? A valaszokert elore is halas vagyok!
#include <stdio.h>
#include <stdlib.h>
int tukorszam(int szam);
int megfordit(int szam);
int main()
{
int N, i, darab = 0;
printf("Kerem adjon meg egy pozitiv egesz szamot!\nszam=");
scanf("%d", &N);
for (i = 1; i <= N; i++)
{
if (tukorszam(i) == 1)
darab++;
}
printf("%d darab tukorszam volt.\n", darab);
return 0;
}
int tukorszam(int szam)
{
return szam == megfordit(szam);
}
int megfordit(int szam)
{
int forditott = 0;
while (szam > 0)
{
forditott = forditott * 10 + szam % 10;
szam /= 10;
}
return forditott;
}
Eddig jutottam
bool mirror(int n,int m)
{
int rev=0;
while(n>0)
{
rev*=10;
rev+=n%10;
n/=10;
}
return rev==m ? true : false;
}
Nincs ezzel különösebb baj, működik. Nem értem viszont, hogy mi szükség van a tukorszam() függvényre, azután, bár miért is ne, de minek számolod meg a tükörszámokat, amikor azt a feladat ezen része nem kéri, és miért nem íratod ki őket, amikor azt meg de. Nem látom az ellenőrzött bevitelt, és nem világos, hogy mi szükség van stlib.h belinkelésére.
A feladat második részében már számolhatod a darabokat. Nullázod a számot, aztán egy while-ciklus feltételében ellenőrzöd, hogy a nulláról induló darab változó nem kisebb-e N-nél. Ha igen, a ciklusmagban növeled a számot – ha tükörszám, akkor kiíratod, és a darabszámlálót is lépteted.
A harmadik részletben N azt jelenti, hogy 10-nek hányadik hatványa lesz a felső határ. A számoknak ennél kisebbeknek kell lenniük. Az alsó határ az eggyel kisebb hatvány, vagyis a felsőnek egytizede. Ennél nagyobbak lesznek a számok. A számot beállítod az alsó határra, aztán egy amíg el nem kisebb a felsőnél, egy while-ciklusban növeled, és tükörszám esetén ki is íratod az értékét.
Szerintem ezek alapján menni fog. Ha mégsem, majd közlöm a saját próbálkozásaimat is.
+ egy amíg el nem kisebb a felsőnél = amíg nem kisebb a felsőnél
Még jó, hogy megint erre jártam. Hogy a bánatban került bele ilyen marhaság? Biztosan elromlott a gépem...
@18:43 szám:
Ejnye, most kivételesen nincs mit oltogatni Kérdezőn, az egyetlen problémásabb dolgot, a megfordítást szerintem igazán jól megoldotta, és külön becsülendő, hogy nem alakította stringgé, hanem magával a számmal ügyeskedett. Nehogy már lesajnáljuk azt, ami munkát és gondolkodást áldoz a feladatára, éppen akkor, amikor egy másik meg pont ezt a két dolgot akarja megspórolni féltucatnyi kérdésében. Kérdező megdolgozott azért, hogy elakadjon, minden rokonszenvem az övé.
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!