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

Вывод двух слов максимальной длины - C++

Восстановить пароль Регистрация
 
Vik1
0 / 0 / 0
Регистрация: 22.06.2014
Сообщений: 7
22.06.2014, 18:18     Вывод двух слов максимальной длины #1
Дан файл со словами,требуется вывести на экран два слова максимальной длины. Имеется программа для вывода одного слова,для двух вот никак не могу сообразить

Вот для одного
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
#include "stdafx.h"
#include <iostream>
#include <fstream>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{char s[100], smax[100];
int max=0, len;
ifstream f("in.txt");
while(!f.eof())
{
    f>>s;
    for(len=0;s[len]!=0;len++)
        ;
    if (len>max)
    {
        max=len;
        for(int i=0; i<=max; i++)
        smax[i]=s[i];
    }
}
cout<<smax<<endl;
 
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.06.2014, 18:18     Вывод двух слов максимальной длины
Посмотрите здесь:

C++ Слово максимальной длины заменить на слово минимальной длины
В строке, состоящей из слов и знаков препинания(пробел.:,!?-;),найти слово максимальной длины, не содержащее заданную букву C++
В параметрах командной строки передается список слов. Определить и вывести на экран слово максимальной длины. C++
Вывод слов с наличием двух и более подряд идущих гласных букв C++
C++ В строке, состоящей из слов и знаков препинания (пробел . : , ! ?-;), найти слово максимальной длины
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BatonPro
30 / 30 / 24
Регистрация: 21.06.2014
Сообщений: 81
22.06.2014, 18:39     Вывод двух слов максимальной длины #2
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
#include "stdafx.h"
#include <iostream>
#include <fstream>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{char s[100], smax[100],smax2[100];
int max=0, len;
ifstream f("in.txt");
while(!f.eof())
{
f>>s;
for(len=0;s[len]!=0;len++)
;
if (len>max)
{
for(int i=0; i<=max; i++)
smax2[i]=smax[i];
smax2[max]=0;
max=len;
for(int i=0; i<=max; i++)
smax[i]=s[i];
smax[max]=0;
}
}
cout<<smax<<endl;
cout<<smax2<<endl;
 
return 0;
}
Vik1
0 / 0 / 0
Регистрация: 22.06.2014
Сообщений: 7
22.06.2014, 19:42  [ТС]     Вывод двух слов максимальной длины #3
BatonPro,вот оно как оказывается,спасибо большое
Vik1
0 / 0 / 0
Регистрация: 22.06.2014
Сообщений: 7
23.06.2014, 14:03  [ТС]     Вывод двух слов максимальной длины #4
файл со словами,найти в нем два максимальных по длине. Данная программа работает только в том случае,если допустим слова в файле расположены так " asd zxcvb qwertyqwerty fg hjkl q" и программа выводит слова "zxcvb qwertyqwerty" если же их поменять местами например "asd qwertyqwerty zxcvb fg hjkl q" то выводит уже "asd qwertyqwerty".....помогите пожалуйста

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
#include "stdafx.h"
#include <iostream>
#include <fstream>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    char s[100], smax[100], smax2[100];
    int max = 0, len;
    ifstream f("in.txt");
    while (!f.eof())
    {
        f >> s;
        for (len = 0; s[len] != 0; len++)
            ;
        if (len>max)
        {
            for (int i = 0; i <= max; i++)
                smax2[i] = smax[i];
            smax2[max] = 0;
            max = len;
            for (int i = 0; i <= max; i++)
                smax[i] = s[i];
            smax[max] = 0;
        }
    }
    cout << smax << endl;
    cout << smax2 << endl;
 
    return 0;
}
BatonPro
30 / 30 / 24
Регистрация: 21.06.2014
Сообщений: 81
23.06.2014, 16:04     Вывод двух слов максимальной длины #5
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
// 2maxwords2.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include <fstream>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{char s[100], smax[100],smax2[100];
int max=0, len, max2=0;
ifstream f("in.txt");
while(!f.eof())
{
f>>s;
for(len=0;s[len]!=0;len++);
if(len>max2 && len<max)
{
max2=len;
for(int i=0; i<=max2; i++)
smax2[i]=s[i];
smax2[max2]=0;
}
if (len>=max)
{
max2=max;
for(int i=0; i<=max2; i++)
smax2[i]=smax[i];
smax2[max2]=0;
max=len;
for(int i=0; i<=max; i++)
smax[i]=s[i];
smax[max]=0;
}
}
cout<<smax<<endl;
cout<<smax2<<endl;
 
return 0;
}
Yandex
Объявления
23.06.2014, 16:04     Вывод двух слов максимальной длины
Ответ Создать тему
Опции темы

Текущее время: 06:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru