Hejka,
Dziś od magicznego ćwiczeniowca otrzymaliśmy zadanko, na które nie miałem czasu bo nie wiedziałem czy poprawnie je zrozumiałem.
V. [2 pkt.] Dana jest stuelementowa tablica zmiennych typu char. Wprowadź do niej dowolny ciąg znaków i sprawdź, czy zawiera ona ciągi znaków, które byłyby palindromami. Wypisz na konsolę tylko najkrótszy palindrom w całym ciągu. W zadaniu użyj wskaźników.
Nie będę zamieszczał wszystkich funkcji bo nie ma sensu.
Zadanko zrobiłem to na tej zasadzie, i nie wiem czy zostanie zaakceptowane, stąd moje pytanko do was.
#include<iostream>
using namespace std;
int len(char* cr)
{
... // Zwracam dlugosc ciagu char.
}
int isPalindrom(char* cr)
{
... // Sprawdzam palindrona i wyswietlam 0 (flase), 1 (true).
}
main()
{
char **moja_tablica_ze_wskaznikami = {"ALA", "ALLA", "ALLLLA", "DABCCBAD"}; // pominalem to ze dziala ;) nie chce pisac tutaj wczesniejszego przypisania wartosci/adresu z innej tablicy, zalozmy ze to dziala.
// lece teraz forem po wszystkim
for (int i = 0; i<=sizeof(moja_tablica_ze_wskaznikami );i++)
{
// Sprawdzam czy moja_tablica_ze_wskaznikami [i] jest palindormem.
// jezeli jest to sprawdzam dlugosc...
if ( tymczas > len(moja_tablica_ze_wskaznikami[i]))
{
tymczas = liczba;
index = i;
}
// de buuguje wszystko
}
}
Po wywyolaniu tego kodu, wyrzuca mi ze "ALLA" jest najkrotszym palindromem z sizem 4 etc. ale czy o to oby napewno chodzilo?
Zastanawiam sie nad tym bo tu jest napisany niby jeden ciag (tak rozumiem to zadanie z drugiej storny) i tam jakos sprawdzic palindrony w ciagu??? Jezeli o to by chodzilo to jak to logicznie udzwignac?
Pozdrawiam, M.