Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 23.05.2011, 18:14   #1 (permalink)
Красивая
Новичок
 
Регистрация: 23.05.2011
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Помогите пожалуйста срочно решить задачу, подробно

На вход программе подаются сведения о сотрудниках некоторой фирмы. В первой строке сообщается количество сотрудников N, которое не больше 20, но не меньше 100, каждая из следующих строк имеет следующий формат: "Фамилия" "Имя" "Отчество" "Пол" "Зарплата".
"Фамилия" "Имя" "Отчество" "Пол" "Зарплата" разделены одним пробелом.
Требуется написать программу, которая будет выводить на экран среднюю зарплату, фамилию, инициалы и зарплату сотрудников мужчин, имеющих зарплату выше средней, а так же их количество. Алфавитный порядок фамилий можно не соблюдать.
Красивая вне форума   Ответить с цитированием

Старый 23.05.2011, 18:14
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

По вашему запросу так же нашлось это

Помогите, пожалуйста, решить задачу
Помогите решить задачу по C++, пожалуйста

Старый 23.05.2011, 22:00   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Красивая Посмотреть сообщение
На вход программе подаются сведения о сотрудниках некоторой фирмы. В первой строке сообщается количество сотрудников N, которое не больше 20, но не меньше 100, каждая из следующих строк имеет следующий формат: "Фамилия" "Имя" "Отчество" "Пол" "Зарплата".
"Фамилия" "Имя" "Отчество" "Пол" "Зарплата" разделены одним пробелом.
Требуется написать программу, которая будет выводить на экран среднюю зарплату, фамилию, инициалы и зарплату сотрудников мужчин, имеющих зарплату выше средней, а так же их количество. Алфавитный порядок фамилий можно не соблюдать.
Извольте:
Код:
TYPE
 T=Record
    Surname:String;
    Name:String;
    Patronymic:String;
    Sex:Char;
    Wages:LongInt;
   end;
VAR
 Empl:Array[1..100] of T;
 S:String;
 Code:Word;
 N,i,j,i1,i2,k,Number_of_Rich:Byte;
 W:Array[1..5] of String;
 Mean_Wages:Real;
BEGIN
 Write('Enter the number of employees: ');
 ReadLn(N);
 For k:=1 to N do
  begin
   WriteLn('Enter the data string: Surname, Name, Patronymic, Sex (m/w), Wages');
   ReadLn(S);
   i:=0;
   j:=0;
   Repeat
    Repeat
     Inc(i);
    Until S[i]<>' ';
    i1:=i;
    While (S[i]<>' ') and (i<Length(S)) do Inc(i);
    If i=Length(S) then i2:=i else i2:=i-1;
    Inc(j);
    W[j]:=Copy(S,i1,i2-i1+1);
   Until i=Length(S);
   Empl[k].Surname:=W[1];
   Empl[k].Name:=W[2];
   Empl[k].Patronymic:=W[3];
   Empl[k].Sex:=W[4][1];
   VAL(W[5],Empl[k].Wages,Code);
  end;
  Writeln;
  Mean_Wages:=0;
  For k:=1 to N do Mean_Wages:=Mean_Wages+Empl[k].Wages/N;
  Writeln('Mean_Wages is ',Mean_Wages:9:2);
  Writeln;
  Number_of_Rich:=0;
  For k:=1 to N do
   With Empl[k] do
    If (Sex='m') and (1.0*Wages>Mean_Wages) then
     begin
      Inc(Number_of_Rich);
      Write(Number_of_Rich:3,'. ',Surname,' ',Name[1],'.',Patronymic[1],'. ');
      For i:=1 to 12-length(Surname) do Write(' ');
      Writeln(Wages:6);
     end;
 ReadLn;
END.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 04:19.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.