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

Дан двумерный массив х из вещественных элементов размерностью n 1. в одномерный массив переписать отрицательные элементы двумерного массива,расположенные ниже главной диагонали 2. перенести в начало одномерного массива первый элемент,значение которого больше разности максимального и минимального элементов. для отладки программы элементы массива сформировать с генератора случайных чисел

👇
Ответ:
POMIDOrio
POMIDOrio
11.06.2021
{uses Crt;}
{Для древних сред Паскаль, работающих в DOS-режиме, снять комментарии
 в операторах uses, ClrScr, ReadKey }
const
  n = 9;
var
  x: array[1..n, 1..n] of real;
  y: array[1..n*(n-1) div 2] of real;
  i, j, k: integer;
  max, min, d: real;

begin
  Randomize;
  {ClrScr;}
  Writeln('Исходный массив');
  for i := 1 to n do
  begin
    for j := 1 to n do
    begin
      x[i, j] := 100*Random - 50;
      Write(x[i, j]:4:0)
    end;
    Writeln
  end;
  { задание 1 }
  k:=0;
  for i:=2 to n do
    for j:=1 to i-1 do
      if x[i,j]<0 then begin Inc(k); y[k]:=x[i,j] end;
  Writeln('Сформированный одномерный массив');
  for i:=1 to k do Write(y[i]:4:0);
  Writeln;
  { задание 2 }
  max:=y[1]; min:=max;
  for i:=2 to k do
    if y[i]>max then max:=y[i]
    else
      if y[i]<min then min:=y[i];
  d:=max-min;
  i:=1;
  while (abs(y[i])<=d) and (i<=k) do Inc(i);
  if i<=k then
    begin d:=y[1]; y[1]:=y[i]; y[i]:=d end;
  Writeln('Результирующий одномерный массив');
  for i:=1 to k do Write(y[i]:4:0);
  Writeln;
  {ReadKey}
end.

Тестовое решение:
Исходный массив
  37 -45 -17 -26  -6 -22  -1 -33  -3
 -27  33 -15 -14  33  37  28 -12 -36
   1  14  48  -2 -43  -1  17  34  -7
 -11  45  -5 -16  32  -8  32  -1 -40
  18  43 -13 -28  30  45  44 -38 -28
  38   0  10  48  28 -43 -12 -29 -44
   2 -11  48  33   7  10  35 -40 -28
 -48  39 -49  42   5 -16  26 -40  -5
  27 -21  34 -46   4  45 -22  29 -16
Сформированный одномерный массив
 -27 -11  -5 -13 -28   0 -11 -48 -49 -16 -21 -46 -22
Результирующий одномерный массив
 -49 -11  -5 -13 -28   0 -11 -48 -27 -16 -21 -46 -22
4,6(81 оценок)
Открыть все ответы
Ответ:
ruslansuxenco3
ruslansuxenco3
11.06.2021
// PascalABC.NET 3.3, сборка 1625 от 17.01.2018
// Внимание! Если программа не работает, обновите версию!

uses GraphABC;

begin
  var p1:=Arr((220,100),(260,100),(300,140),(240,140),(240,180),
    (280,220),(280,280),(220,320),(160,320),(100,260),(140,260),
    (180,220),(220,220),(200,180),(200,140));
  DrawPolygon(p1); FloodFill(200,300,clYellow); // тело
  p1:=Arr((160,320),(160,340),(200,340),(180,360),(160,340));
  Polyline(p1); FloodFill(180,350,clDarkOrange); // лапа 1
  p1:=Arr((220,320),(220,340),(260,340),(240,360),(220,340));
  Polyline(p1); FloodFill(240,350,clDarkOrange); // лапа 2
  Line(260,140,280,120); FloodFill(280,130,clRed); // клюв
  Brush.Color:=clWhite; Circle(260,120,5); // контур глаза
  Brush.Color:=clBlack; Circle(260,120,2) // зрачок
end.

40 ,нарисуйте рисунок в паскале,кроме: елки,домика.
4,5(32 оценок)
Ответ:
popirina2001
popirina2001
11.06.2021
Алгоритм
1) Начало
2) Объявление матрицы A(124,218)
3) Цикл по i от 1 до 62 (строки)
3.1) Цикл по k от 1 до 218 (столбцы)
3.1.1) Если k нечетное, то A(i,k)=2; иначе A(i,k)=3
3.1.2) Конец цикла по k
3.2) Второй цикл по k от 1 до 218
3.2.1) Если k нечетное, то A(i,k)=3; иначе A(i,k)=2
3.2.2) Конец второго цикла по k
3.3) Конец цикла по i (матрицу заполнили)
4) S = 0 (сумма элементов фрагмента)
5) Цикл по i от 20 до 124
5.1) Цикл по k от 30 до 218
5.1.1) S = S+A(i,k)
5.1.2) Конец цикла по k
5.2) Конец цикла по i
6) Вывод S
7) Конец.
При заполнении матрицы в каждом цикле по строке я заполняю 2 строки: одну начиная с 2, вторую начиная с 3. Поэтому цикл по i не от 1 до 124, а от 1 до 124/2=62.
Сумму я считаю внутри прямоугольника от A(20,30) до A(124,218), то есть до правого нижнего угла.
4,6(88 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ