• Написати програму на С++ використовуючи рядки у стилі С із приміренням як вбудованих функцій і так і без вбудованих функцій 1. обробку заданого рядка оформити у вигляді функції (обмін даними має бути організовано лише через параметри) 2. дані (вихідний рядок) увести з файлу, результати вивести у файл 3. реалізувати перевірку коректності запису й зчитування файлу (формат уведення-виведення вибрати самостійно). 4. оформити обчислення у вигляді консольного додатку 5. кожна функція повинна мати специфікацію у вигляді коментарів Саме завдання : Задано рядок символів, що складається з довільного тексту, слова розділено пробілами. Вивести на екран порядковий номер слова, що накриває k-ту позицію (якщо на k-ту позицію припадає пробіл, то вивести номер попереднього слова).

Ответы 1

  • Ответ:

    Нижче наведено програму на мові 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) та зчитує рядок з цього файлу. Потім вона виводить

  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years