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

Потоки - C++

Восстановить пароль Регистрация
 
S_O_A_D
1 / 1 / 0
Регистрация: 04.06.2013
Сообщений: 48
15.06.2013, 17:25     Потоки #1
Есть такой файл:

Andriy aa 1 2 3
Petro dd 1 1 1
Vasa rdg 5 5 88
Ivan n 5 5 5

И нужно определить такое имя, у которого есть наибольшее значение цифры, в данном случае это Vasa, потому что 88 это максимальное число. Что я здесь неправильно сделал?

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
void ShowPrizers()
{
    ifstream f("1.txt");
    int a[3];
    char name[10];
    char aa[10];
    int max_ = 0;
    int pmax = 0;
    int pos;
    char name_[20];
    while(f >> name)
    {
        f >> aa;
        f >> a[0] >> a[1] >> a[2];
        max_ = max(a);
        if(max_ > pmax){
            pmax = max_;
            pos = f.tellg();
        }
    }
    f.seekg(pos);
    f >> name;
    cout<<endl<<name;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.06.2013, 17:25     Потоки
Посмотрите здесь:

Потоки C++
Потоки с++ C++
потоки.. C++
потоки C++
Потоки C++
потоки C++
Потоки C++
Потоки C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
booker
 Аватар для booker
23 / 23 / 2
Регистрация: 21.11.2012
Сообщений: 106
15.06.2013, 18:28     Потоки #2
что происходит с 15 строки?
BuGi
24 / 24 / 1
Регистрация: 02.01.2012
Сообщений: 371
15.06.2013, 18:44     Потоки #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
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
 
int max(int* arr,size_t size)
{
    int max=0;
    for(size_t i=0;i<size;i++)
    {
        if(max < arr[i]) max = arr[i];
    }
    return max;
}
 
void main()
{
    ifstream f("1.txt");
    int a[3];
    string name;
    string aa;
    int max_ = 0;
    int pmax = 0;
    string name_;
    while(f >> name)
    {
        f >> aa;
        f >> a[0] >> a[1] >> a[2];
        max_ = max(a,3);
        if(max_ > pmax)
        {
            pmax = max_;
            name_ = name;
        }
    }
    cout << name_;
    system("pause");
}
Если пишешь на c++, то используй средства с++.
Yandex
Объявления
15.06.2013, 18:44     Потоки
Ответ Создать тему
Опции темы

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