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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.06.2011, 18:43   #1
Alexar Makken
Пользователь
 
Регистрация: 15.11.2010
Сообщений: 19
По умолчанию Рабочие и общий процент брака

Задание: Имеются сведения о 7 рабочих бригады в виде: за каждый из пяти дней количество изготовленных им деталей и количество бракованных из них. Для каждого рабочего определить общий процент брака за 5 дней.
Вот наработки:
Код:
uses crt;
const
     n=2;
     m=3;
var
     i,j,k,g,imin,jmin,min: integer;
     a,b,c: array[1..n,1..m] of integer;
     proc: integer;
begin
     clrscr;
     //Ввод с клавиатуры
     for i:=1 to n do
     for j:=1 to m do
     begin
          write(i,'- рабочий ');
          writeln(j,'- день ');
          write('количество изготовленных деталей ');
          readln(a[i,j]);
          write('количество забракованных деталей ');
          readln(b[i,j]);
     end;
     for i:=1 to n do
     for j:=1 to m do
     c[i,j]:=b[i,j] div a[i,j];
 
     proc:=0;
     for i:=1 to n do
     for j:=1 to m do
     begin
     proc:=proc + c[i,j];
     proc:=proc div 5;
     write('общий процент брака для ',i,'го рабочего: ',proc);
     end;
 
 
end.
Alexar Makken вне форума Ответить с цитированием
Старый 06.06.2011, 20:45   #2
Jaguar83
Профессионал
Пользователь
 
Аватар для Jaguar83
 
Регистрация: 25.05.2011
Сообщений: 91
По умолчанию

Честно говоря, толком не смотрел код. Тебе стоит подумать, как лучше структурировать имеющиеся данные. Почему у тебя n = 2, когда рабочих 7, и m =3, когда дней 5??? И далее непонятно, что ты делаешь. Могу предложить следующее решение.

Код:
type
  TWorker = record
    all:  Integer;
    brak: Integer;
  end;

const
  n = 7;
  m = 5;

var i,j: Integer;
    c: array [1..n,1..m] of TWorker;
    a: array [1..n] of Integer;
    sum_all, sum_brak: Integer;

begin
  for i:=1 to n do
  begin
     sum_all:=0; sum_brak:=0;
     for j:=1 to m do
     begin
          Write(i,'- рабочий ');
          Writeln(j,'- день ');
          Write('количество изготовленных деталей ');
          Readln(c[i,j].all);
          Write('количество забракованных деталей ');
          Readln(c[i,j].brak);
          sum_all  := sum_all + c[i,j].all;
          sum_brak := sum_brak + c[i,j].brak;
     end;
     a[i] := sum_brak*100 div sum_all;
  end;
  Writeln;
  for i:=1 to n do
    Writeln('общий процент брака для ',i,'го рабочего: ',a[i],'%');
  Readln;
end.
Информацию о общем количестве деталей и бракованных я храню в записи TWorker. В цикле вычисляю процент брака и сохраняю его для каждого рабочего в массив a .
Помог? Будь человеком - жми на весы слева!

Последний раз редактировалось Jaguar83; 06.06.2011 в 20:47.
Jaguar83 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Показываем свои рабочие места Hallo Свободное общение 323 13.04.2023 11:19
Процент. ROBERT033 Microsoft Office Excel 7 13.05.2011 00:05
Что Значит неиспользуя рабочие массивы на языке Pascal Николай Петрович Помощь студентам 2 05.06.2010 18:42