﻿#include <iostream>
using namespace std;

int hossz(char str[])
{
    int i = 0;
    while (str[i] != '\0')
        i++;

    return i;
}


// Visszatéríti a betu első előfordulásának
// helyét str-ben (vagy -1-et ha nincs benne).
int keres(char str[], char betu)
{
    for (int i = 0; str[i] != '\0'; i++){
        if (str[i] == betu)
            return i;
    }
    return -1;
}


// Visszatéríti a mit első előfordulásának
// helyét a hol-ban (vagy -1-et ha nincs benne).
int keres_str(char hol[], char mit[])
{
    int len_hol = hossz(hol);
    int len_mit = hossz(mit);

    int kezd = 0;

    while(kezd <= len_hol - len_mit){
        bool mind_jo = true;

        for(int i = 0; i < len_mit && mind_jo; i++){
            if(hol[kezd+i] != mit[i])
                mind_jo = false;
        }

        if(mind_jo)
            return kezd;

        kezd++;
    }

    return -1;
}



int main()
{
    // Betű keresése stringben:

    char str[] = "hello, world!";
    cout << keres(str, 'o') << endl;
    cout << keres(str, 'X') << endl;

    // String keresése stringben:
    char hol[] = "alma almafak almafa";
    char mit1[] = "almafa";
    char mit2[] = "korte";

    cout << keres_str(hol, mit1) << endl; // 5
    cout << keres_str(hol, mit2) << endl; // -1

    // HF: karakter és string keresése stringben,
    // de nem az első, hanem az utolsó előfordulás
    // érdekel.

    return 0;
}
