Тема: Бібліотечні функції для роботи зі символами та символьними рядками
Всі доброго вечора, потрібна допомога з ось такою задачею. Все потрбіно зробити на С
З клавіатури ввести символьний рядок. Перевірити, чи збігається друге слово цього рядка з його передостаннім словом. Якщо ні, то вивести відповідне повідомлення. Якщо ж слова збігаються, то вилучити з рядка друге слово, посунувши всі наступні слова ліворуч, та надрукувати скорочений рядок.
Ось приклад мого коду на С++( але він не сильно працює)
#include <iostream>
#include <cstring>
#include <cstdlib>
using namespace std;
int main()
{
char str[100], * w, * nn[100];
unsigned char count = 0;
cout << "Enter a string : ";
cin.getline(str, 100);
w = strtok(str, " ");
while (w != NULL)
{
nn[count++] = w;
w = strtok(NULL, " "); // проблема ось тут, компілятор жаліється на на те що замало аргументів для викликала функції
}
nn[count] = nn[count - 1] + strlen(nn[count - 1]);
if (count > 2)
{
if (strcmp(nn[1], nn[count - 1]) == 0)
{
cout << "Second word = last word." << endl;
char* i, * j;
for (i = nn[2], j = nn[1]; i <= nn[count]; ++i, ++j)
{
*j = *i;
if (*j == '\0') *j = ' ';
}
*(j - 1) = '\0';
*(str + strlen(str)) = ' ';
cout << str << endl;
}
else cout << "Second word != last word." << endl;
}
system("pause");
return 0;
}
Взагалі потрібно написати дві програми на С з використанням бібліотечної функції <cstdlib> і без неї(а я щось не вдупляю)