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

Дан фрагмент программы обработки двумерного массива: for i: =1 to 6 do for j: =1 to 6 do begin s: =a[i,j] mod k; if (s mod 2) = 0 then a[i,j]: = 1 else a[i,j]: = 0; end; на вход ему подан массив а, ниже. 19_21_23_25_27_29 57_59_61_63_65_31 55_81_83_85_67_33 53_79_89_87_69_35 51_77_75_73_71_37 49_47_45_43_41_39 какое минимальное значение должно быть у переменной k, чтобы по завершении выполнения фрагмента массив a содержал одинаковое количество единиц и нулей?

👇
Ответ:
Ден4ик11111111
Ден4ик11111111
09.02.2020
// PascalABC.NET 3.1, сборка 1239 от 08.05.2016
begin
  var b:array[1..6,1..6] of integer:=(
    (19,21,23,25,27,29),(57,59,61,63,65,31),
    (55,81,83,85,67,33),(53,79,89,87,69,35),
    (51,77,75,73,71,37),(49,47,45,43,41,39));
  var a:array[1..6,1..6] of integer;  
  var k:=2;
  var k0,k1:integer;
  for var i:=1 to 6 do begin
    for var j:=1 to 6 do Print(b[i,j]);
    Writeln
    end;
  Writeln;
  repeat
    k0:=0;
    k1:=0;
    Writeln('k=',k);
    for var i:=1 to 6 do begin
      for var j:=1 to 6 do begin
        if (b[i,j] mod k) mod 2=0 then
          begin a[i,j]:=1; Inc(k1) end
        else begin a[i,j]:=0; Inc(k0) end;
        Print(a[i,j])
        end;
      Writeln
      end;
    Writeln('k0=',k0,', k1=',k1);
    if k0<>k1 then Inc(k)
  until k0=k1;
  Writeln(NewLine,'k=',k)
end.

Решение
19 21 23 25 27 29
57 59 61 63 65 31
55 81 83 85 67 33
53 79 89 87 69 35
51 77 75 73 71 37
49 47 45 43 41 39

k=2
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
k0=36, k1=0
k=3
0 1 1 0 1 1
1 1 0 1 1 0
0 1 1 0 0 1
1 0 1 1 1 1
1 1 1 0 1 0
0 1 1 0 1 1
k0=12, k1=24
k=4
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
k0=36, k1=0
k=5
1 0 0 1 1 1
1 1 0 0 1 0
1 0 0 1 1 0
0 1 1 1 1 1
0 1 1 0 0 1
1 1 1 0 0 1
k0=14, k1=22
k=6
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
k0=36, k1=0
k=7
0 1 1 1 1 0
0 0 0 1 1 0
1 1 1 0 1 0
1 1 0 0 1 1
1 1 0 0 0 1
1 0 0 0 1 1
k0=16, k1=20
k=8
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
k0=36, k1=0
k=9
0 0 0 0 1 1
0 0 0 1 1 1
0 1 1 1 1 1
1 0 1 1 1 1
1 0 0 0 1 0
1 1 1 0 0 0
k0=16, k1=20
k=10
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
k0=36, k1=0
k=11
1 1 0 0 0 0
1 1 1 1 1 0
1 1 1 1 0 1
0 1 0 1 0 1
0 1 0 0 0 1
0 0 0 1 1 1
k0=16, k1=20
k=12
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
k0=36, k1=0
k=13
1 1 1 1 0 0
0 0 0 0 1 0
0 0 0 0 1 0
0 0 0 0 1 0
1 1 1 1 1 0
1 1 1 1 1 1
k0=18, k1=18

k=13

ответ: 13
4,5(84 оценок)
Открыть все ответы
Ответ:
SvetaCat115
SvetaCat115
09.02.2020
//Pascal ABC.NET 3.1 сборка 1256

Var
 s,s1:string;
begin
readln(s);
if (s[1]='в') and (s[2]=' ') then
 begin
  delete(s,1,1);
  s:='на'+s;
 end;
if (s[1]='В') and (s[2]=' ') then
 begin
  delete(s,1,1);
  s:='На'+s;
 end;
while pos(' в ',s)<>0 do
 begin
  if (s[1]='в') and (s[2]=' ') then
 begin
  delete(s,1,1);
  s:='на'+s;
 end;if (s[1]='В') and (s[2]=' ') then
 begin
  delete(s,1,1);
  s:='На'+s;
 end;
  s1:=s1+copy(s,1,pos(' в ',s)-1)+' на ';
  delete(s,1,pos(' в ',s)+2);
 end;
  if (s[1]='в') and (s[2]=' ') then
 begin
  delete(s,1,1);
  s:='на'+s;
 end;
if (s[1]='В') and (s[2]=' ') then
 begin
  delete(s,1,1);
  s:='На'+s;
 end;
s:=s1+s;
writeln(s);
end.

Пример ввода 1:
запасти в зиму, приехать в год, приготовить в день, выпить лекарство в ночь
Пример вывода 1:
запасти на зиму, приехать на год, приготовить на день, выпить лекарство на ночь

Пример ввода 2(глубокие песни современной отечественной эстрады):
В в в в в в в в в в в в в в в в в в н.
Пример вывода 2:
На на на на на на на на на на на на на на на на на на н.
4,7(81 оценок)
Ответ:
TheNekyTyan
TheNekyTyan
09.02.2020
//Pascal ABC.NET 3.1 сборка 1256

Var
 s,s1:string;
begin
readln(s);
if (s[1]='в') and (s[2]=' ') then
 begin
  delete(s,1,1);
  s:='на'+s;
 end;
if (s[1]='В') and (s[2]=' ') then
 begin
  delete(s,1,1);
  s:='На'+s;
 end;
while pos(' в ',s)<>0 do
 begin
  if (s[1]='в') and (s[2]=' ') then
 begin
  delete(s,1,1);
  s:='на'+s;
 end;if (s[1]='В') and (s[2]=' ') then
 begin
  delete(s,1,1);
  s:='На'+s;
 end;
  s1:=s1+copy(s,1,pos(' в ',s)-1)+' на ';
  delete(s,1,pos(' в ',s)+2);
 end;
  if (s[1]='в') and (s[2]=' ') then
 begin
  delete(s,1,1);
  s:='на'+s;
 end;
if (s[1]='В') and (s[2]=' ') then
 begin
  delete(s,1,1);
  s:='На'+s;
 end;
s:=s1+s;
writeln(s);
end.

Пример ввода 1:
запасти в зиму, приехать в год, приготовить в день, выпить лекарство в ночь
Пример вывода 1:
запасти на зиму, приехать на год, приготовить на день, выпить лекарство на ночь

Пример ввода 2(глубокие песни современной отечественной эстрады):
В в в в в в в в в в в в в в в в в в н.
Пример вывода 2:
На на на на на на на на на на на на на на на на на на н.
4,8(5 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ