C++-ban hogy kell ilyen háromszöget készíteni? (pl lenn)
Kezdő vagyok
Feladat: Bekérjük hogy hány sor legyen: Pl:5 és így írja ki: 1
22
333
4444
55555
void feladat(int n) {
... for(int i = 1; i <= n; i++) {
... ... for(int j = 1, j <= i; j++) {
... ... ... ... cout << i;
... ... }
... ... cout << endl;
... }
}
De nekem ezzel ilyen lesz: int a;
cout << "hány sor legyen : "<< endl;
cin>>a;
for(int i = 1; i <= a; i++)
{
for (int j = 1; j <= i; j++)
{
cout<<a;
}
cout<<endl;
}
és amit kiad:
5
55
555
5555
55555
io manipulátorokkal is meg lehet oldani:
#include <iostream>
#include <iomanip>
#include <limits>
int main(int argc, char *argv[]) {
int szam;
std::cout << "Kerek egy szamot 0 es 9 kozott: ";
while (!(std::cin >> szam) || (szam < 0) || (szam > 9)) {
std::cout << "Hibas input, ujra: ";
std::cin.clear();
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
}
for (int i = 1; i <= szam; ++i) {
std::cout << std::setw(i) << std::setfill(static_cast<char>(i+48)) << i << std::endl;
}
return 0;
}
De a feladata nem arra megy ki, hogy milyen manipulátorokkal lehet megoldani, hanem arra, hogy megtanulja a több for egymásba ágyazás módszerét.
Persze 1000+1 megoldás van, de a cél nem a megoldási verziók gyűjtögetése.
Más résztől a feladatból veszem ki, hogy a programozói logikával most ismerkedik. Szóval a genetikus avagy template objektum orientált téma még odább van.
Szóval hiába, írod neki, kb olyan, mint teszem azt: tanulnál egy nyelvet, most kezdted 2 hete, és eléd tolnám ugyanazt a mondatot politikai megfogalmazással és olyan nyelvtannal, amiről még fingod sincs.
ezzel menne csak egy a baj: int i;
cout << "hány sor legyen : "<< endl;
cin>>i;
for(int i = 1; i <= i; i++)
{
for (int j = 1; j <= i; j++)
{
cout<<i;
}
cout<<endl;
}
beírok bármilyen számot és ezt kapom: [link]
:D Persze, mert egymás mellé írja. Attól még ez jó.
(1) 1
(2) 22
(3) 333
(4) 4444
...
(10) 10101010101010101010
...
(100) 100x írja egymás mellé hogy 100
Ha te beírsz egy adott számnál nagyobb számot, ami a terminál/console ablakon fizikailag nem fér ki, akkor ott "új sor"-t kezd. Én pont ennek lettél a szemtanúja.
Én azért ezt újragondolnám:
for(int i = 1; i <= i; i++)
Így se bonyolult:
int szam = 9;
for (int i = 1; i <= szam; ++i)
{
std::cout << std::string(i, static_cast<char>('0' + i)) << '\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!