М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Хантенир11
Хантенир11
18.04.2022 07:45 •  Информатика

PASCAL 2. Составить программу, которая в данном массиве: m[1]:=4; m[2]:=8; m[3]:=7; m[4]:=2; m[5]:=1;m[6]:=8; m[7]:=1; m[8]:=5; m[9]:=6; m[10]:=8;
находит максимальный элемент (элементы) и заменяет его (их) на 0.

3. Дан массив a[0..n-1] из n чисел 0 и 1. Требуется разделить элементы друг от друга так, чтобы сначала оказались все 0, а в конце 1.

5. Как можно сделать так, чтобы первая половина массива была отсортирована по возрастанию, а вторая — по убыванию. Напишите программу для 10 случайных цифр.

👇
Ответ:
Magster
Magster
18.04.2022

Программа:

Pascal:

№2)

var

 m: array[1..10] of integer;

begin

 m[1]:=4; m[2]:=8; m[3]:=7; m[4]:=2; m[5]:=1; m[6]:=8; m[7]:=1; m[8]:=5; m[9]:=6; m[10]:=8;

 for var i := 1 to 10 do

   if m[i] = m.max then m[i]:= 0;

 writeln(m);

end.

№3)

const n = 10;

var

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

 i, k, tmp: integer;

begin

 for i := 1 to n do a[i] := random(0, 1);

 writeln('Массив: ', a);

 

 for i := 1 to n - 1 do

   for k := 1 to n - i do

     if a[k] > a[k + 1] then begin

       tmp := a[k];

       a[k] := a[k + 1];

       a[k + 1] := tmp;

     end;

 writeln(a);

end.

№5)

const n = 10;

var

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

 a1, a2: array[1..n div 2] of integer;

 i, k, tmp: integer;

begin

 for i := 1 to n do a[i] := random(-10, 10);

 writeln('Исходный массив: ',a);

 

 for i := 1 to n div 2 do a1[i] := a[i];

 for i := (n div 2 + 1) to n do a2[i - n div 2] := a[i];

 

 for i := 1 to n div 2 - 1 do

   for k := 1 to n div 2 - i do

     if a1[k] > a1[k + 1] then begin

       tmp := a1[k];

       a1[k] := a1[k + 1];

       a1[k + 1] := tmp;

     end;

 for i := 1 to n div 2 - 1 do

   for k := 1 to n div 2 - i do

     if a2[k] < a2[k + 1] then begin

       tmp := a2[k];

       a2[k] := a2[k + 1];

       a2[k + 1] := tmp;

     end;

     

 for i := 1 to n do

   if i <= 5 then a[i] := a1[i]

   else a[i] := a2[i - n div 2];

 writeln('Выходной массив: ', a);

end.

4,6(60 оценок)
Открыть все ответы
Ответ:
badoo40
badoo40
18.04.2022
Сделал с нуля, вот.

Program naconecto;vara:array [1..2,1..2] of integer;b:array [1..2,1..2] of integer;i,j,s,p:integer; BEGINrandomize;s:=0;p:=1;for i:=1 to 2 do  begin    for j:=1 to 2 do      begin        A[i,j]:=random(-100,100);        B[i,j]:=random(-100,100);        if (A[i,j] mod 3 = 0) and (A[i,j] mod 5 = 0) then          begin            s:=s+A[i,j];          end;        if B[i,j]<0 then          begin            p:=p*B[i,j];          end;      end;  end;writeln('npou3BegeHue=',p);writeln('cyMMa=',s);readln;END.

судя по твоей программы ты мыслишь так, когда говорят двумерный массив, ты думаешь что это нужно 2 отдельных массива сделать (получается одномерных), а не 1 (получается двумерный) и суёшь их каждый отдельно в один массив (двумерный), так появляется твой один двумерный, состоящий из двух одномерных. Задача хочет чтобы было два двумерных, например A и B. Ну а чтобы не создавать им 2 элемента внутри, можно рандомные числа ввести, чтобы не мучится вводить. И смотрю храмает в районе записей A[j] и A[i,j]. Разница в том, что в двумерном массиве в Pascal'e запись A[j] когда двумерный массив у тебя выведет все значения у номера столбца (что явл. j например 1), это те что сверху вниз. A[i] выведет значения всех данных первой строки (если I = 1). Чтоб конкретно к яйчейке обратится, нужно указать A[i,j] например A[1,2] будет ячейка первой строки отступом и второго столбца (отступом сверху). Представлять можно таблицой.
4,6(24 оценок)
Ответ:
TOFeFE
TOFeFE
18.04.2022
Задание №1

//PascalABC.NET (версия 3.1, сборка 1210 от 29.03.2016)
var
  b: array of real;
  i, n,pn: integer;
  ps,op,min:real;
begin
  write('Количество элементов массива :');readln(n);
  SetLength(b, n); // задаем длину массива
  min:=MaxReal; op:=1;
  writeln('Исходный массив:');
  for i:=0 to n-1 do begin
    repeat
      write('Введите ',i+1,' число из ',n,' : ');readln(b[i]);
    until (b[i]<=5) and (b[i]>=-20);
    if (b[i]>0) and (round(b[i]/2)*2=b[i]) then begin
      ps +=b[i];pn+=1;
      end
    else if b[i]<0 then  op *=b[i];
    if b[i]<min then min:=b[i];
  end;
  writeln;
  writeln('сумма положительных и четных элементов массива :',ps:0:3);
  writeln('Среднее положительных и четных элементов массива :',ps/pn:0:3);
  writeln('Произведение отрицательных элементов массива :',op:0:3);
  writeln('Минимальный элемент массива :',min);
  writeln('Отсортированный массив по убыванию :');
  b.sorteddescending.println;
end.

Тестовое решение:
Количество элементов массива :8
Исходный массив:
Введите 1 число из 8 : -18.5
Введите 2 число из 8 : 3.4
Введите 3 число из 8 : 4
Введите 4 число из 8 : -12
Введите 5 число из 8 : 2.2
Введите 6 число из 8 : -6.3
Введите 7 число из 8 : 2
Введите 8 число из 8 : 5

сумма положительных и четных элементов массива :6.000
Среднее положительных и четных элементов массива :3.000
Произведение отрицательных элементов массива :-1398.600
Минимальный элемент массива :-18.5
Отсортированный массив по убыванию :
5 4 3.4 2.2 2 -6.3 -12 -18.5

Задание №2
//PascalABC.NET (версия 3.1, сборка 1210 от 29.03.2016)
var
  a: array of integer;
  i,n ,max,h,k: integer;
begin
  write('Количество элементов массива :');readln(n);
  write('Число H :');readln(h);
  write('Число K :');readln(k);
  SetLength(a, n); // задаем длину массива
  max:=-MaxInt;
  writeln('Исходный массив:');
  for i:=0 to n-1 do
    repeat
      write('Введите ',i+1,' число из ',n,' : ');readln(a[i]);
      if a[i]>max then max:=a[i];
    until (a[i]<=7) and (a[i]>=-12);
  for i:=0 to n-1 do begin 
    if (a[i]>h) and (a[i]mod k=0) then
      writeln('Число ', a[i],' больше ',h,' и кратно ',k);
  end;
  writeln('Максимальный элемент массива :',max);
  writeln('Отсортированный массив по возрастанию :');
  a.sorted.println;
end.

Тестовое решение:
Количество элементов массива :8
Число H :-8
Число K :2
Исходный массив:
Введите 1 число из 8 : -10
Введите 2 число из 8 : 6
Введите 3 число из 8 : -4
Введите 4 число из 8 : 3
Введите 5 число из 8 : 1
Введите 6 число из 8 : -1
Введите 7 число из 8 : -12
Введите 8 число из 8 : 4
Число 6 больше -8 и кратно 2
Число -4 больше -8 и кратно 2
Число 4 больше -8 и кратно 2
Максимальный элемент массива :6
Отсортированный массив по возрастанию :
-12 -10 -4 -1 1 3 4 6
4,5(23 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
Полный доступ к MOGZ
Живи умнее Безлимитный доступ к MOGZ Оформи подписку
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ