![]() |
|
|
#1
|
|||
|
|||
|
1. Дано два числа. Верно ли, что в их записи есть одинаковые цифры? Например, 514 и 233 - неверно, 1248 и 347 -верно.
2. Известны данные о стоимости каждой из 15 моделей автомобилей и об их типе (легковой или грузовой). Найти среднюю стоимость легковых автомобилей. Все результаты поместить в текстовый файл. 3. Изобразить опускающийся парашют. Ребят, помогите. |
|
#2
|
||||
|
||||
|
1. Преобразовать числа в строки, обходить посимвольно первое число, сверяясь с цифрами второго.
2. Тоже елементарно. Сделать запись с полями Тип,Сумма. Сделать массив записей. Пройтись циклом по массиву проверяя на тип и суммируя стоимость. Одновременно подсчитывать количество совпавших. В итоге полученные суммы поделить на количество по каждому типу. 3. Не надо повторятся. |
|
#3
|
||||
|
||||
|
на первый вопр.
Код:
var
s1,s2,s3:string;
i,p, position : Integer;
begin
p:=0;
s1:=edit1.Text; //что ищем
s2:=edit2.Text; //в чем ищем
for i := 1 to Length(s2) do
begin
s3:=Copy(s1, i, 1);
position := ansiPos(s3, s2);
if position <> 0 then
inc(p);
end;
if p>0 then
ShowMessage('Верно')
else ShowMessage('Не верно');
end; |
|
#4
|
||||
|
||||
|
Можно несколько покороче:
Код:
Var
i,j: Integer;
Found: Boolean;
begin
Found := False;
for i := 1 to Length(Edit1.Text)
do for j := 1 to Length(Edit2.Text)
do if Edit1.Text[i] = Edit2.Text[j]
then Found := True;
if Found then ShowMessage('Есть')
else ShowMessage('Нет')
end;Код:
Var
i: Integer;
Found: Boolean;
begin
Found := False;
for i := 1 to Length(Edit1.Text)
do if Pos(Edit1.Text[i],Edit2.Text) <> 0
then Found := True;
if Found then ShowMessage('Есть')
else ShowMessage('Нет')
end;вторая задача так, только вывод в файл сделайте сами: Код:
Var
PriceList: Array[1..15] of TTransport;
i, Count: Integer;
Average: Real;
begin
for i := 1 to 15
do begin
case Random(2)
of 0: PriceList[i].ModelType := 'Легковой';
1: PriceList[i].ModelType := 'Грузовой';
end;
PriceList[i].Price := (1+Random(9))*10000;
end;
Average := 0;
Count := 0;
for i := 1 to 15
do begin
if PriceList[i].ModelType = 'Легковой'
then begin
Average := Average + PriceList[i].Price;
Inc(Count);
end;
end;
Average := Average / Count;
ShowMessage('Средняя сумма ='+FloatToStr(Average)+' Совпало='+IntToStr(Count));
end;Последний раз редактировалось Страдалецъ, 22.06.2009 в 01:25. |