Ezt a programot hogyan tudom megcsinálni C++-ba?
sajnos nem értek hozzá, és ebbe kéne segítség: "adott egy 20 karakterből álló szám amiben csak 1,2,3,4-es számjegy szerepelhet és elő kell állítani az ugyan ezekből a számokból álló előtte és utána álló számot"
pl: 12343
előtte:12433
utána: 12334
nekem már az is segítség ha azt meg tudja mondani valaki hogy hogyan hozok létre egy 20 karakterből álló tömböt ami 1,2,3,4 számjegyekből áll csak
Számomra nem egyértelmű, hogy mit szeretnél...
Ezt adom be végleges megoldásnak (ha nem erre gondoltál, akkor értelmesen írd le):
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
char nagyszam_e[20];
char nagyszam[20];
char nagyszam_u[20];
unsigned short int vszam;
int main()
{
srand(time(0));
for (short int j=19;j>=0;j--)
{
vszam = 1+(rand()%4);
nagyszam[j] = vszam;
nagyszam_e[j] = nagyszam[j];
nagyszam_u[j] = nagyszam[j];
if ( j == 19)
{
if (nagyszam[19] == 4)
{
nagyszam[19] = nagyszam_u[19]-1;
nagyszam_u[19] = nagyszam_u[19];
nagyszam_e[19] = nagyszam_u[19]-2;
} else nagyszam_u[19] = nagyszam[19] + 1 ;
if (nagyszam[19] == 1)
{
nagyszam[19] = nagyszam_u[19]+1;
nagyszam_e[19] = nagyszam_u[19];
nagyszam_u[19] = nagyszam_u[19]+2;
} else nagyszam_e[19] = nagyszam[19] - 1;
}
}
cout << endl << endl << "A nagy szam: " << endl;
for(unsigned short int k=0;k<20;k++)
{
cout << int(nagyszam[k]);
}
cout << endl << endl << "A nagy szam elotti szam: " << endl;
for(unsigned short int k=0;k<20;k++)
{
cout << int(nagyszam_e[k]);
}
cout << endl << endl << "A nagy szam utani szam: " << endl;
for(unsigned short int k=0;k<20;k++)
{
cout << int(nagyszam_u[k]);
}
return 0;
}
Az előző feladatban kimaradt pár szám. Itt már nem marad ki, hanem megy egy kör:
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
char nagyszam_e[20];
char nagyszam[20];
char nagyszam_u[20];
unsigned short int vszam;
int main()
{
srand(time(0));
for (short int j=19;j>=0;j--)
{
vszam = 1+(rand()%4);
nagyszam[j] = vszam;
nagyszam_e[j] = nagyszam[j];
nagyszam_u[j] = nagyszam[j];
}
nagyszam_e[19] = nagyszam_e[19]-1;
nagyszam_u[19] = nagyszam_u[19]+1;
for (short int i=19;i>=0;i--)
{
if (i>0)
{
if (nagyszam_u[i] == 5)
{
nagyszam_u[i] = 1;
nagyszam_u[i-1]++;
}
if (nagyszam_e[i] == 0)
{
nagyszam_e[i] = 4;
nagyszam_e[i-1]--;
}
}
else
{
if (nagyszam_u[i] == 5)
{
nagyszam_u[i] = 1;
}
if (nagyszam_e[i] == 0)
{
nagyszam_e[i] = 4;
}
}
}
cout << endl << endl << "A nagy szam: " << endl;
for(unsigned short int k=0;k<20;k++)
{
cout << int(nagyszam[k]);
}
cout << endl << endl << "A nagy szam elotti szam: " << endl;
for(unsigned short int k=0;k<20;k++)
{
cout << int(nagyszam_e[k]);
}
cout << endl << endl << "A nagy szam utani szam: " << endl;
for(unsigned short int k=0;k<20;k++)
{
cout << int(nagyszam_u[k]);
}
return 0;
}
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!