Cod sursa(job #2213228)

Utilizator Alex03Runcan Alexandru Alex03 Data 15 iunie 2018 20:26:03
Problema Potrivirea sirurilor Scor 38
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <iostream>
#include <fstream>
#include <string>

using namespace std;

ifstream fin  ("strmatch.in");
ofstream fout ("strmatch.out");

int main()
{
    int n = 0,pos[1001];
    string sir1,sir2;
    getline(fin , sir1);
    getline(fin , sir2);
    if (sir1.length() > sir2.length()) fout << '0';
    else
    {
        for (int i = 0; i <= sir2.length() -1 ; i++)
        {
            if (sir2.substr(i,sir1.length()) == sir1)
            {
                n++;
                pos[n] = i;
                if (n == 1000) break;
            }
            if (sir2.length() - 1 - i == sir1.length()) break;
        }
        fout << n << endl;
        for (int i = 1; i <= n ; i++)
        fout << pos[i] << ' ';
        fin.close();fout.close();
    }
    return 0;
}