Forum

Palindromy i wskazniki

[+] Twoje konto

Subskrybuj kanał najnowszych wypowiedzi w tym temacie

Wątek Forum > Komentarze > Moje programy i teksty > Palindromy i wskazniki

Idź do strony:1
Ocena: (Ocen: 0)
Wypowiedzi 1 - 3 z 3
 Gość Woo Kopiuj nick (83.17.147.*)
Wypowiedź dodana: 30 października 2005, 20:32:09
« Opcje

Witam!

Mam problem z programem rozpoznajacym palindromy. Otoz cokolwiek wpisze, program podaje ze to palindrom.
Chyba cos jest nie tak z wskaznikami, i niewiem co . Jak rozumiem program ma za zadanie pobrac ciag znakow i kolejno porownywac znaki pierwszy z ostatnim drugi z przedostatnim itd.
W przypadku gdy jest spelniony warunek(wyraz to palindrom) zwraca wartosc 0 co powoduje wyswatnienie komunikatu "Podany lancuch jest palindormem!" Dobrze mysle?
Musialem zmienic troche tresc bo uzywam DevC++;

A wyglada to tak:

#include <iostream>
#include <string.h>

using namespace std;

int sprawdz(char *str, int start)
{
int koniec=(strlen(str)-start-1);

while((start<koniec)||(str[start]==' ')) start++;
while((start<koniec)||(str[koniec]==' ')) koniec--;

if (start>=koniec) return 1;

if (str[start]!=str[koniec]) return 0;
else return sprawdz(str,start+1);
}

main()
{
char *str;

cout<<"Podaj tekst: ";
str=new char[255];
cin >> str;

str=strlwr(str);

if (sprawdz(str,0)) cout<<"Podany lancuch jest palindormem!
";
else cout <<"To nie jest palindorm
";

system("Pause");

delete []str;
}

Moze mi ktos wytlumaczyc co jest nie tak?

 Gość REKLAMA Kopiuj nick (*->*)
Wypowiedź dodana: 30 października 2005, 20:32:10

AvatarAdministrator Dżyszla Mężczyzna Kopiuj nick (83.17.207.*) |  
Wypowiedź dodana: 2 listopada 2005, 11:14:41
« Opcje

Jest mały błąd w pętlach w funkcji sprawdź. Zamiast warunku OR (||) powinien być AND (&&).
Oto poprawna funckja sprawdź (VC++)

int sprawdz(char *str, int start)
{
int koniec=strlen(str)-start-1;

while((start<koniec)&&(str[start]==' ')) start++;
while((start<koniec)&&(str[koniec]==' ')) koniec--;

if (start>=koniec) return 1;

if (str[start]!=str[koniec]) return 0;
else return sprawdz(str,start+1);
}


mgr inż. Dżyszla

Nie odpisuję na problemy zgłaszane na e-mail lub PW!

Także dzięki firmie Netlook.pl możesz za darmo korzystać z tej strony!

 Zarejestrowany, zwieszony Woo Kopiuj nick (83.17.147.*) |  
Wypowiedź dodana: 6 listopada 2005, 11:34:28
« Opcje

Thnx dziala:)

 
Idź do strony:1

[+] Pokaż/odśwież listę czytających i monitorujących ten wątek

Podobne tematy:
Tytuł wątkuDziałWypowiedziWyświetleńOcenaOstatnia wypowiedź

Nowa wypowiedź

Nowa wypowiedź
Nie jesteś zalogowany; będziesz traktowany jako gość!
Zaloguj Zaloguj
Nick (gość): | Przepisz ten kod [?]: 52607:
Tekst:

 

Subskrybuj kanał najnowszych wypowiedzi w tym temacie


Chcesz mieć też takie forum na swojej stronie? Napisz!

Strona istnieje od 25.01.2001
Ta strona używa plików Cookie
 
archive To tylko kopia strony wykonana przez robota internetowego! Aby wyświetlić aktualną zawartość przejdź do strony.
Ładowanie...

Optymalizowane dla przeglądarki Firefox
© Copyright 2001-2017 Dawid Najgiebauer. Wszelkie prawa zastrzeżone.
Ostatnia aktualizacja podstrony: 22.09.2014 12:12
Wszystkie czasy dla strefy czasowej: Europe/Warsaw