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

Массив данных. Дан файл f, содержащий информацию о багаже нескольких пассажиров. Найти: - C++

Восстановить пароль Регистрация
 
FanyLose
0 / 0 / 0
Регистрация: 25.05.2013
Сообщений: 8
30.05.2013, 21:40     Массив данных. Дан файл f, содержащий информацию о багаже нескольких пассажиров. Найти: #1
Багаж пассажира характеризуется количеством вещей и общим весом вещей. Дан файл f, содержащий информацию о багаже нескольких пассажиров, информация о багаже каждого пассажира представляет собой соответствующую пару чисел. Найти:
а){это я нашел}
б)число пассажиров, количество пассажиров, количество вещей которых превосходит среднее число вещей.
в)определить, имеются ли 2 пассажира, багажи которых совпадают по числу вещей и различаются по весу не более чем на 0,5кг.
г){это я нашел}
д){это я нашел}
е) дать сведения о багаже, число вещей в котором не меньше, чем в любом другом багаже, а вес вещей не больше, чем в любом другом багаже с этим же числом вещей.

P.S. Задача была взята из сборника задач Абрамова С.А.

Добавлено через 49 секунд
и я не знаю как решить эти 3 пункта, кто может помогите, буду очень признателен)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.05.2013, 21:40     Массив данных. Дан файл f, содержащий информацию о багаже нескольких пассажиров. Найти:
Посмотрите здесь:

Дан массив, содержащиц сведения о багаже нескольких пассажиров C++
C++ Дан список из сведений о багаже 10 пассажиров.
C++ Создать файл, содержащий информацию о студентах
C++ Дан файл,содержащий информацию о поступлении платежей по квартплате в текущий год
Дан текстовый файл, содержащий целые числа. В каждой строке этого файла найти сумму наибольшего и наименьшего элементов и записать их в другой C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
31.05.2013, 00:11     Массив данных. Дан файл f, содержащий информацию о багаже нескольких пассажиров. Найти: #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
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
#include <iostream>
#include <cstdlib>
#include <fstream>
#include <cmath>
using namespace std;
 
// 1) определить число пассажиров 
// 2) определить количество пассажиров, 
//    количество вещей которых превосходит среднее число вещей.
// 3) определить, имеются ли 2 пассажира, багажи которых совпадают 
//    по числу вещей и различаются по весу не более чем на 0,5кг.
 
int main()
{ 
    setlocale(LC_ALL, "Russian");
    ifstream fin("1.txt");
    if (!fin) cout << "Ошибка открытия файла!" << endl;
    else
    {
        int all = 0, number = 0, temp1;
        double sum = 0, average = 0, temp2; 
        while (true)
        {
            fin >> temp1;
            if (fin.eof()) break;
            fin >> temp2;
            ++all;  // число пассажиров
            sum += temp1; // количество вещей у всех пассажиров
        }
    
        fin.clear();
        fin.seekg(0);
        average = sum / all; // среднее количество вещей у пассажиров
        cout << "1) Число пассажиров = " << all << endl;
        cout << "Количество вещей у всех пассажиров = " << sum << endl;
        cout << "Среднее количество вещей у пассажиров = " << average << endl;
        
        int *arr1    = new int[all];
        double *arr2 = new double[all];
        
        int i = 0;
        while (true)
        {
            fin >> arr1[i];
            if (fin.eof()) break;
            fin >> arr2[i];
            if (arr1[i] > average) ++number;  // число пассажиров, количество вещей которых,
                                              // превосходит среднее количество вещей у пассажиров
            ++i;
        }
        cout << "2) Число пассажиров, количество вещей которых,\n"
                 "превосходит среднее количество вещей у пассажиров = " << number << endl;
    
        int flag = 0;
        for (int i = 0; i < all; ++i)
            for (int k = i + 1; k < all; ++k)
            {
                if (arr1[i] == arr1[k] && (fabs(arr2[i] - arr2[k]) <= 0.5)) 
                {
                    flag = 1;
                    break;
                }
            } 
            if (flag == 1) cout << "3) Такие два пассажира есть." << endl;
            else cout << "3) Таких пассажиров нет." << endl;
 
            delete [] arr1;
            delete [] arr2;
    }
    
    cout << endl;
    system("pause");
    return 0;  
}
FanyLose
0 / 0 / 0
Регистрация: 25.05.2013
Сообщений: 8
31.05.2013, 16:39  [ТС]     Массив данных. Дан файл f, содержащий информацию о багаже нескольких пассажиров. Найти: #3
спасибо большое=)))
FanyLose
0 / 0 / 0
Регистрация: 25.05.2013
Сообщений: 8
06.06.2013, 15:07  [ТС]     Массив данных. Дан файл f, содержащий информацию о багаже нескольких пассажиров. Найти: #4
alsav22, не могли бы вы еще пункты а), г) и д) написать (условие ниже) и все это в 1й программе, а то совместить свой код с вашим не могу, выдает ошибки даже при использовании

C++
1
using namespace std;
Вот полное условие:
Багаж пассажира характеризуется количеством вещей и общим весом вещей. Дан файл f, содержащий информацию о багаже нескольких пассажиров, информация о багаже каждого пассажира представляет собой соответствующую пару чисел. Найти:
а)Найти багаж, средний вес одной вещи в котором отличается не более чем на 0,3 кг от общего веса вещи.
б)число пассажиров, количество пассажиров, количество вещей которых превосходит среднее число вещей.
в)определить, имеются ли 2 пассажира, багажи которых совпадают по числу вещей и различаются по весу не более чем на 0,5кг.
г)Выяснить, имеются ли пассажир, багаж которого превышает багаж каждого из остальных пассажиров и по числу вещей, и по весу.
д)Выяснить, имеется ли пассажир, багаж которого состоит из 1 вещи весом не менее 30 кг.
е) дать сведения о багаже, число вещей в котором не меньше, чем в любом другом багаже, а вес вещей не больше, чем в любом другом багаже с этим же числом вещей.

Данные о пассажирах нужно будет ввести в диалоговом окне. Нужно еще сделать меню, но это я сам.

Заранее выражаю огромную благодарность)))))

P.S. У меня День Рождения, поэтому сделать сам не в состоянии, а лабораторную работу надо сдать завтра =(
P.S.S. исполняется 19)
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.06.2013, 16:22     Массив данных. Дан файл f, содержащий информацию о багаже нескольких пассажиров. Найти: #5
Цитата Сообщение от FanyLose Посмотреть сообщение
не могли бы вы еще пункты а), г) и д) написать
Нет.
Yandex
Объявления
06.06.2013, 16:22     Массив данных. Дан файл f, содержащий информацию о багаже нескольких пассажиров. Найти:
Ответ Создать тему
Опции темы

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