|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
По заданной последовательности заявок найти средний размер обуви
Анкета спортсмена, подавшего заявку на соревнование, состоит из его пола, роста, веса, размеров одежды и обуви. По заданной последовательности заявок найти средний размер обуви женщин, вес которых не превышает 50 кг.
|
#2
|
|||
|
|||
Пиши реализую
ICQ: 410691984 |
#3
|
||||
|
||||
Как то уже что то такое делал...
Немного не то, но под себя подогнать можно, если надо, скину весь проект, с формой Код:
//Анкета спортсмена, подавшего заявку на соревнование, состоит из его //пола, роста, веса, размеров одежды и обуви. //По заданной последовательности заявок найти //суммарный рост всех тех спортсменок, рост которых превышает два метра, //и общий вес тех спортсменок, которые носят одежду 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
|
|||
|
|||
спасибо большое!
|
#5
|
|||
|
|||
Смотрите, что получается. Не знаю, как задать количество необходимых ячеек, чтобы найти среднее арифметическое.
Код:
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, 16.06.2010 в 10:00. |
#6
|
|||
|
|||
комментарии только не все поменял)
|