Предмет:
ИнформатикаАвтор:
hilariónОтвет:
Нижче наведено програму на мові C++, яка виконує задану операцію. Вона включає функцію findWordNumber, яка обробляє заданий рядок і повертає порядковий номер слова, яке накриває задану позицію.
#include <iostream>
#include <fstream>
#include <string.h>
using namespace std;
// Функція для обробки рядка та пошуку номера слова, яке накриває задану позицію
int findWordNumber(char str[], int pos) {
int wordCount = 0;
int len = strlen(str);
bool wordFound = false;
for (int i = 0; i < len; i++) {
if (!wordFound && str[i] != ' ') {
wordFound = true;
wordCount++;
}
else if (wordFound && str[i] == ' ') {
wordFound = false;
}
if (i == pos) {
return wordCount;
}
}
// Якщо позиція перевищує довжину рядка, то повертаємо номер останнього слова
if (pos >= len) {
return wordCount;
}
return -1; // Якщо позиція не знайдена
}
int main() {
// Відкриття файлу з вхідними даними та перевірка коректності його відкриття
ifstream inputFile("input.txt");
if (!inputFile) {
cout << "Помилка відкриття файлу!" << endl;
return 1;
}
// Зчитування рядка з файлу та закриття файлу
char str[1000];
inputFile.getline(str, 1000);
inputFile.close();
// Виведення рядка на екран
cout << "Вхідний рядок: " << str << endl;
// Зчитування позиції та виклик функції для пошуку номера слова
int pos;
cout << "Введіть позицію: ";
cin >> pos;
int wordNum = findWordNumber(str, pos);
// Виведення результату на екран та запис у вихідний файл
ofstream outputFile("output.txt");
if (!outputFile) {
cout << "Помилка відкриття файлу!" << endl;
return 1;
}
cout << "Номер слова: " << wordNum << endl;
outputFile << wordNum << endl;
outputFile.close();
return 0;
}
Програма відкриває файл з вхідними даними (input.txt) та зчитує рядок з цього файлу. Потім вона виводить
Автор:
alipiorobinsonДобавить свой ответ
Предмет:
ЛитератураАвтор:
westОтветов:
Смотреть
Предмет:
Другие предметыАвтор:
heavenОтветов:
Смотреть