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

Ответы 1

  • #include <iostream>

    #include <fstream>

    #include <cstring>

    using namespace std;

    // Функція для обробки заданого рядка

    void processString(char* str, int pos) {

    int wordNum = 0;

    bool inWord = false;

    // Проходимо по рядку та підраховуємо номер слова,

    // що накриває задану позицію

    for(int i = 0; i <= pos; i++) {

    if(str[i] == ' ' || str[i] == '\0') {

    if(inWord) {

    wordNum++;

    inWord = false;

    }

    }

    else {

    inWord = true;

    }

    }

    if(!inWord) {

    wordNum--;

    }

    // Виводимо номер слова

    cout << "Word number: " << wordNum << endl;

    }

    int main() {

    ifstream inputFile("input.txt");

    ofstream outputFile("output.txt");

    // Перевірка коректності введення-виведення файлу

    if(!inputFile.is_open()) {

    cout << "Error opening input file" << endl;

    return 1;

    }

    if(!outputFile.is_open()) {

    cout << "Error opening output file" << endl;

    return 1;

    }

    // Зчитуємо вихідний рядок з файлу

    char str[1000];

    inputFile.getline(str, 1000);

    // Виводимо вихідний рядок у консоль та у файл

    cout << "Input string: " << str << endl;

    outputFile << "Input string: " << str << endl;

    // Обробляємо рядок та виводимо результат у консоль та у файл

    int pos;

    cout << "Enter position: ";

    cin >> pos;

    processString(str, pos);

    outputFile << "Result: " << "Word number: " << wordNum << endl;

    // Закриваємо файли та завершуємо програму

    inputFile.close();

    outputFile.close();

    return 0;

    }

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

Войти через Google

или

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

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

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