Witamy na forum PC Format Zapraszamy do REJESTRACJI


Użytkownicy przeglądający ten wątek: 1 gości

[Zadanie]Wydruk na ekranie kolejnych liter alfabetu

#1
[Zadanie]Wydruk na ekranie kolejnych liter alfabetu
Używając operatora "reszta z dzielenia" - napisz program, który będzie wypisywał na ekranie kolejne litery alfabetu. Pierwszych osiem (A-H) ma być wypisanych po dwie litery w jednym rzędzie, a co do następnych, to program ma zadać użytkownikowi pytanie(po liter w rzędzie ma wypisywać dalej). Zależnie od tej odpowiedzi następne litery mają być wypisywane według nowej zasady.

Zadanie z Symfonia C++ standard - Jerzy Grębosz

Kod:
#include <iostream>
using namespace std;
int main()
{
    char litera;
    int ilosc;
    for(litera = 'A'; litera <= 'Z'; litera++)
    {

        if(litera <= 'H')
        {
            if(litera % 2)
            {
                cout << "\n";
            }
            cout << litera;
        }
            else
            {
               cout << "\nPo ile w rzedzie ma wypisywac dalej? ";
               cin >> ilosc;
                for(litera='I'; litera % ilosc; litera++)
                {
                   cout << "\n";

                }

                cout << litera;
            }


    }
}

Siedzę nad tym już długo i nie mogę rozkminić jak to zrobić.
Chodzi mi o tę 2 część polecenia (moje else) - jest u mnie całkowicie źle, ale nie wiem jak to napisać, by było okey.
Mógłby ktoś podpowiedzieć? Ale nie wstawić jakiś całkiem inny kod, tylko chciałbym moim sposobem to zrobić.

edit:
Tutaj trochę ładniej napisany kod:
http://wklej.org/id/1714145/
 System operacyjny: windows_seven Przeglądarka: chrome
#2
RE: [Zadanie]Wydruk na ekranie kolejnych liter alfabetu
Chodzi o coś takiego?
Kod:
#include <iostream>
using namespace std;

int main()
{
    int n, k;
    char i;
    for (i= 'A'; i <= 'H'; i+=2)
        cout << i << static_cast<char>(i+1) << '\n';
    cin >> n;
    for (i = 'I', k = 1; i <= 'Z'; i++, k++)
    {
        cout << i;
        if (k % n == 0)
            cout << '\n';
    }
    cout << endl;
    return 0;
}

Czyli w swoim kodzie w pętli dodaj warunek sprawdzający, czy licznik dzieli się przez podaną liczbę liter w rzędzie - wtedy wypisz po prostu znak nowej linii.
 System operacyjny: linux_ubuntu Przeglądarka: firefox
#3
RE: [Zadanie]Wydruk na ekranie kolejnych liter alfabetu
Tak chodzi dokładnie o taki efekt!

Nie bardzo rozumiem co mam konkretnie wstawić w warunek "licznik dzieli się przez podaną liczbę liter w rzędzie".
Liczbę liter w rzędzie zdeklarowałem jako "ilosc", czyli będzie "coś % ilosc" o to Ci chodzi, tak? Tylko co mam za "coś" wstawić?
 System operacyjny: windows_seven Przeglądarka: chrome
#4
RE: [Zadanie]Wydruk na ekranie kolejnych liter alfabetu
W drugiej pętli masz instrukcję
Kod:
cout << "\n";
Powinieneś ją opatrzyć warunkiem
Kod:
if ((litera-'H') % ilosc == 0)
A przed tym warunkiem umieścić instrukcję
Kod:
cout << litera;
którą umieściłeś poza pętlą. Ostatecznie blok else powinien wyglądać następująco:
Kod:
cout << "\nPo ile w rzedzie ma wypisywac dalej? ";
cin >> ilosc;
for(litera='I'; litera <= 'Z'; litera++)
{
   cout << litera;
   if ((litera-'H') % ilosc == 0) // u siebie mam dodatkową zmienną "k"
       cout << "\n";
}
 System operacyjny: linux_ubuntu Przeglądarka: firefox
#5
RE: [Zadanie]Wydruk na ekranie kolejnych liter alfabetu
Wystarczy samo:
Cytat:if (litera % ilosc == 0)
zamiast
Cytat: if ((litera-'H') % ilosc == 0)
prawda?

Bo szczerze mówiąc nie rozumiem po co to 'H' odjąłeś i żeby sobie nie komplikować sprawy wolałbym zostać przy wersji jaśniejszej dla mnie czyli bez tego odejmowania.
Efekt programu jest taki sam z tego co widzę.

I jeszcze jedno pytanko chyba będę miał - ale najpierw sam spróbuję, jeśli mi się nie uda, to zamieszczę tu te pytanie do 21:00. Jeśli nie zamieszczę do tego czasu, to znaczy, że poradziłem sobie z problemem. Także jakbyś jeszcze był to proszę zerknij.
 System operacyjny: windows_seven Przeglądarka: chrome
#6
RE: [Zadanie]Wydruk na ekranie kolejnych liter alfabetu
Możliwe, że wystarczyłaby ta zmiana, ale miałem wątpliwość i nie sprawdzałem, czy to zadziała (odejmując znak H sprawia identyczne działanie, co zmienna k w moim programie).
 System operacyjny: linux_ubuntu Przeglądarka: firefox
#7
RE: [Zadanie]Wydruk na ekranie kolejnych liter alfabetu
A jednak nie daje tego samego efektu. -H jest potrzebne
 System operacyjny: windows_seven Przeglądarka: chrome
Programy: Polecane / Nowe / Inne




Podobne wątki ([Zadanie]Wydruk na ekranie kolejnych liter alfabetu)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
Ściana Zadanie cmd.... Yanke$ 2 12663 16.03.2018, 17:20
Ostatni post: FireBytes
  C++ sprawdzenie warunku dla 4 kolejnych el. tablicy karlos1323 4 6944 29.12.2015, 23:29
Ostatni post: karlos1323
  Zadanie do wykonania w Ruby`m envy12 0 7459 05.12.2015, 16:04
Ostatni post: envy12

Skocz do:


Wybrane wątki ([Zadanie]Wydruk na ekranie kolejnych liter alfabetu)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Programowanie Batch (CMD) Informatyk2019 0 6292 11.12.2019 18:30
Ostatni post: Informatyk2019
  [JavaScript] Znajdowanie przedziału czasu rafal12999 0 2872 10.12.2019 17:58
Ostatni post: rafal12999
  Przekazywanie wskaźnika przez referencję w Qt Trojan3000 3 14249 10.12.2019 13:16
Ostatni post: Ajgor
  Proszę o pomoc w uzupełnieniu ankiety dt. Zawodu Programisty MaleMonki 0 3384 17.11.2019 12:47
Ostatni post: MaleMonki
  Spring framework – jakie strony polecacie do nauki? olek23 5 8256 15.11.2019 15:57
Ostatni post: Alsenas
  Programowanie windy (problem) w C++ mysza2323 2 7395 06.11.2019 23:04
Ostatni post: mysza2323
  Programy w C ~Anonim 1 7631 22.10.2019 17:48
Ostatni post: Szachista
  Książki do nauki C# olek23 14 22184 17.10.2019 13:06
Ostatni post: Ajgor
  Wyświetlanie informacji z bazy danych na stronie www PitPlay 1 8623 16.09.2019 11:18
Ostatni post: Ajgor
  Błąd przy uruchamianiu programu w Java z wiersza poleceń Physicist 3 4640 30.08.2019 14:16
Ostatni post: Physicist
  Python z wiersza poleceń Physicist 15 23056 21.08.2019 20:14
Ostatni post: Physicist
  Transfer plików via FTP Visual Basic FireBytes 3 7148 15.08.2019 07:41
Ostatni post: Szachista
  Menu wysuwane z boku patryk67 1 8378 07.08.2019 12:43
Ostatni post: aht
  Visual Basic Excel l.całkowitą przedstawić w postaci szesnastkowej fugaz 4 10356 18.06.2019 21:36
Ostatni post: fugaz
  Nauka do Olimpiady Informatycznej? piotr0905 1 9745 08.06.2019 16:50
Ostatni post: wlisik