Даны два набора чисел (5,6,1,2,3) и (5,8,6,0,3) написать программу , которая подсчитывает количесво чисел, которые в обоих наборах, и записывает на их место нули.решение с объяснениями пож)

LillyFox LillyFox    3   18.05.2019 00:10    2

Ответы
фиаско123 фиаско123  11.06.2020 05:14

GalyaZelenina, на каком языке нужен код?

и в задаче не очень понятное условие: совпадают на позициях? или вообще если есть совпадения?

могу вам на си или на питоне

ПОКАЗАТЬ ОТВЕТЫ
Nаstуа23 Nаstуа23  11.06.2020 05:14

Uses crt;
const mn1: array[1..5] of byte =(5,6,1,2,3); {Объявляем наши наборы}
const mn2: array[1..5] of byte =(5,8,6,0,3); {Объявляем наши наборы}

var i,c,n:integer;

begin
clrscr;
  write('Набор1 до обработки:');  
  for i:=1 to 5 do write(mn1[i]:3);  {Выводим  на экран набор 1} 
writeln;
writeln;

 write(' Набор2 до обработки: :'); 
  for i:=1 to 5 do write(mn2[i]:3);  {Выводим  на экран набор 2}

writeln;
 writeln; 

n:=1; c:=0;
  while (n<=5) do         {В цикле сравниваем n-й элемент набора1 с}
  Begin                           {каждым   элемент набора2 } 
for i:=1 to 5 do begin
  if (mn1[n]=mn2[i]) then  
begin
  c:=c+1;    {Если нашли совпадение до увеличиваем кол-во совпадающих пар чисел}
  mn1[n]:=0;          {И записываем на их место нули}
mn2[i]:=0;

break;  {переходим к след элементу набора1}
end;
  end;


Inc(n);
End;

 {Выводим результаты обработки}

write('Количество совпадающих пар чисел:',c);

writeln;
write(' Набор1 после обработки :');
for i:=1 to 5 do write(mn1[i]:3);
writeln;
writeln;

  write(' Набор2 после обработки :');
for i:=1 to 5 do write(mn2[i]:3);
  readkey; {пауза до нажатия на любую клавишу}
end.

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика