В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
Diana120000
Diana120000
10.06.2021 03:08 •  Информатика

Язык си.
Объект – дом (название улицы; номер дома; тип: обычный, кооперативный, малосемейный, другое). Множество данных – дома домоуправления. Задание: 1 – отсортировать дома по убыванию названия улицы, дома одной улицы должны быть отсортированы по возрастанию номера; 2 – найти количество различных типов домов, номер которых находится в заданном диапазоне. Для доступа к элементам динамического массива использовать указатели (операцию [] использовать нельзя).

Показать ответ
Ответ:
tinkimolko
tinkimolko
01.04.2023 02:30

Первая программа

const n=10;

var a,b:array[1..n] of integer;

   i,j:integer;

begin

 for i:=1 to n do readln(a[i]);

 for i:=1 to n do

   writeln('a[',i,']=',a[i]);

   

 for i:=n downto 1 do begin

   for j:=n-i+1 to n do begin

     b[j]:=a[i];

     break;

   end;

 end;

 

 for i:=1 to n do

   writeln('b[',i,']=',b[i]);

end.

Вторая программа

const n=10;

var i,s1,s2:integer;

   a:array[1..n] of integer;

begin

 for i:=1 to n do readln(a[i]);

 for i:=1 to n do begin

   if(a[i] mod 2 = 0) then

     s1:=s1 + a[i];

   if(a[i] mod 2 <> 0) then

     s2:=s2 + a[i];

 end;

 writeln('Разность равна: ',s1-s2);

end.

Третья программа

const n=10;

var i,s1,s2:integer;

   a:array[1..n] of integer;

begin

 for i:=1 to n do readln(a[i]);

 for i:=1 to n do begin

   if(i mod 2 = 0) then

     s1:=s1 + a[i];

   if(i mod 2 <> 0) then

     s2:=s2 + a[i];

 end;

 writeln('Разность равна: ',s1-s2);

end.

0,0(0 оценок)
Ответ:
ta2001nja
ta2001nja
01.04.2023 02:30

Для начала заводим переменную счетчик для подсчета количества четных и нечетных .

var count,count2:integer;

Далее в теле цикла с массивом, после его вывода добавляем условие if then else

if a[i].IsEven then count+=1 else count2+=1

Т.е. сам цикл будет выглядить так

for i := 1 to n do

 begin

   a[i] := Random(1, 50);

   Write(a[i], ' ');

   if a[i].IsEven then Count += 1 else Count2 += 1;

end;

Вместо a[i].IsEven можно использовать not Odd(a[i]) или уже a[i] mod 2 = 0

Ну а далее уже вывод количеств четных и нечетных

Можно сделать все еще проще.

begin

 var a := ArrRandom(20, 1, 50);

 Println('Четных ', a.Where(z -> z mod 2 = 0).Count, 'Нечетных ', a.Where(z -> Odd(z)).Count);  

end.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота