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

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

👇
Ответ:
MrGromFull
MrGromFull
23.07.2021
MS DOS QBasic 1,0

DIM m AS INTEGER, n AS INTEGER
CLS
INPUT "M,N = ", m, n
REDIM a(1 TO m, 1 TO n) AS INTEGER
RANDOMIZE TIMER
FOR i = 1 TO m
   FOR j = 1 TO n
      a(i, j) = 100 * RND - 50
      PRINT USING ""; a(i, j);
      NEXT j
   PRINT
NEXT i
min = 1000: max = -1000
FOR i = 1 TO m
   FOR j = 1 TO n
      IF a(i, j) > max THEN
         max = a(i, j)
         jmax = j
      END IF
      IF a(i, j) < min THEN
         min = a(i, j)
         jmin = j
      END IF
   NEXT j
NEXT i
DIM p AS DOUBLE
p = 1
FOR i = 1 TO m
   p = p * a(i, jmax) * a(i, jmin)
NEXT i
PRINT "P="; p

Пример
M,N = 4,7
  11  42 -35  -8 -11 -40 -23
 -16 -45 -41  13   0 -41  22
  32  48  29 -10  15 -38  22
  27 -22 -23  -9   7   2  30
P= 3983377305600
4,5(34 оценок)
Открыть все ответы
Ответ:
YaroslavShevchuk
YaroslavShevchuk
23.07.2021

В задании исходный код программы введен немного неправильно, поэтому я решил его загуглить и нашел во с идентичными кодом без ответа. Код, вроде, рабочий, но я его серьезно не тестировал.

N = 1E5

a, p, s = [], [], []

def main():

       n = k = i = j = 0

       (n, k) = (int(input()), int(input()))

       p = [0] * n

       s = [0] * n

       for i in range(0, n):

               a.append(int(input()))

               if a[i] > a[j]:

                       p[i] = i

                       j = i

               else:

                       p[i] = p[j]

       

       j = n - 1

       for i in range(n - 1, -1, -1):

               if (a[i] >= a[j]):

                       s[i] = i

                       j = i

               else:

                       s[i] = s[j]

       

       m, l, r = 0, 0, k + 1

       i = l

       for j in range(r, n):

               t = a[p[i]] + a[s[j]]

               if t > m:

                       l = p[i]

                       r = s[j]

                       m = t

               i += 1;

       print(str(l + 1) + " " + str(r + 1))

if __name__ == "__main__":

       main()

4,8(29 оценок)
Ответ:
Kseniyak04
Kseniyak04
23.07.2021
Задача №1

var a:array [1..20] of integer;     
i:integer;
begin 
randomize;   
for i:=1 to 20 do begin   
a[i]:=random(19-(-10)+1)+-10;     
write (a[i],' ');           
end;
end.

Задача №2

var a:array [1..20] of integer; 
i:integer; 
begin 
writeln('Введите числа в интервале [-20;29]'); 
for i:=1 to 10 do read(a[i]); 
for i:=1 to 10 do 
if (a[i]>-29) and (a[i]<20) then write(a[i],' '); 
end.

Задача №3

var a:array [1..20] of integer; 
i,sum:integer; 
begin 
randomize; 
sum:=0; 
for i:=1 to 20 do 
begin 
a[i]:=random(19-(-10)+1)+-10; 
write (a[i],' '); 
if a[i]>0 then sum:=sum+1; 
end; 
writeln('Количество положительных элементов массива = ', sum); 
end.

Задача №4

var a:array [1..20] of integer; 
i:integer; 
begin 
randomize; 
for i:=1 to 20 do 
begin 
a[i]:=random(19-(-10)+1)+-10; 
if a[i]<0 then a[i]:=0; 
write (a[i],' '); 
end; 
end.

Задача №5

var a:array [1..20] of integer; 
i,sum:integer; 
begin 
randomize; 
sum:=0; 
for i:=1 to 20 do 
begin 
a[i]:=random(19-(-10)+1)+-10; 
write (a[i],' '); 
if a[i]>0 then sum:=sum+a[i]; 
end; 
writeln('Сумма положительных элементов массива = ', sum); 
end.
4,6(85 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ