Форум программистов, компьютерный форум CyberForum.ru

Вывести все введенные строки. Отсортировать строки. Вывести самую длинную строку - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ c++ дано число n вычислить сколько простых чисел от 2 до n http://www.cyberforum.ru/cpp-beginners/thread779162.html
как решить через стандартные ф-ии?
C++ Таблица Истенности Собрался писать прогу на С++, но не знаю как лучше сделать! Задание такое: дана формула (заносится с клавиатуры любая формула) и надо вывести таблицу истинности для этой формулы! Как проще можно сделать? http://www.cyberforum.ru/cpp-beginners/thread779155.html
Для заданного натурального пятизначного числа выполнить перестановку его крайних чётных цифр (исправить ошибки) C++
Задача предельно простая и интересная, но в процессе компиляции он у меня выводит постоянно ошибки. Не могли бы вы подсказать, где они находятся и как их исправить? Вроде по логике правильно сделал, но VS ругается на что-то. Заранее спасибо Представить программу, позволяющую для заданного натурального пятизначного числа выполнить перестановку его крайних чётных цифр. #include <iostream>...
проинициализировать строку в конструкторе C++
Привет. Помогите, пожалуйста разобраться со строками. что с ними делать в конструкторе, функции, деструкторе. #include "stdafx.h" #include <iostream> using namespace std; /*создать класс описывающий кинофильм. В классе должны быть поля: название, год выпуска, страна, главная мужская-женская роль. создать деструктор для удаления*/ class kinofilm { int year;
C++ Скажите, в чем ошибка? Шарик должен отражаться от края http://www.cyberforum.ru/cpp-beginners/thread779118.html
#include<graphics.h> #include<stdio.h> #include<conio.h> #include<dos.h> void WaitWerticalRetrace(){ while(inportb(OxSDA)&0x08); whule(!(inportb(OxSDA)&0x08)); } void main(void){ int gd,gm;
C++ Ищу добровольцев! Доброго времени суток уважаемые программисты. Ищу помощи. Я увлекаюсь программированием, но у меня нету так таковой возможности им заниматься, потому что дома нету компьютера. У меня появилась велеколепная возможность получить от родителей компьютер на котором я смогу заниматься программированием,но с условием: мой отец мне сказал, что он мне подарит компьютер, если я выиграю олимпиаду, которая... подробнее

Показать сообщение отдельно
abit
 Аватар для abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
05.02.2013, 00:24     Вывести все введенные строки. Отсортировать строки. Вывести самую длинную строку
Цитата Сообщение от Sergey3096 Посмотреть сообщение
Здравствуйте!!! Помогите пожалуйста, не могу разобраться с программой.
Ввести с клавиатуры строки, пока не будет введено 5 строк, которые не имеют подстрок "ав" и "12".
Вывести все введенные строки. Отсортировать строки. Вывести самую длинную строку.
отсортировать по длине? по алфавиту? собстна я написал для случая лексикографической сортировки (по алфавиту), если нужно по длине, то можно завести соответствующий предикат в sort

Добавлено через 15 минут
опс... решение забыл отписать

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
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
 
using namespace std;
int main()
{
    int count=0;
    vector<string> sv;
    string maxs("");
    while (cin)
    {
        string s;
        getline(cin,s);
        sv.push_back(s);
        const string templ1("12"), templ2("ав");
        
        if (maxs.size()<s.size()) maxs=s;
        
        string::iterator it1,it2;
        it1=search(s.begin(),s.end(),templ1.begin(),templ1.end());
        it2=search(s.begin(),s.end(),templ2.begin(),templ2.end());
        if ((it1==s.end()) &&
         (it2==(s.end()))) ++count;
        if (count==5) break;
    }
    
    cout << endl;
    cout << "до сортировки "<< endl;
    for (vector<string>::iterator iter = sv.begin(); iter!=sv.end(); ++iter)
      cout << *iter <<endl;
    cout << endl;
      
    sort(sv.begin(),sv.end());
    
    cout << "после сортировки "<< endl;
    for (vector<string>::iterator iter = sv.begin(); iter!=sv.end(); ++iter)
      cout << *iter <<endl;
    
    cout << "самая длинная" << endl;
    cout << maxs << endl;
}
если нужно сортировать по длине строк, то поставьте предикат сравнивающий длину в sort(); и за одно будет можно выкинуть maxs как класс, т.к. тогда можно будет получить самую длиную строчку через sv[sv.size()]
 
Текущее время: 06:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru