С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Zevole
0 / 0 / 0
Регистрация: 25.04.2017
Сообщений: 21
1

Исправление ошибки

25.04.2017, 18:06. Просмотров 104. Ответов 1
Метки нет (Все метки)

На вход программе подаются сведения о телефонах всех сотрудников некоторого учреждения. В первой строке сообщается количество сотрудников N, каждая из следующих N строк имеет следующий формат:

<Фамилия> <Инициалы> <телефон>

где <Фамилия> – строка, состоящая не более чем из 20 символов, <Инициалы> - строка, состоящая не более чем из 4-х символов (буква, точка, буква, точка), <телефон> – семизначный номер, 3-я и 4, я, а также 5-я и 6-я цифры которого разделены символом «–». <Фамилия> и <Инициалы>, а также <Инициалы> и <телефон> разделены одним пробелом. Пример входной строки:

Иванов П.С. 555-66-77

Сотрудники одного подразделения имеют один и тот же номер телефона. Номера телефонов в учреждении отличаются только двумя последними цифрами. Требуется написать как можно более эффективную программу, которая будет выводить на экран информацию, сколько в среднем сотрудников работает в одном подразделении данного учреждения.




Вот собственно моя программка.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
const lim=100; 
var 
sred:real; 
r,i,k,n,p:integer; 
s:string; 
c: array [1..lim] of integer; 
begin 
for k:=1 to lim do c[k]:=0; 
readln(n); 
for i:=1 to n do 
begin 
readln(s); 
p:=pos(' ',s); 
Delete(s,1,p+5); 
val(s,k,r); 
c[k]:=c[k]+1;  
end; 
sred:=n/k; 
writeln(sred); 
end.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.04.2017, 18:06
Ответы с готовыми решениями:

Исправление ошибки (преобразование string=>integer) + оптимизация кода
Всем привет. Необходимо исправить ошибку (в 26 строке преобразование типа...

Исправление программы
Здравствуйте. Можете помочь исправить программу. Сам работал только с турбо...

Исправление ошибок в коде
Прошу помощи в исправлении кода для сортировки двумерного массива по убыванию...

Исправление программы с меню
Здравствуйте. Помогите пожалуйста исправить проблему, возникшую при написании...

Исправление ошибок в программе на массивы
Как исправить исправить ошибку ''вне границы массива''? Program Array32; uses...

1
Puporev
Модератор
55511 / 42598 / 29446
Регистрация: 18.05.2008
Сообщений: 100,773
25.04.2017, 19:14 2
Попробуйте так.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
const lim=100;
//если  не более 100, то все переменные типа byte
var n,m,i,r:byte;
    mn:set of byte;
    c: array [1..lim] of byte;
    sred:real;
    s:string;
begin
readln(n);
mn:=[];
for i:=1 to n do
c[i]:=0;
mn:=[];
for i:=1 to n do
 begin
  readln(s);
  r:=strtoint(copy(s,length(s)-1,2));
  if r in mn then inc(c[r])
  else
   begin
    mn:=mn+[r];
    c[r]:=1;
   end;
 end;
sred:=0;
m:=0;
for i:=1 to lim do
if c[i]<>0 then
 begin
  sred:=sred+c[i];
  inc(m);
 end;
sred:=sred/m;
for i:=1 to lim do
if c[i]<>0 then writeln(i,'=',c[i]);
write(sred:0:0) //наверное нужно выводить целые числа?
end.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.04.2017, 19:14

Бабочка (Исправление ошибок в коде)
Надо эту задачу исправить для Pascal ABC Uses Crt, Graph; var...

Исправление ошибки в программе
Имеется код, который находит в трех файлах одинаковые цифры и записывает его в...

Исправление ошибки в программе
uses crt; const n=3; type type_knig=(gaz,jur,kniga); opisanie=record ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru