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

Дан список из сведений о багаже 10 пассажиров. - C++

Восстановить пароль Регистрация
 
саша 74
2 / 2 / 0
Регистрация: 10.02.2011
Сообщений: 48
18.03.2011, 09:12     Дан список из сведений о багаже 10 пассажиров. #1
Подскажите пожалуйста как написать функцию ( if ) в данном примере:

вот задание:
Дан список из сведений о багаже 10 пассажиров. Найти багаж, средний вес одной вещи, в котором
отличается не более, чем на 0,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
#include <iostream>
 
using namespace std;
 
struct pas
{
        int num;
        float weight;
};
int main()
{       setlocale(LC_ALL,"rus"); 
        struct pas mas_pas[10];
        cout<<"\n Ведите информацию о пассажирах: \n"<<endl;
        for(int i=0; i<10; i++)
        {
                cout<<" пассажир "<<i+1<<endl;
                cout<<" Введи количество вещей -> ";
                cin>>mas_pas[i].num;
                cout<<" Введите вес вещей -> ";
                cin>>mas_pas[i].weight;
                cout<<endl;
        }
system("cls");
    cout<<"\n Результат : \n"<<endl;
    for(int i=0; i<10; i++)
    { 
      if (
 Комментарий модератора 
Используйте теги форматирования кода.
Давайте темам названия, максимально отражающие суть задачи.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
bigredcat
364 / 311 / 3
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
18.03.2011, 11:15     Дан список из сведений о багаже 10 пассажиров. #2
if - оператор
Вычисли сначала средний вес одной вещи по всему багажу.
Затем средний вес по багажу пассажира.
А уже потом сравнивай.
саша 74
2 / 2 / 0
Регистрация: 10.02.2011
Сообщений: 48
18.03.2011, 11:24  [ТС]     Дан список из сведений о багаже 10 пассажиров. #3
чет у меня не получается
bigredcat
364 / 311 / 3
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
18.03.2011, 11:33     Дан список из сведений о багаже 10 пассажиров. #4
Ну вот так, примерно, мы найдем:
C++
1
2
3
4
if ((средний_вес_одной_вещи - средний_вес_одной_вещи_пассажира) <= 0.3)
{
    // ну нашли мы такой, что дальше?
}
Но где у вас эти значения: средний_вес_одной_вещи, средний_вес_одной_вещи_пассажира
LaГushan
123 / 123 / 14
Регистрация: 12.03.2011
Сообщений: 227
18.03.2011, 11:36     Дан список из сведений о багаже 10 пассажиров. #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
struct pas
{
        int num;
        float weight;
};
int main()
{       setlocale(LC_ALL,"rus"); 
        float m,n;
        m = n = 0;
        struct pas mas_pas[2];
        cout<<"\n Ведите информацию о пассажирах: \n"<<endl;
        for(int i=0; i<2; i++)
        {
                cout<<" пассажир "<<i+1<<endl;
                cout<<" Введи количество вещей -> ";
                cin>>mas_pas[i].num;
                n+=mas_pas[i].num;
                cout<<" Введите вес вещей -> ";
                cin>>mas_pas[i].weight;
                m+=mas_pas[i].weight;
                cout<<endl;
        }
 
        for(int i = 0;i < 2;i++)
        {
            if((m/n - mas_pas[i].weight/mas_pas[i].num) <= 0.3)
                                   ...
саша 74
2 / 2 / 0
Регистрация: 10.02.2011
Сообщений: 48
18.03.2011, 20:52  [ТС]     Дан список из сведений о багаже 10 пассажиров. #6
количество вещей и вес вводятся в ручную

Добавлено через 15 минут
LaГushan :тут тоже ничего не получается (

Добавлено через 4 часа 26 минут
у меня нет больше идей ,а у вас?

Добавлено через 4 часа 21 минуту
??????
LaГushan
123 / 123 / 14
Регистрация: 12.03.2011
Сообщений: 227
18.03.2011, 21:26     Дан список из сведений о багаже 10 пассажиров. #7
Вот нашёл код для вашей задачи. Кстати условие гуглится и можно найти ещё пару вариантов

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 <iostream>
#include <windows.h>
#include <math.h>
using namespace std;
char* Rus(const char* str);
char str_rus[256];
struct bagg {int kol; float mas; double msr;};
int main()
{bagg a[11];
 float s=0; float kol_vo=0; int i, p=10;
 double ss; double t=0.3;
 for (int i=1; i<=p; i++)
 {cout<<Rus("Введите данные о багаже ") <<i; cout<<Rus (" пассажира \n");
  cout<<Rus("количество "); cin>>a[i].kol;
  cout<<Rus("масса "); cin>>a[i].mas;
  cout<<Rus("средний вес багажа пассажира = ") <<a[i].mas/a[i].kol <<"\n" <<"\n";
  kol_vo+=a[i].kol;//общее кол-во вещей
  s+=a[i].mas;} //общий вес вещей всех пассажиров
 ss=double(s/kol_vo); //общий средний вес одной вещи по всему списку
 cout<<Rus("общий вес вещей всех пассажиров = ") <<s <<"\n";
 cout<<Rus("общий средний вес одной вещи по всему списку = ") <<ss <<"\n";
 bool b = false;
 for (i=1; i<=p; i++)
   if (fabs(ss-a[i].mas/a[i].kol)>t)
     {cout<<Rus ("Номер багажа ") <<i; cout<<"\n"; b=true;}
 if (b == false) cout<<Rus("нет такого багажа") <<"\n";
 return(0);}
char* Rus(const char* str)
{AnsiToOem (str, str_rus);
return str_rus;}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.03.2011, 14:16     Дан список из сведений о багаже 10 пассажиров.
Еще ссылки по теме:

Найти число пассажиров, у которых количество вещей превосходит среднее число вещей для всех пассажиров C++
Работа с файлом, содержащим сведения о багаже нескольких пассажиров C++
C++ Построить двусвязный список сведений о высших учебных заведениях

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

Или воспользуйтесь поиском по форуму:
саша 74
2 / 2 / 0
Регистрация: 10.02.2011
Сообщений: 48
19.03.2011, 14:16  [ТС]     Дан список из сведений о багаже 10 пассажиров. #8
if (fabs(ss-a[i].mas/a[i].kol)<t)

Спасибо большое ! Только знак ( < )в другую сторону))
Yandex
Объявления
19.03.2011, 14:16     Дан список из сведений о багаже 10 пассажиров.
Ответ Создать тему
Опции темы

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