Hej mam takie zadanie:
W pliku napisy.txt znajduje się 200 wierszy, z których każdy zawiera dwa napisy o długości od 1 do 50 znaków, oddzielone pojedynczym odstępem. Napisy składają się wyłącznie z małych liter alfabetu angielskiego. Napisz program (lub kilka programów), który pozwoli rozwiązać poniższe zadania. Odpowiedzi zapisz w pliku wyniki.txt.
1.
Oblicz, w ilu wierszach jeden (którykolwiek) z napisów jest przynajmniej trzy razy dłuższy od drugiego.
Jako odpowiedź wypisz liczbę takich wierszy oraz parę napisów z pierwszego z nich.
2.
Znajdź (i wypisz) wszystkie takie wiersze pliku, w których drugi napis da się otrzymać z pierwszego przez dopisanie na jego końcu pewnej dodatniej liczby liter (na przykład kot i kotara). Dla każdego wiersza podaj oba znajdujące się w nim napisy, a osobno wypisz litery, które należy dopisać.
Zadanie 1 juz zrobiłem, zostało mi 2. Do tej pory napisałem to:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
string s1[200],s2[200];
ifstream napisy;
napisy.open("napisy.txt");
{
for(int i=0; i<200; i++)
{
napisy>>s1[i];
napisy>>s2[i];
}
for(int i=0; i<200; i++)
{
if(s1[i].length()>s2[i].length())
{
bool git=true;
for(int j=0; j<s1[j].length(); j++)
if(s1[j]!=s2[j])
git=false;
if (git)
{
cout<<s1<<s2;
}
}
}
}
napisy.close();
return 0;
}
Problem leży tu, że po wystartowaniu programu nic mi nie wypisuje. Co radzicie?