Procedure GetRV(var r, v: real; var Final: boolean); { Организует ввод и возвращает значения роста и веса. Значение параметра Final=true - сигнал окончить ввод данных, для чего вводят нули } begin Write('Введите рост (см) и вес (кг) ->'); Readln(r, v); Final := ((r > 0) and (v > 0)) end;
function DefDesk(r: real): string; begin if r <= 140 then DefDesk := 'S' else if r < 150 then DefDesk := 'M' else DefDesk := 'L' end;
var rost, ves: real; flag: boolean;
begin repeat GetRV(rost, ves, flag); if flag then Writeln('Нужна парта типа ', DefDesk(rost)) until (not flag) end.
Тестовое решение: Введите рост (см) и вес (кг) ->135 31 Нужна парта типа S Введите рост (см) и вес (кг) ->143 41 Нужна парта типа M Введите рост (см) и вес (кг) ->151 48 Нужна парта типа L Введите рост (см) и вес (кг) ->0 0
{ Организует ввод и возвращает значения роста и веса.
Значение параметра Final=true - сигнал окончить ввод данных,
для чего вводят нули }
begin
Write('Введите рост (см) и вес (кг) ->');
Readln(r, v);
Final := ((r > 0) and (v > 0))
end;
function DefDesk(r: real): string;
begin
if r <= 140 then DefDesk := 'S'
else if r < 150 then DefDesk := 'M'
else DefDesk := 'L'
end;
var
rost, ves: real;
flag: boolean;
begin
repeat
GetRV(rost, ves, flag);
if flag then Writeln('Нужна парта типа ', DefDesk(rost))
until (not flag)
end.
Тестовое решение:
Введите рост (см) и вес (кг) ->135 31
Нужна парта типа S
Введите рост (см) и вес (кг) ->143 41
Нужна парта типа M
Введите рост (см) и вес (кг) ->151 48
Нужна парта типа L
Введите рост (см) и вес (кг) ->0 0
using System;
using System.Collections.Generic;
using System.Linq;
namespace restless
{
class Program
{
static void Main()
{
//элементы вводятся в 1 строку
List<int> lst = new List<int>(Console.ReadLine().Split(' ').Select(x => int.Parse(x)).ToArray());
for (int i = 0; i < lst.Count; i++)
if (lst[i] % 2 != 0)
lst.RemoveAt(i);
for (int i = 0; i < lst.Count; i++)
Console.Write($"{lst[i]} ");
}
}
}