Wątek przeniesiony 2019-08-11 22:07 z przez kq.

Jak rozwinąć wyraz

Odpowiedz Nowy wątek
2019-08-11 22:04
0

Mam do napisania program, który z wyrazu A4BD powinien wydrukować AAAABD. Mam już warunek, ale nie wiem co wpisać w pętli while. A poza tym nic się nie wypisuje. Ktoś coś?

#include <iostream>
#include <string>
#include <cctype>

using namespace std;

int main()
{
    string wyraz = "A4BD";
    int dlugoscWyrazu = wyraz.length();
    int liczba;
    char znak;

    for(int i = 0; i < dlugoscWyrazu; i++)
    {

        if(wyraz[i] == isdigit(wyraz[i]))
        {
            while(true)
            {
                cout << wyraz;
            }

        }
        else
        {
            //cout << wyraz[i];
        }
    }

    return 0;
}

Pozostało 580 znaków

2019-08-11 22:18
kq
1
if(wyraz[i] == isdigit(wyraz[i]))

sprawdzasz czy litera... jest równa prawdzie lub fałszowi - to nie ma sensu. Zastanów się co chcesz sprawdzać, opisz to własnymi słowami, a potem to zakodujemy.


Pozostało 580 znaków

2019-08-11 22:21
0
kq napisał(a):
if(wyraz[i] == isdigit(wyraz[i]))

sprawdzasz czy litera... jest równa prawdzie lub fałszowi - to nie ma sensu. Zastanów się co chcesz sprawdzać, opisz to własnymi słowami, a potem to zakodujemy.

Chcę sprawdzić czy w stringu jest jakaś liczba. Jeśli jest to powinnam wypisać znak poprzedni tyle razy ile pokazuje cyfra

Pozostało 580 znaków

2019-08-11 22:31
0

No to warunek to if(isdigit(wyraz[i]))


Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...

Pozostało 580 znaków

2019-08-11 22:33
1
Magda Pietrzykowska napisał(a):

Chcę sprawdzić czy w stringu jest jakaś liczba. Jeśli jest to powinnam wypisać znak poprzedni tyle razy ile pokazuje cyfra

Która cyfra? Pierwsza cyfra w tej liczbie?

Pozostało 580 znaków

2019-08-11 22:36
kq
0

Zdaję sobię sprawę jakie jest zadanie, ale pytałem o tamtą konkretną linijkę. Shalom podał rozwiązanie, ale fajnie by było żebyś rozumiała dlaczego tak, a nie inaczej.


Pozostało 580 znaków

2019-08-11 22:52
0
Burmistrz napisał(a):
Magda Pietrzykowska napisał(a):

Chcę sprawdzić czy w stringu jest jakaś liczba. Jeśli jest to powinnam wypisać znak poprzedni tyle razy ile pokazuje cyfra

Która cyfra? Pierwsza cyfra w tej liczbie?

Niekoniecznie pierwsza. Może też być coś takiego, np.A4BD3 i wtedy AAAABDDD

Pozostało 580 znaków

2019-08-11 22:58
0
kq napisał(a):

Zdaję sobię sprawę jakie jest zadanie, ale pytałem o tamtą konkretną linijkę. Shalom podał rozwiązanie, ale fajnie by było żebyś rozumiała dlaczego tak, a nie inaczej.

Teraz już rozumiem. Dzięki wielkie

Pozostało 580 znaków

2019-08-11 23:02
2
Magda Pietrzykowska napisał(a):
Burmistrz napisał(a):
Magda Pietrzykowska napisał(a):

Chcę sprawdzić czy w stringu jest jakaś liczba. Jeśli jest to powinnam wypisać znak poprzedni tyle razy ile pokazuje cyfra

Która cyfra? Pierwsza cyfra w tej liczbie?

Niekoniecznie pierwsza. Może też być coś takiego, np.A4BD3 i wtedy AAAABDDD

Nie o to mi chodziło. Może zakładasz, że wszystkie liczby będą jednocyfrowe i dlatego nazywasz całe te liczby cyframi, dlatego nie widzisz żadnego problemu. Jeśli tak, to nie było tematu.

edytowany 1x, ostatnio: Burmistrz, 2019-08-11 23:03

Pozostało 580 znaków

2019-08-11 23:02
0
Burmistrz napisał(a):
Magda Pietrzykowska napisał(a):
Burmistrz napisał(a):
Magda Pietrzykowska napisał(a):

Chcę sprawdzić czy w stringu jest jakaś liczba. Jeśli jest to powinnam wypisać znak poprzedni tyle razy ile pokazuje cyfra

Która cyfra? Pierwsza cyfra w tej liczbie?

Niekoniecznie pierwsza. Może też być coś takiego, np.A4BD3 i wtedy AAAABDDD

Nie o to mi chodziło. Może zakładasz, że wszystkie liczby będą jednocyfrowe i nazywasz te liczby cyframi, dlatego nie widzisz żadnego problemu. Jeśli tak, to nie było tematu.

A jaki byłby problem jeśli w wyrazie pojawiłyby się liczby?

Pozostało 580 znaków

2019-08-11 23:12
3
Magda Pietrzykowska napisał(a):

A jaki byłby problem jeśli w wyrazie pojawiłyby się liczby?

Liczby jednocyfrowe to też liczby, ale domyślam się, że w tym pytaniu chodziło Ci o te wielocyfrowe. Pewnie problem byłby taki, że w Twojej wersji programu każda cyfra w wejściowym stringu będzie oznaczała, ile razy poprzedzający ją znak (niekoniecznie litera) pojawi się w wyjściowym stringu. Więc każda cyfra, która nie jest na pierwszej pozycji w liczbie, będzie oznaczała, ile razy poprzedzająca ją cyfra pojawi się w wyjściowym stringu.

Przykład:

Input: A23BC
Output: AA222BC
edytowany 1x, ostatnio: Burmistrz, 2019-08-11 23:13

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0