Статистика
Всего в нашей базе более 4 327 663 вопросов и 6 445 978 ответов!

В паскале создать программу: «Взвесить», то есть найти суммы в двух массивах, двух файлах, двух списках и максимально уравновесить их, обменивая значения.

10-11 класс

Oleshgaga 14 июля 2013 г., 10:10:46 (10 лет назад)
Рейтинг
+ 0 -
0 Жалоба
+ 0 -
Qwertyui21
14 июля 2013 г., 11:52:29 (10 лет назад)

Программа не идеально, но требуемый результат выдает. Несколько прогонов сделал, ошибок не было.
type  mas=array[1..10]of integer;
var
   i,j,k,sa,sb,r:integer;
   f:boolean;
   a,b:mas;

procedure zapoln(var a:mas);
var i:integer;
begin
for i:=1 to 10 do  a[i]:=random(10);
end;

function sum(a:mas):integer;
var i:integer;
begin
for i:=1 to 10 do  result:=result+a[i];
end;

procedure vyvod(a:mas);
var i:integer;
begin
for i:=1 to 10 do  write(a[i],' ');
writeln('; Сумма:',sum(a));
end;

procedure swap(var a,b:mas);
var i,k,j:integer;
begin
i:=random(1,10);
j:=random(1,10);
k:=a[i];
a[i]:=b[j];
b[j]:=k;
end;

begin
f:=false;
zapoln(a);
zapoln(b);
vyvod(a);
vyvod(b);
sa:=sum(a);
sb:=sum(b);
r:=sa-sb;
i:=1;
j:=1;
if r=1 then f:=true else
repeat
  while i<11 do
    begin
    while j<11 do
      begin
      if a[i]-b[j]=r/2 then
        begin
        k:=a[i];
        a[i]:=b[j];
        b[j]:=k;
        j:=10;
        i:=10;
        f:=true;
        end;
      j:=j+1
      end;
    j:=1;
    i:=i+1;
    end;
  if f=false then
    begin
    swap(b,a);
    sa:=sum(a);
    sb:=sum(b);
    r:=sa-sb;
    i:=1;
    j:=1;
    if r=1 then f:=true;
    end;
  i:=1;
  until f;
writeln('Решение:');
vyvod(a);
vyvod(b);
end.

Ответить

Другие вопросы из категории

Для чего используется кэширование памяти в микропроцессоре?

1) для согласования работы устройств с разным быстродействием за счет введения тактов ожидания для более быстродействующего устройства

2) введение буферных модулей памяти для согласования обмена информацией между микропроцессором и менее быстродействующей оперативной памятью

3) для возможности работы в мультипрограммном режиме

4) для загрузки данных из оперативной памяти в микропроцессор

переведите из двоичной системы исчисления в десятичную числа

101000,1010,1111,10100,11001,101000 пожалуйсто заранее спасибо!!!!!!!

Читайте также

Delphi 7 написать программу "Телевизор".То есть, экран телевизора, рядом пульт, при нажатии на кнопки пульта на телевизора

появляются разные картинки.( в среднем надо 5 каналов- то есть 5 кнопок задействовать на пульте.

Составить программу в СИ:

1) Составить программу, проверяющую, является ли заданное натуральное число совершенным, то есть равным сумме своих положительных делителей, кроме самого этого числа.
2) Напечатать числа в виде следующей таблицы:
5 5 5 5 5
6 6 6 6
7 7 7
8 8
9

Найти сумму двузначных нечетных чисел. Вывести сумму. А также выводить на экран сколько вводилось двузначных чисел и сколько из них

было нечетных. То есть всего должно быть 3 вывода. Помогите пожалуйста!



Вы находитесь на странице вопроса "В паскале создать программу: «Взвесить», то есть найти суммы в двух массивах, двух файлах, двух списках и максимально уравновесить их, обменивая значения.", категории "информатика". Данный вопрос относится к разделу "10-11" классов. Здесь вы сможете получить ответ, а также обсудить вопрос с посетителями сайта. Автоматический умный поиск поможет найти похожие вопросы в категории "информатика". Если ваш вопрос отличается или ответы не подходят, вы можете задать новый вопрос, воспользовавшись кнопкой в верхней части сайта.