Hej, od paru godzin mecze sie z tym blahym zadaniem. Nie moge poradzic sobie z wymysleniem uzycia petli w takiej sytuacji, ze mam podane dwa wyrazy np:
abbbbc oraz bbabbc i musze potwierdzic lub zaprzeczyc czy te slowa maja te same litery. Probowalem zrobic cos w stylu:
char *p, *d;
int i,b;
int main()
{
p="abc";
d="abc";
for (i=0; i<=2; ++i)
{
if(p[i] == d[i])
{
b = 0;
while(p[i] != d[b])
{
++b;
printf("tak");
}
}
}
}
Ale wynikiem jest 3 krotne "tak". Nie wiem jak to ogarnac aby dzialalo w sposob nastepujacy (taki przynajmniej algorytm wydaje mi sie dobrym rozwiazaniem):
Wpisujemy abc/acb
Porownujemy:
Jesli p[0] == d[0] to sprawdzamy dla p[0] == d[0+1] i tak dalej az do przypadku kiedy bedzie to falsz i wtedy p[1] == d[0], p[1] == d[2] p[1] == d[2]
i tak w kolko az rozpatrzymy kazda mozliwa opcje.
Poratujcie, juz powoli trace wiare
//EDIT
Chodzi mi o zapetlenie tego typu warunkow:
if(p[0] == d[0])
{
if(p[1] == d[1])
{
if(p[2] == d[2])
{
printf("TAK");
}
}
else if(p[0] == d[1])
{
if(p[1] == d[2])
{
if(p[2] == d[0])
{
printf("TAK");
}
}
}
}
else if(p[1] == d[0])
{
if(p[2] == d[1])
{
if(p[0] == d[2])
{
printf("TAK");
}
}
}