• 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,608 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ź 499 wizyt
pytanie zadane 13 sierpnia 2020 w JavaScript przez Renzov Obywatel (1,220 p.)
0 głosów
3 odpowiedzi 983 wizyt
pytanie zadane 12 lipca 2018 w PHP przez Q7V Gaduła (4,250 p.)
0 głosów
2 odpowiedzi 14,347 wizyt

93,604 zapytań

142,526 odpowiedzi

322,991 komentarzy

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

Kursy INF.02 i INF.03
...