• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

String wypiszanie myślnika pomiędzy literkami

Object Storage Arubacloud
0 głosów
206 wizyt
pytanie zadane 13 kwietnia 2016 w C i C++ przez veryhotshark Obywatel (1,620 p.)

witam mianowicie chodzi mi o to tak jak jest w tym programie żeby uzytkownik podał jakieś zdanie np.

ANIA i program wypisał A-N-I-A i chciałbym żeby nie było na końcu myślnika tak jak u mnie oraz czy można by było zrobić tak żeby myślnik się pojawiał co dwie literki czyli AN-IA

dziękuje

#include <iostream>

using namespace std;

string zdanie;

int main()
{
    cout << "podaj zdanie: " ;
    cin>>zdanie;

    int dlugosc=zdanie.length();
    for(int i=0;i<dlugosc;i++)
    {

       cout<<zdanie[i]<<"-";
    }

    return 0;
}

 

2 odpowiedzi

+1 głos
odpowiedź 13 kwietnia 2016 przez jeremus Maniak (59,720 p.)

int dlugosc=zdanie.length()-1;  // o jeden mniej

a po pętli 

dodaj cout<<zdanie[dlugosc]

a po dwa znaki to po prostu wypisuj po dwie literki - 

 

komentarz 13 kwietnia 2016 przez veryhotshark Obywatel (1,620 p.)
niestety nie rozumiem czy mógłby mi pan podesłać gotowca coś próbowałem ale i tak ie wyszlo
komentarz 13 kwietnia 2016 przez jeremus Maniak (59,720 p.)
// masz to ten trudniejszy przypadek  "-" co dwa znaki
// a co jeden zrób sam 
int dlugosc=zdanie.length()-2;
    for(int i=0;i<dlugosc;i++)
    {
       cout<<zdanie[i];
       i++;
       cout<<zdanie[i]<<"-";
    }
    cout<<zdanie[dlugosc];
    cout<<zdanie[dlugosc+1];

 

komentarz 13 kwietnia 2016 przez veryhotshark Obywatel (1,620 p.)
bardzo dziękuje :D
0 głosów
odpowiedź 13 kwietnia 2016 przez Sedi Stary wyjadacz (10,200 p.)
Wbrew pozorom nie jest to takie proste zadanie :)

Nie dam Ci jednak gotowca, ale napiszę, że mógłbyś zamiast jedno pole skakać co dwa pole i zobacz co się będzie działo :)
komentarz 13 kwietnia 2016 przez veryhotshark Obywatel (1,620 p.)
właśnie nie wiem jak to zrobić :)

jak w petli for w warunku dałem i+2 zamiast i++

to mi nieskończona petla wychodziła nie wiem czemu
komentarz 13 kwietnia 2016 przez Ukis Gaduła (4,580 p.)
Bo powinieneś wpisać i+=2, żeby przypisać wartość i do następnego kroku. W przeciwnym wypadku i będzie miało taką samą wartość w każdej następnej iteracji i wyjdzie pętla nieskończona.
komentarz 13 kwietnia 2016 przez Sedi Stary wyjadacz (10,200 p.)

i+2 nie jest tym samym co i=i+2. Jeśli chciałbyś zapisać krócej dodanie dwa w każdej iteracji, zapisz:

i+=2;

Pętla nieskończona dlatego, że :

  1.  i+2, to nie jest to samo co i=i+2;
  2. i+2 powoduje, że wykonuje się dodawanie i do dwóch, ale nigdzie WYNIK się nie zapisuje. Pętla for działa w ten sposób:
  3. 
    for(odkąd,dokąd,o_ile_się_ruszamy)
  4. Przez co i+2 spowodowało, że nie działał ostatni warunek, czyli o ile się ruszamy. W związku z tym zapis:
  5. for(int i=0;i<dlugosc;i+2)

    jest rownoznaczny z zapisem:

  6. for(int i=0;i<dlugosc)

     

Pozdrawiam ;) 

komentarz 13 kwietnia 2016 przez veryhotshark Obywatel (1,620 p.)
a wie pan może jak zrobić to zadanie?

Podobne pytania

0 głosów
1 odpowiedź 278 wizyt
pytanie zadane 30 maja 2016 w C i C++ przez xjakubekx Obywatel (1,280 p.)
0 głosów
1 odpowiedź 1,879 wizyt
pytanie zadane 9 lutego 2020 w C i C++ przez dario Nowicjusz (200 p.)
0 głosów
1 odpowiedź 903 wizyt
pytanie zadane 17 października 2019 w C# przez pitersooon98 Nowicjusz (200 p.)

92,584 zapytań

141,433 odpowiedzi

319,668 komentarzy

61,966 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...