Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.10.2011, 20:53   #1
The_Joker
 
Аватар для The_Joker
 
Регистрация: 15.05.2011
Сообщений: 4
По умолчанию Pascal метод минимальной стоимости

Не работает задача, просьба помочь с решением, текст ниже:
Код:
program pr1;
uses crt;
type mas=array[1..20]of integer;
     mat=array[1..20,1..30]of integer;
var i,j,i1,j1,i2,j2,i3,j3,s,q,min,n,m:integer;
    a,b:mat;
    a1,b1:mas;
function sum(var a1,b1:mas;var n,m:integer):integer;
var l,p,z1,z2,sum1:integer;
begin
    sum1:=0;
    for l:=1 to n do begin
    z1:=a1[l];
    for p:=1 to m do begin
    z2:=b1[p];
    sum1:=sum1+z1+z2;
    end;
    end;
    sum:=sum1;
end;
begin
     clrscr;
     writeln('vvedi kol-vo strok:');
     readln(n);
     writeln('vvedi kol-vo stolbchov:');
     readln(m);
     write('VVOD MATRIX');
     for i:=1 to n do
     for j:=1 to m do
     readln(a[i,j]);
     write('VVOD ZNACHENIY POSTAVSHIKA');
     for i1:=1 to n do
     readln(a1[i1]);
     write('VVOD ZNACHENIY POTREBITELYA');
     for j1:=1 to m do
     readln(b1[j1]);
     while sum(a1,b1,n,m)>0 do begin
     min:=a[1,1];
     for i:=1 to n do begin
     for j:=1 to m do begin
     if (min>a[i,j]) and (a[i,j]<>0)
     then begin min:=a[i,j];
                s:=i;
                q:=j;
          end;
     end;
     end;
     for i1:=1 to n do begin
     for j1:=1 to m do begin
     for i2:=1 to n do begin
     for j2:=1 to m do begin
     if (s=i1)and(q=j1)and(a1[i1]>b1[j1])
     then begin b[s,q]:=a1[i1]-b1[j1];
                a1[i1]:=a1[i1]-b1[j1];
                b1[j1]:=0;
          end
     else begin b[s,q]:=b1[j1]-a1[i1];
                b1[j1]:=b1[j1]-a1[i1];
                a1[i1]:=0;
          end;
     end;
     end;
     end;
     end;
     end;
     for i2:=1 to n do
     for j2:=1 to m do
     writeln(b[i2,j2]);
readkey;
end.

Последний раз редактировалось Stilet; 08.10.2011 в 11:33.
The_Joker вне форума Ответить с цитированием
Старый 08.10.2011, 09:20   #2
Wild_klas
Форумчанин
 
Аватар для Wild_klas
 
Регистрация: 13.10.2010
Сообщений: 109
По умолчанию

Суть задачи изложи.
Учусь учиться.
Wild_klas вне форума Ответить с цитированием
Старый 08.10.2011, 18:25   #3
The_Joker
 
Аватар для The_Joker
 
Регистрация: 15.05.2011
Сообщений: 4
По умолчанию

http://matmetod-popova.narod.ru/theme26.htm - метод минимальной стоимости
The_Joker вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Turbo Pascal[програмыки : текстовая\метод симпсона\метод половинного деления qsccsq Помощь студентам 7 24.12.2010 05:23
Поиск минимальной стоимости GBTA Общие вопросы C/C++ 1 10.07.2010 11:17
Метод Зейделя (Pascal) Necronicle Помощь студентам 1 06.06.2010 16:50
определения магазина, в котором стоимость некоторой заданной корзины продуктов будет минимальной, Pascal real-people Помощь студентам 4 22.12.2008 20:32