Hogyan kellene ezt a java ciklusos feladatot?
Kérjünk be a felhasználótól két egész számot és két betűt! Rajzoljunk a betűkből téglalapot a következő módon! A két egész érték az első karakterből kiírt téglalap méretét jelöli. A
második karakterrel töltsük ki a téglalapot!
Addig világos, hogy be kell olvasni 4 változót, amivel kiírom a betűket és azt állítom be, hogy mennyi betűt írjon ki. De az már nem világos, hogy azt hogyan kéne beállítanom, hogy meg tudjam adni a kiírt betűknek a számát.
én így értelmezem
bemenet: 3 4 a b
kimenet:
aaaa
abba
aaaa
hogy miből hány darab kell az pedig számolható általános iskolás matekkal :)
Egymásba ágyazott ciklusokkal kell dolgoznod, plusz kell még két elágazás is, hogy megcsináld a keretet.
G.
azt nem beállítani kell hanem leprogramozni! :)
nem ismerem a java-t lehet bizonyos részei megoldhatók a beépített függvényeivel is, ezért inkább egy programnyelvtől független megoldást írok
-2 ciklus
---első sor csupa "a" betű
---második sortól az utolsó előtti sorig:
------első és utolsó karakter "a" a többi "b"
---utolsó sor megint csupa "a"
biztos van hatékonyabb megoldás:
c++ - ban így néz ki a feladat megoldása (Javahoz annyira még nem értek):
#include <iostream>
using namespace std;
int main()
{
int x, y;
char a, b;
cout << "Irj be ket szamot!\nAz egyik: ";
cin >> x;
cout << "Es a masik: ";
cin >> y;
cout << "Irj be ket betut!\nAz egyik: ";
cin >> a;
cout << "Es a masik: ";
cin >> b;
cout << endl;
for (int i = 0; i < x; i++)
{
for (int j = 0; j < y; j++)
{
if (i >= 1 && j >= 1 && j < y - 1 && i != x-1)
{
cout << b;
}
else
{
cout << a;
}
}
cout << endl;
}
cout << endl;
return 0;
}
Lehet, hogy a segítségedre lesz. Ha mondjuk beírod h: 5,6,a,b akkor ez lesz az eredmény:
aaaaaa
abbbba
abbbba
abbbba
aaaaaa
C++ -ban lusta stílusban:
std::cout << "Add meg az adatokat az alabi formatumban: szam szam betu betu\n";
int x, y;
char a, b;
std::cin >> x >> y >> a >> b;
std::string s1(x, a);
std::string s2 = a + std::string(x - 2, b) + a;
std::cout << s1 << '\n';
for (int i = 0; i < y - 2; ++i)
{
std::cout << s2 << '\n';
}
std::cout << s1 << '\n';
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!