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

Program, który wypisze wszystkie palindromy z danego tekstu(założenie że spacja rozdziela dwa palindromy)

Object Storage Arubacloud
0 głosów
1,033 wizyt
pytanie zadane 13 września 2016 w C i C++ przez Digir Nowicjusz (150 p.)

Witam. W czasie pisania programu napotkałem problem, którego nie potrafię rozwiązać. Mój pomysł na program to umieszczenie każdego słowa pojedynczo w tablicy ,,slowo'', tylko nie wiem jak to zapisać. Wymyśliłem coś takiego w programie poniżej, ale wypisując cout'em konkretny numer tablicy nic nie wyświetla. Proszę tylko o podpowiedź odnośnie jak powkładać każde słowo do tablicy ,,slowo'', a może ktoś ma inny pomysł? :) Z resztą zadania poradzę sobie sam. 

 

 

#include <iostream>

using namespace std;

string tekst, slowo[20];
int main()
{

    cout << "Tekst: ";
    getline(cin, tekst);

    for(int i=0;i<tekst.length();i++)
    {
        for(int x=0;x<tekst.length();x++)
        {
            if(tekst[i]==' ') slowo[x+1];
        }
    }
    cout << slowo[0]<<endl;
    cout << slowo[1];
    return 0;
}

 

2 odpowiedzi

+1 głos
odpowiedź 14 września 2016 przez niezalogowany
edycja 30 sierpnia 2017
 
Najlepsza

Przy użyciu std::vector można by to zrobić tak:

#include <iostream>
#include <vector>

using namespace std;

int main()
{
    vector<string> slowo(20); // ogólnie mówiąc dynamiczna tablica 20 elementów typu string (już wczyszczona)
    string tekst;

    cout << "Tekst: ";
    getline(cin, tekst);

    int nr_slowa=0;
    for(int j=0;j<tekst.length();j++)
    {
        if(tekst[j]==' ') 
        {
            nr_slowa++;
        }
        else 
        {
            slowo[nr_slowa].push_back(tekst[j]); // Umieszczenie litery j tekstu w slowo[nr_slowa]
        }
    }

    for(int i=0;i<slowo.size();i++)
    {
        cout<<slowo[i]<<endl;
    } 

    return 0;
}

Zapisuje to po kolei najpierw litery do pierwszego słowa, a gdy wystąpi spacja to przeskakuje do kolejnego słowa.

0 głosów
odpowiedź 13 września 2016 przez nauwalis Mądrala (7,350 p.)
Najpierw to trzeba coś wrzucić w pętlę, żeby wczytywało. Lepiej wczytywać po znaku do tablicy, popierwsze szybciej. Jest też funkcja w cpp reference.

Podobne pytania

0 głosów
0 odpowiedzi 248 wizyt
+1 głos
0 odpowiedzi 183 wizyt
0 głosów
2 odpowiedzi 823 wizyt
pytanie zadane 20 marca 2019 w C i C++ przez abcd Początkujący (290 p.)

92,632 zapytań

141,500 odpowiedzi

319,880 komentarzy

62,013 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!

...