Вопрос задан 30.04.2021 в 05:45. Предмет Информатика. Спрашивает Акуневич Антон.

Написать задачу на языке PascalABC 3.1 На улице дома с чётными номерами находятся с левой

стороны, а с нечётными — с правой. Известно количество жителей в каждом доме. Посчитайте разницу между суммарными количествами жителей левой стороны и правой. Входные данные Первая строка состоит из одного числа n (1⩽n⩽1000) — количество домов на улице. Следующая строка содержит n целых чисел xi (0⩽xi⩽10000) — количество жителей в i-м доме(1⩽i⩽n). Результат Нужно вывести одно целое число — разницу между суммарными количествами жителей левой стороны улицы и правой. Пример Исходные данные 3 3 1 4 Результат -6 Пояснение: на левой стороне 1 житель, на правой 7, разница равна 1
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Мусабеков Руслан.
Program t;
varn, x, i, s, k:integer;
a:array [0..20] of integer; {20 =это максимальное количество домов .Вместо 20 поставь любое  число}
begin
write('Введите количество домов на улице : ');
read(n);
for i:=1 to n do
begin
write('Введите количество жителей в ', i, ' -м доме : ');
read(a[i]);
end; 
for i:=1 to n do    
if i mod 2=0 then s:=a[i]+s; {Считаем жителей правых}        
        for i:=1 to n do
        if i mod 2=1 then k:=a[i]+k;{Считаем жителей левых} 
if s>k then write('Разница между домами ', k-s ); 
if s<k then write('Разница между домами ', s-k );
end.


Введите количество домов на улице : 3
Введите количество жителей в 1 -м доме : 3
Введите количество жителей в 2 -м доме : 1
Введите количество жителей в 3 -м доме : 4
Разница между домами -6

Писал на Версии 3.3
Скобки это комментарии,их можно убрать


0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Пример кода на языке PascalABC 3.1 для решения данной задачи:

css
var n, i, left_sum, right_sum: integer; x: array[1..1000] of integer; begin readln(n); left_sum := 0; right_sum := 0; for i := 1 to n do begin read(x[i]); if i mod 2 = 0 then left_sum := left_sum + x[i] else right_sum := right_sum + x[i]; end; writeln(right_sum - left_sum); end.

Пояснение к коду:

Первоначально объявляем переменные n (количество домов), i (переменная для цикла), left_sum и right_sum (суммы жителей на левой и правой сторонах соответственно).

Затем считываем число n с помощью readln(n) и инициализируем left_sum и right_sum нулями.

В цикле for i := 1 to n do считываем количество жителей в каждом доме x[i] с помощью read(x[i]) и добавляем это значение к сумме жителей на левой или правой стороне, в зависимости от того, чётный или нечётный номер у дома. Это делается с помощью условного оператора if i mod 2 = 0 then, который проверяет, делится ли i на 2 без остатка (т.е. является ли номер дома чётным).

Наконец, выводим разницу между right_sum и left_sum с помощью writeln(right_sum - left_sum).

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос