Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 29.11.2017
Сообщений: 10
1

Пусть дан текстовый файл. Для каждой строки распечатайте слово с номером (n +1) div 2, где n – количество слов в строке

13.05.2018, 15:58. Просмотров 1049. Ответов 3
Метки нет (Все метки)

Помогите,пожалуйста,задали задачу,а мы даже не проходили такое(
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.05.2018, 15:58
Ответы с готовыми решениями:

Дан текстовый файл f. Для каждой строки распечатайте слово наибольшей длины
дан текстовый файл f. для каждой строки распечатайте слово наибольшей длины. если таких слов...

Пусть дан текстовый файл. Распечатайте строку с заданным номером
Пусть дан текстовый файл. Распечатайте строку с заданным номером. Заранее спасибо)!!!

Пусть дан текстовый файл. Распечатайте первую строку, содержащую наибольшее число различных слов
Пусть дан текстовый файл. Распечатайте первую строку, содержащую наибольшее число различных слов...

Текстовый файл. Для каждой строки распечатайте слово наибольшей длины.
Здравствуйте, подскажите пожалуйста как решать такую задачку? "Пусть дан текстовый файл. Для...

3
1464 / 929 / 808
Регистрация: 30.04.2016
Сообщений: 3,216
19.06.2018, 22:57 2
F0ch, здравствуйте! Вот мое решение:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <bits/stdc++.h> 
#include <windows.h> //Шрифт консоли - Lucida Console
 
    using namespace std;
 
int main() {
    setlocale(LC_ALL, "Russian"); //Чтобы функция isalpha() работала с русским текстом
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    ifstream fin("input.txt");
    ofstream fout("output.txt");
    int k;
    string str, s;
    vector<vector<string>> vec(1000);
    k = 0;
    while (getline(fin, str)) {
        str += " ";
        for (int i = 0; i < str.size(); i++) {
            s += str[i];
            if (!(isalpha((unsigned char)str[i]))) {
                s.pop_back();
                if (s != "")
                    vec[k].push_back(s);
                s = "";
            }
        }
        k++;
    }
    fout << "Target info:\n\n";
    for (int i = 0; i < k; i++) {
        fout << "Line #" << i + 1 << ": " << vec[i][(vec[i].size() + 1) / 2 - 1] << "\n";
    }
    fin.close();
    fout.close();
    system("pause");
    return 0;
}
P.S.
C++
1
Не уверен, что все сделал правильно при работе с вектором. Очень прошу знающих поправить, если что-то не так.
0
216 / 170 / 96
Регистрация: 15.04.2018
Сообщений: 672
20.06.2018, 01:02 3
Fixer_84, у вас в векторе 1000 лишних элементов
Цитата Сообщение от Fixer_84 Посмотреть сообщение
vector<vector<string>> vec(1000);
0
1464 / 929 / 808
Регистрация: 30.04.2016
Сообщений: 3,216
21.06.2018, 18:35 4
mvngr, здравствуйте! Спасибо за ваш ответ. По-другому у меня не выводится содержимое вектора. То есть, если я объявляю так:

C++
1
vector<vector<string>> vec;
То не работает. В интернете прочитал, что один из вариантов разрешения этой проблемы выглядит так как я сделал вначале (указанием размера при объявлении). У меня вопрос к знатокам: если я сделаю так перед выводом:

C++
1
2
3
4
5
vec.resize(k);
fout << "Target info:\n\n";
    for (int i = 0; i < vec.size(); i++) {
        fout << "Line #" << i + 1 << ": " << vec[i][(vec[i].size() + 1) / 2 - 1] << "\n";
    }
Будет ли это лучше? Подскажите, пожалуйста, кто-нибудь, как вообще эта задача решается с помощью вектора. Что я сделал не так, кроме того, что пытался исправить?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.06.2018, 18:35

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Пусть дан текстовый файл. Распечатайте все строки, начинающиеся заданным словом.
В общем мне задали следующее задание на C#: 1. Пусть даны два файла целых чисел. Определить,...

Пусть дан текстовый файл. Распечатайте все строки, начинающиеся с заданного слова
Написать программу решающую поставленную задачу с помощью потока ввода-вывода в файлы в текстовом...

Дан текстовый файл, содержащий строки. Подсчитать количество слов в строке, имеющих нечетное количество букв
Дан текстовый файл, содержащий строки. Подсчитать количество слов в строке, имеющих нечетное...

Пусть дан текстовый файл. Перенесите в новый файл все строки, содержащие заданное слово
Задание: Пусть дан текстовый файл. Перенесите в новый файл все строки, содержащие заданное слово. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.