Здравствуйте! Помогите, пожалуйста, с решением такой задачи: составить программу, которая удаляла бы из строки слова, начинающиеся с одинаковой буквы. Я попытался сделать, но проблема в том, что почти во всех случаях программа удаляет все слова, кроме последнего, даже если они начинаются на разные буквы.
Код:
// ConsoleApplication10.cpp: определяет точку входа для консольного приложения.
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
void main()
{
char s[100];
int i = 0;
bool del = false;
ifstream F("C:\\labrab\\Input.txt");
ofstream f("C:\\labrab\\Result.txt");
while (!F.eof())
{
F >> s;
for (int j = i + 1; s[j] != '\0'; j++)
{
if ((s[j] == ' ') && (s[j + 1] == s[i])) //удаляем проверяемое слово
{
del = true;
j++;
int k = j, n = j;
while ((s[n] != '\0'))
{
for (k = j; (s[k] != '\0'); k++)
{
s[k] = s[k + 1];
}
n++;
}
}
}
if (del) //удаляем проверочное слово
{
int k = i + 1, n = i + 1;
while ((s[n] != '\0'))
{
for (k = i; (s[k] != '\0'); k++)
{
s[k] = s[k + 1];
}
n++;
}
del = false;
}
for (; (s[i] != '\0'); i++);
i++;
}
f << s << ' ';
f.close();
F.close();
}