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 [?]: dba00:
Tekst:

 
* Wysyłając formularz wyrażasz zgodę na przetwarzanie przekazanych danych w zakresie wskazanym w Regulaminie

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.
Korzystając z niej wyrażasz zgodę na przetwarzanie danych a zakresie podanym w Polityce Prywatności.
 
archive To tylko kopia strony wykonana przez robota internetowego! Aby wyświetlić aktualną zawartość przejdź do strony.

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