Pomoc laikowi w odniesieniu sie do zmiennej

0

Witam, dopiero uczę się programować w c++ dlatego moje pytanie dla niektórych może się wydawać banalne ale proszę o wyrozumiałość. Postanowiłem porobić sobie zadania z matury z informatyki z 2010 r. Jedno z nich polega na sprawdzeniu czy podane słowo jest palindromem. Koncepcje na program mam. Tylko nurtuje mnie jedna rzecz a mianowicie: jak odwołać się do konkretnego słowa w danych. Otóż do zadania muszę wczytać dane z pliku txt dzielone enterami tzn:
BFDAFBCCGBDIIEDCJAACDF
ADFBJADEAJAAD
EFCCCEBFFCBABEAEBAFGC
HGCDCECECADBFCBAGH

i cały czas główkuje jak odnieść się do samego np ADFBJADEAJAAD gdyż moim pomysłem jest sprawdzanie pierwszego znaku w podanym slowie z ostatnim i jesli sie rowna to 2 z przed ostatnim ect.

Mam nadzieje ze zrozumiecie o co mi chodzi.
Z góry wielkie dzieki :)

0

Nie chce mi się szukać tego zadania ale o ile pamiętam program ten miał tylko wczytać z pliku wyrazy i wypisać, który to palindrom, a który nie. W każdym razie do tego zadania raczej nie potrzebujesz przechowywać tych wszystkich wyrazów w pamięci. Proponowałbym wczytywać pojedynczo wyraz, przepuszczać go przez funkcję określającą czy jest palindromem lub nie i wypisać wynik (czy co tam trza było zrobić). Jeśli natomiast dobrze zrozumiałem twoje pytanie to chcesz wczytać wszystko z pliku i potem odwołać się do dowolnego wyrazu? Potrzebowałbyś w takim razie przechowywać te wyrazy w jakimś kontenerze lub tablicy stringów.

0

Zadeklaruj zmienną: string st;
Po otwarciu pliku instrukcją: getline(cin,st);
pobieraj kolejne stringi z pliku i poddawaj je obróbce.

0

Oki dzięki wielkie, mam to co chciałem, zrobiłem to za pomocą getline :)

   string linie[1000];
    fstream plik;
    string nazwa = "dane.txt";

    plik.open(nazwa.c_str(), ios::in);
    int i = 0;
    do
    {
        plik >> linie[i]; 
        i++;
    }
    while(getline(plik,nazwa));
    plik.close(); 
0

Oj nie tak, nie tak.

   string linie[1000];
    fstream plik;
    string nazwa = "dane.txt";
 
    plik.open(nazwa.c_str(), ios::in);
    int i;
    for (i = 0; i < 1000; i++) {
    {
        if (!getline(plik, linie[i])) break;
    }
    plik.close(); 

1 użytkowników online, w tym zalogowanych: 0, gości: 1