Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Паскаль


Автор: Asmadey 20.1.2004, 22:45
Если кто может решить!!!!!
Задача№1
На N участках шахты совместно добывается коксующийся и энергетический уголь. Известны распределения добычи (ск. тонн) коксующегося и энергетического угля и
средние затраты (в руб.) на 1т на каждом участке. Определить затраты на добычу
коксующегося и энергетического угля (в отдельности) на участке и на шахте в целом.
Определить участок, на котором минимальные затраты на добычу коксующегося
угля.

Задача№2
Столбец, содержащий наибольший элемент матрицыА,В. В изменённой матрице А подсчитать количество положительных элементов в каждой строке. На печать выдать: 1) исходные матрицы А, В; 2) изменённую матрицу А; 3) количество положительных элементов в каждой строке.

Автор: Kesh 20.1.2004, 23:18
Код
program coal;

const
 MaxN = 10; // Максимальное количество участков

var
 N: integer; {количество участков}
 i: integer; {бегунок для циклов}
 Cm,Em: array[1..maxN] of Real;{Масса добываемого угля на участках}
 Cp,Ep: array[1..maxN] of Real;{стоимость добываемого угля на участках}
 Mc,Me: Real; {Добыча угля на всей шахте}
 Pc,Pe: Real; {Стоимость добычи}
begin
 Write('Количество участков: ');
 ReadLn(n);
 for i := 1 to n do
   begin
     Write('Количество добытого кокс. угля на ',i,' учатке: ');
     ReadLn(Cm[i]);
     Write('Количество добытого энерг. угля на ',i,' учатке: ');
     ReadLn(Em[i]);
     Write('Стоимость добычи 1т. кокс. угля на ',i,' учатке: ');
     ReadLn(Cp[i]);
     Write('Стоимость добычи 1т. энерг. угля на ',i,' учатке: ');
     ReadLn(Ep[i]);
   end;
 Mc := 0;
 Me := 0;
 Pc := 0;
 Pe := 0;
 WriteLn('---');
 for i := 1 to n do
   begin
     WriteLn('На ',i,'-м участке добыто');
     WriteLn(Cm[i],' кокс. угля, затраты ', Cm[i]*Cp[i]);
     WriteLn(Em[i],' энерг. угля, затраты ', Em[i]*Ep[i]);
     WriteLn('Итого ',Cm[i]+Em[i],' т. угля, затраты ',Cm[i]*Cp[i]+Em[i]*Ep[i]);
     WriteLn('---');
     Mc := Mc+Cm[i];
     Me := Me+Em[i];
     Pc := Pc+Cm[i]*Cp[i];
     Pe := Pe+Em[i]*Ep[i];
   end;
 WriteLn('Итого по шахте:');
 WriteLn(Mc,' кокс. угля, затраты ', Pc);
 WriteLn(Me,' энерг. угля, затраты ', Pe);
 WriteLn('Итого ',Mc+Me,' т. угля, затраты ',Mc*Pc+Me*Pe);
 Write('Enter для выхода...'); ReadLn
end.

Автор: Kesh 20.1.2004, 23:19
Вторую задачу сначала сформулируй... Откуда берется измененная матрица А?..

Автор: Kesh 20.1.2004, 23:22
Цитата(Asmadey @ 20.1.2004, 19:45)
Если кто может решить!!!!!

Да никто не сможет... Я письмо самому Кнуту писал, чтобы он помог...

Автор: lifer 21.1.2004, 01:51
kesh
Цитата
Определить участок, на котором минимальные затраты на добычу коксующегося
угля.

Пропустил smile.gif
Код
min:=Cm[1]*Cp[1];
for i:=2 to n do
   begin
   if Cm[i]*Cp[i]<min then min=Cm[i]*Cp[i];
   end;
writeln('Минимальные затраты на', i ,'-м участке');


Паскаль... как давно это было... wink.gif

Автор: Kesh 21.1.2004, 14:54
lifer Точно... Бывает.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)