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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.01.2009, 12:12   #1
pashun
Новичок
Джуниор
 
Регистрация: 15.01.2009
Сообщений: 1
По умолчанию Массив и матрица

Здравствуйте у меня такая проблема я нифига не понимаю в паскале может кто поможет решить двезадачки желательно сегодня. Буду благодарен за помощ. Задание 1 (с каким то внешним фаулом вроде)
Данны массивы
N1...N10 - наименование предприятий
R1...R10 - годовой расход электро энергии, кВт
S1...S10 - объем производимой продукции, руб.
Вывести список предприятий у которых отношение Ri/Si больше среднего по всей группе предприятий.
Задание 2 (тоже с внешним файлом)
В матрице вычеслить сумму элементов лежащих в диапозоне от X до Y. Заменить четные по номерам элементы первого столбца матрицы на значение этой суммы.
pashun вне форума Ответить с цитированием
Старый 15.01.2009, 16:56   #2
capta1n
Форумчанин
 
Аватар для capta1n
 
Регистрация: 06.12.2008
Сообщений: 613
По умолчанию 1) Не забудь отзыв!

Код:
program capta1n;
const
 m = 10;
type
 s15 = string[15];
var
 f : text;
 N : array [1..m] of s15;
 R : array [1..m] of longint;
 S : array [1..m] of longint;
 st : string;
 pr : s15;
 mid : real;
 i,k : byte;
 er : integer;
begin

  {$I-}
  assign(f,'input.txt');
  reset(f);
  {$I+}

  i:=0;
  if ioresult<>0 then writeln ('Takogo faila net!')
  else
   while (not EOF(f)) or (i=m) do
   begin
     readln(f,st);
     st:=st+' ';
     inc(i);

     k:=pos(' ',st);
     pr:=copy(st,1,k-1);
     N[i]:=pr;
     delete (st,1,k);

     k:=pos(' ',st);
     pr:=copy(st,1,k-1);
     val(pr,R[i],er);
     delete(st,1,k);

     k:=pos(' ',st);
     pr:=copy(st,1,k-1);
     val(pr,S[i],er)
   end;

   mid:=0;
   for k:=1 to i do mid:=mid+R[k]/S[k];
   mid:=mid/i;

   writeln ('Middle= ',mid:0:2);

   writeln ('Spisok: ');
   for k:=1 to i do
    if R[k]/S[k]>mid then writeln (N[k],';');

   readln;
end.

Текстовый файл вида:

Prosto 100000 20000000
Resao 56000 3000000
Dodo 20000 10000
Eroo 100000 20000000
toto 200000 30000000
capta1n вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi, матрица, массив… Мага Помощь студентам 3 10.12.2008 23:35
задача на паскале - Матрица,2-х мерный массив vdv08 Помощь студентам 1 14.09.2008 12:45
матрица {двумерные массив} Влдислаав3911 Помощь студентам 6 27.05.2008 08:33
Помогите Написать программу Матрица и Массив 77rusnaut Помощь студентам 4 20.12.2007 20:22