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

Пишу прогу с процедурами, которая считает количество "особых "элементов матрицы, но в конце проги не работает writeln, в чём может быть проблема? вот . заданная целочисленная матрица размером nxm. определить k-количество "особых" элементов матрицы, считая элемент "особым", если в его строке слева от него находятся элементы, меньшие его, а справа - большие. вот мой код.и если уж у меня все плохо,то предложите свой код программы. program samost; const n=5; m=5; type tmatr = array[1..n, 1..m] of integer; var a: tmatr; i,j,k: integer; procedure printmatrix(var g: tmatr); begin var i,j,k: integer; for i: =1 to n do begin for j: =1 to n do write(g[i,j]: 4); writeln end; end; procedure makematrix; begin var i,j,k: integer; randomize; for i: =1 to n do for j: =1 to n do begin a[i,j]: =random(10)-5; end; end; begin makematrix; writeln('matrica a: '); printmatrix(a); k: =0; for i: =1 to n do for j: =1 to m do begin if (a[i,j]a[i-1,j]) then inc(k) end; writeln('kolichestvo elementov = ',k); end.

👇
Ответ:
Program samost;

const
  n = 5;
  m = 5;

type
  tmatr = array[1..n, 1..m] of integer;

procedure PrintMatrix(g: tmatr);
var
  i, j: integer;
begin
  for i := 1 to n do
  begin
    for j := 1 to n do Write(g[i, j]:4);
    Writeln
  end
end;

procedure MakeMatrix(var a: tmatr);
var
  i, j: integer;
begin
  Randomize;
  for i := 1 to n do
    for j := 1 to n do a[i, j] := random(10) - 5;
end;

var
  a: tmatr;
  i, j, k: integer;

begin
  MakeMatrix(a);
  Writeln('matrica A: ');
  PrintMatrix(a);
  k := 0;
  for i := 1 to n do
    for j := 2 to m-1 do
      if (a[i, j] < a[i, j+1]) and (a[i, j] > a[i, j-1]) then inc(k);
  Writeln('kolichestvo elementov = ', k);
end.

Тестовое решение:

matrica A:
   4   4   0  -2  -3
   1  -4   4  -5   0
   2   4  -2   1  -2
  -4  -5  -4  -2   4
   1   0   0  -3   2
kolichestvo elementov = 2
4,7(19 оценок)
Ответ:
mrfurkan
mrfurkan
27.03.2021
Program samost;
const n=5; 
m=5; 
type tmatr = array[1..n, 1..m] of integer;
var a:tmatr; 
i,j,k:integer; 
procedure PrintMatrix(var g:tmatr);
begin 
var i,j:integer; 
for i:=1 to n do 
begin 
for j:=1 to n do 
write(g[i,j]:4); 
writeln 
end;
end; 
procedure MakeMatrix;
begin 
var i,j,k:integer; 
randomize; 
for i:=1 to n do 
for j:=1 to n do 
begin 
a[i,j]:=random(10)-5; 
end;
end; 
begin 
MakeMatrix; 
writeln('matrica A: '); 
PrintMatrix(a); 
k:=0; 
for i:=1 to n do 
for j:=2 to m-1 do 
begin 

if (a[i,j]>a[i,j-1])and(a[i,j]<a[i,j+1]) then 
begin
k:=k+1; ;
writeln(i,j);
end;
end; 
writeln('kolichestvo elementov = ',k);
end.
4,4(64 оценок)
Открыть все ответы
Ответ:
palnikov2000
palnikov2000
27.03.2021

Переводим третий байт IP и адреса сети в двоичную систему

50 - 110010

48 - 110000

Так как это байт (а в байте 8 бит), допишем два незначащих нуля к получившимся числам:

00110010 - IP

00110000 - адрес сети

Адрес сети получается с применения поразрядной конъюнкции к маске и IP, проще говоря, при перемножении разрядов маски и IP-адреса. И в маске всегда сначала идут только единицы, а потом только нули. То есть можно записать так:

- маска

00110010 - IP

00110000 - адрес сети

где иксы в маске и цифры в IP-адресе - множители, а разряды адреса сети - произведение.

На 3 и 4 месте в маске однозначно должны быть единицы, т.к. если там будут нули, то и в адресе сети будут нули. Плюс к этому, в маске всегда сначала идут только единицы, а потом только нули, то есть можно записать так:

1111 - маска

00110010 - IP

00110000 - адрес сети

Второй справа разряд IP-адреса - единица, а адреса сети - ноль, значит в маске может быть только ноль:

1111хх00 - маска

00110010 - IP

00110000 - адрес сети

Оставшиеся два икса могут быть и единицами, и нулями. Нужно наименьшее возможное значение, значит поставим на их место нули:

11110000 - маска

00110010 - IP

00110000 - адрес сети

То есть третий байт маски 11110000, переведём в десятичную - получим 240.

4,5(49 оценок)
Ответ:
smchnc2004
smchnc2004
27.03.2021

from random import randint

S1 = [randint(1,100) for i in range(20)]

summa1 = 0

summa2 = 0

for i in S1:

   if i % 2 == 0:

       summa1 += i

   else:

       summa2 += i

print(f"Сумма чётных = {summa1}")

print(f"Сумма нечёт = {summa2}")

print(max(S1)) # Значение наибольшего элемента в массиве

print(min(S1)) # Значение наименьшего элемента в массиве

summa = 0

for i in S1:

   if i < 30:

       summa += i

print(f"Сумма чисел меньше 30-ти = {summa}")

summa = S1[2]

for i in S1:

   summa *= i

print(f"Произведение элементов с индексов 2({S1[2]}) = {summa}")


Задайте одномерный массив, содержащий 20 элементов, взятых случайным образом из интервала [1, 100].В
4,6(48 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ