Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 15.06.2010, 17:00
serg154 serg154 вне форума
Прохожий
 
Регистрация: 15.06.2010
Сообщения: 10
Репутация: 10
По умолчанию По заданной последовательности заявок найти средний размер обуви

Анкета спортсмена, подавшего заявку на соревнование, состоит из его пола, роста, веса, размеров одежды и обуви. По заданной последовательности заявок найти средний размер обуви женщин, вес которых не превышает 50 кг.
Ответить с цитированием
  #2  
Старый 15.06.2010, 17:24
XTen XTen вне форума
Прохожий
 
Регистрация: 05.06.2009
Сообщения: 38
Репутация: 10
По умолчанию

Пиши реализую
ICQ: 410691984
Ответить с цитированием
  #3  
Старый 15.06.2010, 17:41
Аватар для NIch
NIch NIch вне форума
Продвинутый
 
Регистрация: 02.06.2008
Адрес: Бендеры ПМР
Сообщения: 754
Репутация: 2446
По умолчанию

Как то уже что то такое делал...
Немного не то, но под себя подогнать можно, если надо, скину весь проект, с формой
Код:
//Анкета спортсмена, подавшего заявку на соревнование, состоит из его
//пола, роста, веса, размеров одежды и обуви.
//По заданной последовательности заявок найти
//суммарный рост всех тех спортсменок, рост которых превышает два метра,
//и общий вес тех спортсменок, которые носят одежду 46 размера.
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids;

type
  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    Label1: TLabel;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
//***************************************************************************
//Создание формы
procedure TForm1.FormCreate(Sender: TObject);
begin
 StringGrid1.Cells[0, 0] := 'Пол';
 StringGrid1.Cells[1, 0] := 'Рост';
 StringGrid1.Cells[2, 0] := 'Вес';
 StringGrid1.Cells[3, 0] := 'Размер одежды';
 StringGrid1.Cells[4, 0] := 'Размер обуви';
end;
//***************************************************************************
//Добавить строку
procedure TForm1.Button1Click(Sender: TObject);
begin
 StringGrid1.RowCount := StringGrid1.RowCount + 1;
end;
//***************************************************************************
//Произвести выборку
procedure TForm1.Button2Click(Sender: TObject);
var
 i: integer;
 Len, Weight: integer;
begin
 //Начальные рост и вес
 Len := 0;
 Weight := 0;
 //Пройтись по всем строкам таблицы
 for i := 1 to StringGrid1.RowCount-1 do
 begin
  //Если женский пол и рост больше 200
  if ((StringGrid1.Cells[0, i] = 'Ж') and//Женский пол
      (StrToInt(StringGrid1.Cells[1, i]) > 200)) then//Рост больше 2 м.
   Len := Len + StrToInt(StringGrid1.Cells[1, i]);//Считаем рост
  //Если женчкий пол и размер одежды 46
  if ((StringGrid1.Cells[0, i] = 'Ж') and//Женский пол
      (StringGrid1.Cells[3, i] = IntToStr(46))) then//Размер одежды
   Weight := Weight + StrToInt(StringGrid1.Cells[2, i]);//Считаем общий вес
 end;
 //Если суммарные рост и вес не равны 0, то
 if (Len <> 0) and (Weight <> 0) then
  ShowMessage('Суммарный рост ' + IntToStr(Len) + #10 +
              'Суммарный вес ' + IntToStr(Weight))
 else
  ShowMessage('Таких анкет нет!');
end;
//***************************************************************************
//Очистить таблицу
procedure TForm1.Button3Click(Sender: TObject);
var
 i: integer;
begin
 for i := 1 to StringGrid1.RowCount-1 do
  StringGrid1.Rows[i].Clear;
 StringGrid1.RowCount := 2;
end;
//***************************************************************************
end.
__________________
В начале был Бит, потом Байт и только потом появилось Слово...
Ответить с цитированием
  #4  
Старый 15.06.2010, 17:51
serg154 serg154 вне форума
Прохожий
 
Регистрация: 15.06.2010
Сообщения: 10
Репутация: 10
По умолчанию

спасибо большое!
Ответить с цитированием
  #5  
Старый 16.06.2010, 07:15
serg154 serg154 вне форума
Прохожий
 
Регистрация: 15.06.2010
Сообщения: 10
Репутация: 10
По умолчанию

Смотрите, что получается. Не знаю, как задать количество необходимых ячеек, чтобы найти среднее арифметическое.
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
 StringGrid1.Cells[0, 0] := 'Пол';
 StringGrid1.Cells[1, 0] := 'Рост';
 StringGrid1.Cells[2, 0] := 'Вес';
 StringGrid1.Cells[3, 0] := 'Размер одежды';
 StringGrid1.Cells[4, 0] := 'Размер обуви';
end;

procedure TForm1.Button1Click(Sender: TObject);
var
 i: integer;
 Sum, Kol: integer;
 Srob:Real;
begin
 //Начальный средний размер обуви
 Srob:= 0;
 Sum:=0;
 Kol:=0;
  //Пройтись по всем строкам таблицы
 for i := 1 to StringGrid1.RowCount-1 do
 begin
  //Если женский пол и вес не превышает 50
  if ((StringGrid1.Cells[0, i] = 'Жен') and//Женский пол
      (StrToInt(StringGrid1.Cells[2, i]) < 50)) then//Вес меньше 50.
   Sum := (Sum + StrToInt(StringGrid1.Cells[4, i]));//Считаем рост
   Kol:= ????????? //количество ячеек
   Srob:=Sum/Kol;
 end;
 //Если суммарные рост и вес не равны 0, то
 if (Srob <> 0) then
  ShowMessage('Cредний размер обуви женщин, вес которых не превышает 50 кг, равен ' + FloatToStr(Srob))
 else
  ShowMessage('Таких анкет нет!');
end;
end.
Admin: Пользуемся тегами!

Последний раз редактировалось Admin, 16.06.2010 в 10:00.
Ответить с цитированием
  #6  
Старый 16.06.2010, 07:25
serg154 serg154 вне форума
Прохожий
 
Регистрация: 15.06.2010
Сообщения: 10
Репутация: 10
По умолчанию

комментарии только не все поменял)
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 21:40.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter