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

В одномерном массиве произвольных чисел А(10) положительные элементы уменьшить в двое, а отрицательные элементы заменить на значения их индексов. ответ нужен в VBA а не pascal!

👇
Открыть все ответы
Ответ:
Zhannochka3110
Zhannochka3110
26.01.2022
Задание №1

program z1;
const n = 3;
  m =3;
var a:array[1..n, 1..m] of integer;
i,j,min:integer;
begin
//Заполним матрицу и найдем минимальное
  min:=20;
  for i:=1 to n do begin
    for j:=1 to m do begin
      a[i,j]:=random(41)-20;
      if a[i,j] < min then min:=a[i,j];
      write(a[i,j]:4);
    end;
  writeln;
  end;
  writeln;
// меняем минимальное на 0 и выводим матрицу
  for i:=1 to n do begin
    for j:=1 to m do begin   
      if a[i,j] = min then a[i,j]:=0;
      write(a[i,j]:4);
    end;
  writeln;
  end;  
end.

Тестовое решение для 1 задачи:
  18  20 -10
  19 -14 -17
  -4 -17 -15

  18  20 -10
  19 -14   0
  -4   0 -15

Задание №2

program z2;
const n = 3;
  m =5;
var a:array[1..n, 1..m] of integer;
i,j,min:integer;
begin
//Заполним матрицу
  for i:=1 to n do begin
    for j:=1 to m do begin
      a[i,j]:=random(41)-20;
      write(a[i,j]:5);
    end;
  writeln;
  end;
  writeln;
// меняем все элементы на их квадраты и выводим матрицу
  for i:=1 to n do begin
    for j:=1 to m do begin  
      a[i,j]:=sqr(a[i,j]);
      write(a[i,j]:5);
    end;
  writeln;
  end; 
end.

Тестовое решение для задания №2
   15    8   18  -17   10
  -19   17    1   20  -15
  -20  -13  -11   -3   17

  225   64  324  289  100
  361  289    1  400  225
  400  169  121    9  289
4,4(23 оценок)
Ответ:
Yanawer
Yanawer
26.01.2022
В начале мы создаем массив случайных элем.
Потом работаем с ним.
Нам нужны 2 переменные:
1 - переменная, для сохранения результата (номера).
2 - переменная флажок.
Мы обходим весь массив ПО СТОЛБЦАМ.
В начале обхода конкретного столбца переменной флажка присвоим 1.
Сравниваем текущий элемент столбца с последующим,
если они не равны то ставим флажок 0

Код:
//Размерность массива
const n = 3;
//Сам массив
var 
ar : array[1..n,1..n] of integer;
//Переменные для работы с массивом
var 
i,j : integer; 
//Переменные для поиска столбца
//f - переменная флажок, которая по окончанию обхода столбца будет
//показывать одинаковы ли элементы в нем
//numb - переменная, в которой сохраним номер столбца с
//одинаковыми значениями элементов.
var 
f,numb : integer;
begin
//Создание и вывод на экран массива
//Элементы генерируются случайным образом
//  
for i:=1 to n do 
begin   
for j:=1 to n do   
begin     
ar[i,j] := random(2);     
write(ar[i,j]:3);   
end;   
writeln;   
end;  
// 

//Вот сам алгоритм поиска
//
//Записываем в numb значение -1
//Если в процессе работы значение не изменится (-1)
//То означает, что в массиве нет одинаковых столбцов
  numb := -1; 

//Идем по массиву
//
for j:=1 to n do
//Момент начала конкретного j столбца  
  begin    
//записываем в f значение 1
  //Предполагаем, что столбец одинаков
  //Если в конце обхода конкретного столбца значение f=1
  //Значит, что данный столбец одинаков
  f := 1;    
 
//Идем по столбцу
// n-1
//(т.к сравниваем текущий со следующим)
for i:=1 to n-1 do   
begin  
//Сравниваем текущий элемент столбца, со следующим     
if (ar[i,j] <> ar[i+1,j]) then
    //Если они не равны, то изменяем значение флажка f на 0       
    f := 0;   
end; 
//Конец обхода конкретного столбца  
 
//Если столбец одинаков   
if (f = 1) then
    //то записываем его номер в numb     
    numb := j;  
end;  
//  

//Вывод результата 
if (numb <> -1) then   
writeln('Столбец №: ',numb) 
else   
writeln('Нет ни одного одинакового столбца');    
end.
4,8(86 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ