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

wprowadzanie znaków do zmiennej string z pętli

0 głosów
1,684 wizyt
pytanie zadane 23 października 2018 w C i C++ przez web Nowicjusz (160 p.)
Czołem

string zdanie;
string slowo;

Chcę wprowadzone, kilkuwyrazowe zdanie "przeleciec" w pętli od pierwszego znaku aż do ostatniego.

Gdy znaki nie będą spacją, chcę je wprowadzać do kolejnej pozycji w zmiennej slowo aż do napotkania spacji;

Niestety, gdy to się skończy, nie mogę zmiennej slowo wyświetlić za pomocą cout << slowo;

Nie moge też sprawdzić dlugosci tekstu w zmienne slowo za pomoca slowo.length();

Jaki błąd popełniam???
komentarz 23 października 2018 przez DragonCoder Nałogowiec (36,500 p.)
Kod udostępnisz?
komentarz 23 października 2018 przez web Nowicjusz (160 p.)
edycja 23 października 2018 przez web

program do wyświetlania w rzędach tych slow ze zdania, ktore sa palindromami
 

 

#include <iostream>
#include <string>

using namespace std;

int main()
{
  string zdanie,slowo;
  int dlugosc,dlugosc_slowa,srodek_slowa;
  int licznik=0;
  int licz=0;

  cout << "wprowadz zdanie" << endl;
  getline(cin, zdanie);
  dlugosc = zdanie.length();

    for(int i=0;i<dlugosc;i++)
    {
       if(zdanie[i]!=' ')
       {
        slowo[licz]= zdanie[i];
        licz++;
       }
       if(zdanie[i]==' ')
       {
           dlugosc_slowa = slowo.length();
           srodek_slowa = dlugosc_slowa/2;
           licz=0;

           for(int j=0;j<srodek_slowa;j++)
           {
               if(slowo[j]!=slowo[dlugosc_slowa-1-j])
                  licznik++;
           }

           if(licznik==0)  
               cout << slowo << endl;  //jesli palindrom to wyswietli slowo
       }

       slowo = "";   //zerowanie zmiennej slowo
       licznik = 0;    //zerowanie licznika palindromu

    }

    cout <<  endl;
    return 0;
}

 

komentarz 23 października 2018 przez DragonCoder Nałogowiec (36,500 p.)
Za kazdym obejsciem petli ustawiasz slowo na puste, tak samo z licznikiem, z kazdym oberjsciem ustawiasz go na 0. Czyli do slowa chcesz wprowadzic tylko jedno slowo z calego zdnia? Bo wychodzi na to, ze ma w slowie byc wyraz do 1 spacji. Oprocz tego sprawdzajac do zmiennej slowo nie sa dodawane znaki.

https://4programmers.net/Forum/Newbie/203989-zczytywanie_stringow_do_spacji_i_zapisywanie_do_tablicy

1 odpowiedź

0 głosów
odpowiedź 23 października 2018 przez jeremus Maniak (59,720 p.)
// ten fragment  np. tak gdzie doklejasz znak do słowa
       if(zdanie[i]!=' ')
       {
        slowo+=zdanie[i];
       }

// a zerowanie w ifie gdzie znak == spacja , bo teraz zerujesz słowo po każdym znaku

 

Podobne pytania

0 głosów
1 odpowiedź 564 wizyt
pytanie zadane 13 sierpnia 2020 w JavaScript przez Renzov Obywatel (1,220 p.)
0 głosów
3 odpowiedzi 1,076 wizyt
pytanie zadane 12 lipca 2018 w PHP przez Q7V Gaduła (4,250 p.)
0 głosów
2 odpowiedzi 14,525 wizyt

93,731 zapytań

142,668 odpowiedzi

323,286 komentarzy

63,289 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...