Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.11.2010, 00:58   #1
nds
Новичок
Джуниор
 
Регистрация: 05.11.2010
Сообщений: 2
По умолчанию Структура на С++ (max значение)

Помогите пожалуйста решить задачу, а то я что-то запутался...
А задание такое:

Определить название страны с минимальной плотностью населения.

Вот Код :

//------------------------------------------------------------------------
#include<iostream.h>
#include<conio.h>
#include<string.h>
#define n 4

struct country {
char name[20];
float area;
int people;
};
void Con_min_pip(struct country *f);
void main()
{
country a1[n];
for(int i=0;i<n;i++)
{
cout<<"Vvedite 'countru','area','people'\n";
cin>>a1[i].name>>a1[i].area>>a1[i].people;
}
cout<<"\n\tDAHI KPAIH\n";
for(int i=0;i<n;i++)
cout<<"\n"<<a1[i].name<<"\t"<<a1[i].area<<" (KM^2)"<<"\t"<<a1[i].people<<" (osob)\n";
Con_min_pip(a1);
}
//------------------------------------------------------------------------

void Con_min_pip(struct country *f)
{
cout<<"\nKraina z min gustotoy naseleniya\n";
for (int i=0;i<n;i++)
{
float g=0;
float max;
g=f[i].people/f[i].area;
cout<<"\nGustota = "<<g<<"\n";
}
for (int i=0;i<n;i++) //вот здесь я и запутался.
{
float g=0;
float max;
g=f[i].people/f[i].area;
if (g>max)
max=g;
cout<<"MAX = "<<max;
}
getch();
}

Последний раз редактировалось Stilet; 05.11.2010 в 09:07.
nds вне форума Ответить с цитированием
Старый 05.11.2010, 01:32   #2
6AZblJlb
Пользователь
 
Аватар для 6AZblJlb
 
Регистрация: 04.12.2008
Сообщений: 46
По умолчанию

Цитата:
Сообщение от nds Посмотреть сообщение
Помогите пожалуйста решить задачу, а то я что-то запутался...
А задание такое:

Определить название страны с минимальной плотностью населения.

Вот Код :

//------------------------------------------------------------------------
#include<iostream.h>
#include<conio.h>
#include<string.h>
#define n 4

struct country {
char name[20];
float area;
int people;
};
void Con_min_pip(struct country *f);
void main()
{
country a1[n];
for(int i=0;i<n;i++)
{
cout<<"Vvedite 'countru','area','people'\n";
cin>>a1[i].name>>a1[i].area>>a1[i].people;
}
cout<<"\n\tDAHI KPAIH\n";
for(int i=0;i<n;i++)
cout<<"\n"<<a1[i].name<<"\t"<<a1[i].area<<" (KM^2)"<<"\t"<<a1[i].people<<" (osob)\n";
Con_min_pip(a1);
}
//------------------------------------------------------------------------

void Con_min_pip(struct country *f)
{
cout<<"\nKraina z min gustotoy naseleniya\n";
for (int i=0;i<n;i++)
{
float g=0;
float max;
g=f[i].people/f[i].area;
cout<<"\nGustota = "<<g<<"\n";
}
for (int i=0;i<n;i++) //вот здесь я и запутался.
{
float g=0;
float max;
g=f[i].people/f[i].area;
if (g>max)
max=g;
cout<<"MAX = "<<max;}

getch();
}
товарищ, редактируй код пожалуйста...не читабельный
Будь проще, и у тебя будет меньше делителей.
6AZblJlb вне форума Ответить с цитированием
Старый 05.11.2010, 01:33   #3
Sam Gold
Форумчанин
 
Аватар для Sam Gold
 
Регистрация: 26.03.2010
Сообщений: 538
По умолчанию

Так все-таки минимальную или максимальную плотность населения надо найти?

Я бы несколько переделал функцию void Con_min_pip(struct country *f)
Вот пример для нахождения минимальной густоты
Код:
#include <float.h>
//==============
void Con_min_pip(struct country *f){
	
    std::cout<<"\nKraina z min gustotoy naseleniya\n";
    
    float g;

    float min=FLT_MAX;
    
    int nomer=-1;

    for (int i=0;i<n;i++){

       g=f[i].people/f[i].area;
       
       if(g<min){
	       
	      min=g; 
	      
	      nomer=i;
	      
       }

   }
   if(nomer>=0) std::cout<<"MIN  gustota= "<<min<<" u strani "<<f[nomer].name;
   
   else std::cout<<"uncorrect data"<<std::endl;
   
   getch();
   
}
Единственный способ стать умнее - играть с более умным противником.

Последний раз редактировалось Sam Gold; 05.11.2010 в 01:38.
Sam Gold вне форума Ответить с цитированием
Старый 05.11.2010, 01:43   #4
6AZblJlb
Пользователь
 
Аватар для 6AZblJlb
 
Регистрация: 04.12.2008
Сообщений: 46
По умолчанию

Код:
void Con_min_pip(struct country *f)
{
  float e[n];

  cout<<"\nKraina z min gustotoy naseleniya\n";
  for (int i=0;i<n;i++){
    float g=0;
    float max;
    g=f[i].people/f[i].area;
    e[i]=g;
    cout<<"\nGustota = "<<g<<"\n";
  }
  float min=e[0];
  for (int i=0;i<n;i++){
       if (e[i]<=min) min=e[i];
   }
   cout<<"min = "<<min;
getch();
}
Будь проще, и у тебя будет меньше делителей.
6AZblJlb вне форума Ответить с цитированием
Старый 05.11.2010, 01:51   #5
nds
Новичок
Джуниор
 
Регистрация: 05.11.2010
Сообщений: 2
По умолчанию

спасибо!!!!!
nds вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти значение на другом листе и подставить значение следующей ячейки ElenaNTro Microsoft Office Excel 12 11.02.2019 12:44
3d max и C++ SevenXP Общие вопросы C/C++ 2 18.09.2010 12:27
Как присвоить значение max всем элементам стоящим после него? Defa4ka Помощь студентам 9 13.11.2009 18:37
3d max 8.0 Altera Свободное общение 2 06.08.2008 21:53