x-kom hosting

C++, pętla for. Liczby+litery

mw641
utworzono
utworzono

Witam!
Zaczynam naukę C++. Bardzo proszę o wskazówki potrzebne mi do napisania programu wyświetlającego:
1a 2b 3c 4d 5e
2c 3d 4e 5f
3e 4f 5g
4g 5h
5i
Same liczby zapisałam pętlą:
for ( int i=1; i<=n; i++)
{
for (int g=i; g<=n; g++)
cout << g <<" " ;
cout << endl; }
Ale nie mam fioletowego pojęcia jak wstawić tam litery. Proszę o pomoc !

leggo
komentarz
komentarz

Pokombinuj z rzutowaniem na typ char
[code]static_cast<char>(g)[/code]

Możesz to badzo prosto rozwiązać dodając to do tego co już masz.

wojtex5
komentarz
komentarz (edytowane)

w C++ dostępną masz całą paletę kodów ASCI - demonstruje ją prościutki programik: [code]#include <iostream>
int main()
{
for(int i=0;i<256;i++)
{
std::cout<<i<<" "<< char(i)<<"\n"; //char(i) to to samo co static_cast<char>(i) -- to po prostu konwersja typów w stylu C
}
system("PAUSE");
}[/code]

wystarczy się przyjrzeć i widać, że litery małe zaczynają się od indexu 97, i przede wszystkim, że są ułożone alfabetycznie.

wystarczy to wykorzystać w twoim programie wraz z bardzo prostym wzorem: [code] static_cast<char>( i + static_cast<int>('a'));
//lub zapisane prościej:
char ( i + int('a') )[/code]
wystarczy to zastosować w pętli i zadanie zrobione :D

mw641
komentarz
komentarz

Zrobiłam coś takiego:
for ( int i=1; i<=n; i++)
{
for (int g=i; g<=n; g++)
cout << g<< char('a'+g-1) <<" " ;
cout << endl; }
Ale wydruk jaki otrzymałam to:
1a 2b 3c 4d 5e
2b 3c 4d 5e
3c 4d 5e
4d 5e
5e
Proszę napiszcie jak to poprawić.

leggo
komentarz
komentarz

[code]cout<< g<<static_cast<char>(g+95+i) <<" ";[/code]

mw641
komentarz
komentarz

Dziękuję Ci pięknie ! Bóg zapłać dobry człowieku.

Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!

Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Strona wykorzystuje pliki cookies w celu prawidłowego świadczenia usług i wygody użytkowników. Warunki przechowywania i dostępu do plików cookies możesz zmienić w ustawieniach przeglądarki.