• 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

VPS Starter Arubacloud
0 głosów
255 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ź 341 wizyt
pytanie zadane 30 maja 2016 w C i C++ przez xjakubekx Obywatel (1,280 p.)
0 głosów
1 odpowiedź 2,059 wizyt
pytanie zadane 9 lutego 2020 w C i C++ przez dario Nowicjusz (200 p.)
0 głosów
1 odpowiedź 1,070 wizyt
pytanie zadane 17 października 2019 w C# przez pitersooon98 Nowicjusz (200 p.)

93,020 zapytań

141,982 odpowiedzi

321,283 komentarzy

62,366 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

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...