Zdravím mám za úkol naprogramovat program na hledani retezce.. Program zhruba mám, ale nepracuje spravne...
priklad
Zadejte retezec, hledany retezec a znak:
TheyseekHIMheretheySEEKhimthere ThEy h
Retezec 'ThEy' nalezen na pozici: 0, 15
Znak 'h' byl nalezen 5 krat.
Prosím o radu, kde je chyba..
#include <iostream>
#include <string.h>
#include <stdio.h>
using namespace std;
int main()
{
char retezec[100], podretezec[100];
char *vysledek;
char znak;
int pozice, velikost, x=0;
cout << "Zadejte retezec, hledany retezec a znak:" << endl;
cin >> retezec >> podretezec >> znak;
vysledek=strstr(retezec,podretezec);
velikost=strlen(retezec);
if (vysledek==0)
{
cout << "Retezec'" << podretezec << "' nenalezen" << endl;
}
else
{
pozice=velikost-strlen(vysledek);
cout << "Retezec '" << podretezec << "' nalezen na pozici: " << pozice;
vysledek++;
while ((vysledek=strstr(vysledek,podretezec))!=0)
{
if (vysledek!=0)
{
cout << ", ";
pozice=velikost-strlen(vysledek);
cout << pozice;
vysledek++;
}
}
cout << endl;
}
cout << "Znak '" << znak << "' byl nalezen ";
for (int i=0;i<velikost;i++)
{
if (retezec[i]==znak)
{
x++;
}
}
cout << x << " krat." << endl;
return 0;
}