vikapar2646
?>

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

Информатика

Ответы

vladimirdoguzov
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
ibzaira

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

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()

Shelchkowa453
Задача №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.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

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

Популярные вопросы в разделе

Kuzminastia20038
Kuznetsova702
ietishkin
ksenyabobrovich7214
marinanx
Lebedeva1577
Kotvitskii
byfetvostochniy
Эдгеева219
Рогова Ольга1156
КириллЕгорова1906
buhtovarish
zdl2008
Волков1968
Vgubushkin