Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Найти причины и способы устранения ошибки https://www.cyberforum.ru/ cpp-beginners/ thread1637383.html
Во время откладки указатель на число выдает мусор типо -81791524 #include <stdlib.h> #include <time.h> #include <iostream> #include <conio.h> #include <cctype> using::std::cin; using::std::cout; using::std::endl;
Как лучше всего пробежать все элементы контейнера? C++
Речь о следующем. Есть vector. Я хочу пробежать все его элементы, но походу я буду проверять удовлетворяют они определенному условию или нет. Если да, то этот элемент удаляется. Как это лучше всего реализовать?
C++ Найти сумму ряда Ребят, голову ломаю и никак не осилю. В чем смысл вообще? Я понять формулу даже не могу, не то что уж код написать здесь. Какие-то "-...+". Что это вообще? Помогите кто чем может. https://www.cyberforum.ru/ cpp-beginners/ thread1637360.html C++ Вычислить произведение отрицательных элементов массива https://www.cyberforum.ru/ cpp-beginners/ thread1637347.html
Приветствую вас дорогие форумчане. Прошу о помощи в изменении программы. В коде предоставленном ниже требуется заменить: рандомный подбор чисел на вводимый. Зарание спасибо! (Текст задания: В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1.) произведение отрицательных элементов массива; 2.) сумму положительных элементов массива, расположенных до максимального элемента....
Реализовать структуру "Student" C++
Создайте программу для ввода и вывода фамилий и оценок студентов. Введите не менее 10 студентов. Отберите студентов, у которых вторая и четвертая оценка 2
C++ Есть ли готовая команда, чтобы циклически сдвинуть элементы в std::vector? Типа было (1,2,3) -> (3,1,2). https://www.cyberforum.ru/ cpp-beginners/ thread1637310.html
C++ Добавить библиотеку в CodeBlocks https://www.cyberforum.ru/ cpp-beginners/ thread1637303.html
Как добавить библиотеку в проект CodeBlocks? К примеру, cURL. Открываю в выбранном проекте Build options, прописываю директорию с хедерами в Search Directory - compiler, директорию с lib в Search Directory - linker. Добавляю сами .a файлы в Linker Setting. А ему все ровно, пишет что не видит хедеров. ||=== Build: Debug in cURL TEST (compiler: GNU GCC Compiler) ===|...
Определить количество «особых» элементов матрицы C++
Задана матрица размером NxM. Определить количество «особых» элементов матрицы, считая элемент «особым», если в строке слева от него находятся элементы, меньшие его, а справа – большие.
C++ Найти минимальный элемент и вычислить сумму ненулевых элементов в каждом из столбцов матрицы Приветствую вас дорогие форумчане. У меня появилась проблема в программе. Работает не так как требуется. Постановка задачи : Найти минимальный(min) и вычислить сумму ненулевых элементов в каждом из столбцов матрицы. Помогите с настройкой. Минимальный находиться. Но нужно чтоб вычислялись ненулевые элементы в каждом столбце. #include<iostream> #include<conio.h> using namespace std; int... https://www.cyberforum.ru/ cpp-beginners/ thread1637284.html C++ Объяснить, что происходит в заданном фрагменте кода ifstream f("Базаданных.bd", ios::binary); f.read((char*)&P,sizeof(P)); do { cout<<"--------------------------------------------------------------------------------"; cout<<"Фамилияаспиранта - "<<P.name<<endl; cout<<"Годобучения - "<<P.year<<endl; if (P.debt==true) cout<<"Задолженность - ЕСТЬ"<<endl; else cout<<"Задолженность - НЕТ"<<endl; https://www.cyberforum.ru/ cpp-beginners/ thread1637278.html
C++ Объяснить, что происходит в коде
#include <iostream> #include <Windows.h> using namespace std; enum ConsoleColor { Black = 0, Blue = 1, Green = 2,
C++ Деление строки на слова в файле https://www.cyberforum.ru/ cpp-beginners/ thread1637255.html
Здравствуйте! Надо разделить строки на слова и каждое слово поместить в массив слов. Когда читаю 1-ю строку файла, всё хорошо, но когда читаю 2-ю строку, то всё ломается. #include "stdafx.h" #include <iostream> #include <fstream> #include <istream> #include <cstring> using namespace std; void main()
0 / 0 / 0
Регистрация: 27.05.2015
Сообщений: 20
15.01.2016, 12:07  [ТС] 0

Вывести 10 самых длинных (по числу символов) предложений - C++ - Ответ 8622688

15.01.2016, 12:07. Показов 876. Ответов 18
Метки (Все метки)

Ответ

Ну вот смотрите, я хочу сделать из этого ф-ю. Условно назовем её "обработка файла".
Я пробывал и просто запускать ваш вариант, кстати в строке str2 = str.substr(0,pos); показывает ошибку, правильно ли я сделал что перед pos добавил sizeof? Пробывал свой так называемый запустить, тоже тщетно, он либо в темный экран встает(консоль ничего не делает) либо вылетает прекращая работу.

Добавлено через 3 минуты
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
//Разбить файл на два: в один поместить четные строки, в другой - нечетные
 
#include "StdAfx.h"
#include <windows.h>
#include <time.h>
#include <conio.h>
#include <iostream>
using namespace std;
 
void FileProc(char *fname) //Функция обработки файла
{
char *bufstr,b;//определение самой длиной строки в файле и кол во символов в ней для    того чтобы можно было спокойно перемещать в bufstr построчно
    int kol_sim_max=0,kol_sim=0,sh=strlen(fname),sh1=sh+7,c=1;
    FILE *f=fopen(fname,"rt");      // открыть файловый поток для
// чтения исходного файла 
while(!feof(f))             // пока не конец файла(ищем кол-во 
// символов в самой длиной строчке) 
        {
            b=fgetc(f);     // считывание символа из файла
// переменную b
            kol_sim++;          
            if(b=='\n'||feof(f))    
            {
                if(kol_sim_max<kol_sim)kol_sim_max=kol_sim;
                kol_sim=0;
            }
        }
    fclose(f);                  // закрываем файловый поток f
    bufstr=new char[kol_sim_max];
    char *fname1=new char[sh1];
    strcpy(fname1,fname);// Копирование имени файла в переменную Имени файла-результата1
    strcat(fname1,"-1.txt");
    FILE *f1=fopen(fname1,"wt");
    char *fname2=new char[sh1];
    strcpy(fname2,fname); // Копирование имени файла в переменную Имени файла-результата2
    strcat(fname2,"-2.txt");
    FILE *f2=fopen(fname2,"wt");
    FILE *fish=fopen(fname,"rt");
    while(!feof(fish))
        {
            fgets (bufstr,kol_sim_max,fish);
            if (!feof(fish))
            {
                if ((c % 2)==0)
                    fputs (bufstr,f2);
                else
                    fputs (bufstr,f1);
            }
            c++;
        }
    fclose(fish);
    fclose(f1); 
    fclose(f2); 
    delete []fname2;
    delete []fname1;
    delete []bufstr;
    remove(fname);
}
Нашел вот что то по типу такого, пытался как то внедрить ваш код, тщетно.
Хочу чтобы была функция на подобии этой но уже с "моими" условиями, то есть вывода 10 самых длинных предложений. И вопрос их можно например брать из одного текстовика в котором например большой текст и клать в другой текстовик уже именно эти 10 предложений?

Добавлено через 23 минуты
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#include <fstream>
#include <string>
#include <iostream>
#include <vector>
#include <windows.h>
#include <time.h>
#include <conio.h>
#include <algorithm>
#pragma warning(disable:4996)
using namespace std;
clock_t StartTime, EndTime;
 
//Обработка файла
void FileProc(char * path){
    ifstream f(path);
    vector<string> vec;
    string str;
    while (!f.eof()) {
        getline(f, str);
        do{
            auto pos = find(str.begin(), str.end(), '.');
            string str2;
            if (pos != str.end()){
                str2 = str.substr(0, sizeof pos);
            }
            else{
                vec.push_back(str2);
            }
        } while (find(str.begin(), str.end(), '.') != str.end());
    }
    sort(vec.begin(), vec.end(), [](string str1, string str2)  { return str1.size() < str2.size(); });
    auto pos = vec.rend();
    for (int i = 0; i < 10; i++, ++pos) {
        cout << *pos << endl;
    }
    f.close();
}
void main(int argc, char *argv[])
{
    setlocale(0, "russian");
    bool such = true, povt = true;      // Переменные для проверки файлов
    clock_t StartTime, EndTime; // Время начала и завершения
    // обработки
    StartTime = clock();            // Запомнили время начала обработки
    if (argc <2)                // Если не указаны файлы, то вывести сообщение об ошибке
    {
        cout << "Не указаны файлы!!!\n";
    }
    else
    {
        for (int i = 1; i <= argc - 1; i++)
        {
            for (int j = i + 1; j <= argc - 1; j++)
            {
                if (stricmp(argv[i], argv[j]) == 0)
                    povt = false;           // Проверка и установка признака ошибки повтора файлов
            }
            ifstream f(argv[i]);
            if (f)
                f.close();      // Если открыт, то закрыть 
            else
                such = false;   // Иначе установить признак ошибки отсутствия файлов
        }
        if (such == false || povt == false) // Если файл не существует или есть повторяющиеся имена файлов 
        {
            if (such == false)  // Если файл не существует, то вывести 
                cout << "Какого-то файла не существует\n";
            else                // Иначе вывести 
                cout << "Имена каких-то файлов совпадают\n";
        }
        else
        for (int i = 1; i <= argc - 1; i++)
        {
            FileProc(argv[i]);  //Вызов функции обработки файла
        }
    }
    EndTime = clock();              // Запомнили время окончания обработки
        cout << "Elapsed Time " << (EndTime - StartTime) << " ms" << endl; //Вывод продолжительности обработки и завершение программы
    getch();
}
Вот что пытался сделать я

Вернуться к обсуждению:
Вывести 10 самых длинных (по числу символов) предложений C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.01.2016, 12:07
Готовые ответы и решения:

Обработка текстовых файлов. Вывести первую из самых коротких строк файла и последнюю из самых длинных
Дан текстовый файл f. Составить программу для вывода первой из самых коротких строк файла и...

Вывести гласные двух самых длинных слов
Здравствуйте уважаемые программисты. Мне была задана задача,я её решил,всё работает правильно но...

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

Строки: найти первое из самых длинных и последнее из самых коротких слов и поменять их местами
Помогите написать прогу) 1. Строка состоит не менее чем из двух слов. Преобразовать её по...

18
15.01.2016, 12:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.01.2016, 12:07
Помогаю со студенческими работами здесь

Найти 5 самых длинных слов
Как найти 5 самых длинных слов? #include &quot;stdafx.h&quot; #include &quot;windows.h&quot; #include &lt;iostream&gt;...

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

Вывести количество символов/предложений в тексте
Дана строка chat text=&quot;hello world.is there text.&quot;;

Определение самых длинных слов в строке
Добрый день форумчани:) учусь совершенно не на информатической специальности,а задали сделать 3...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru