Var
i, k, n1, n2: integer;
begin
n1 := 0;
n2 := 0;
{предполагается, что нумерация домов начинается с 1}
writeln('Вводите количество жителей в порядке возрастания номеров домов');
writeln('Окончание ввода - по отрицательному значению');
i := 1;
repeat
read(k);
if k > 0 then
begin
if i mod 2 = 0 then n2 := n2 + k
else n1 := n1 + k;
i := i + 1
end
until k < 0;
write(#13#10, 'Большее количество людей проживает на ');
if n1 > n2 then writeln('левой стороне улицы.')
else writeln('правой стороне улицы.')
end.
Тестовое решение:
Вводите количество жителей в порядке возрастания номеров домов
Окончание ввода - по отрицательному значению
13 56 25 31 98 35 72 64 -1
Большее количество людей проживает на левой стороне улицы.
1. Современное решение
<em>// PascalABC.NET 3.2, сборка 1363 от 17.12.2016</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
ReadlnString('>').ToCharArray.Select((c,i)->i.IsOdd?2*c:1*c).Println('')
end.
<u>Пример</u>
> СЛОВО
СЛЛОВВО
2. "Школьное" решение
var
s,s1:string;
i:integer;
begin
Write('>'); Readln(s);
s1:='';
for i:=1 to Length(s) do
if i mod 2<>0 then s1:=s1+s[i]
else s1:=s1+s[i]+s[i];
Writeln(s1)
end.
42 = 32+8+2
то есть состоит оно из 2в пятой степени + 2 в третьей + 2 в первой
значит единицы надо ставить во второй (первая степень двоек), четвертый (третья степень двоек) и шестой (пятая степень двоек) разряды
Это писаться будет так:
101010
Ура!)
Получится такая последовательность кодов:
<span>86 42 01 41 83 43 01 41 86 42</span>
<span>
</span>
Var
i:integer;
a,c:array[1..4]of integer;
b:array[1..2]of integer;
begin
write('Массив а: ');
for i:=1 to 4 do
begin
a[i]:=random(10);
if a[i]>b[1] then b[1]:=a[i];
c[i]:=random(10);
if c[i]>b[2] then b[2]:=c[i];
write(a[i],' ');
end;
writeln;
write('Массив c: ');
for i:=1 to 4 do write(c[i],' ');
writeln;
write('Массив b: ');
for i:=1 to 2 do write(b[i],' ');
<span>end.</span>