Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Массивы

Автор: Abror 18.04.2006 17:55

Здрасте не поможете написать прогу?
Есть офис сотрудников указаны фамилию,имя,стаж, номер телефона и зароботная платаю
А) Вывести список сотрудников чей стаж не менее 20 лет работы
В) Вывести список сотрудников две первые цифры номера которых одинаковы

Часть А я сделал.
Часть В надо сделать с массивами и процедурой
Заранее огромное спасибо! Если можно мне на адрес <...> Нельзя! Соизволь прочитать правила и воспользоваться поиском наконец! Ты думаешь, ДО ТЕБЯ никто такого типа вопросов не задавал? Ошибаешься.

program Kursovaya; 
type group=record
surname:string[10];
name:string[10];
year:integer;
money:integer;
number:string[7];
end;
var F:file of group;
G:group; i,n:integer; s:string;
begin
Assign(F,'C:\TP7\kursovaya.pas');
write('Vvedite chislo sotrudnikov'); readln(n); rewrite(F);
For i:=1 to n do begin with G do
begin
readln(surname);
readln(name);
readln(year);
readln(money);
readln(number);
end;
write(F,G);
end;
reset(F);
WHILE NOT EOF (F) do begin
read (F,G);
IF(G.year>=20) then begin
writeln('Staj raboti ne menee 20 let');
writeln(G.surname); writeln(G.name);
end.

Это первая часть проги которую я смог сделать

Да и теги тоже не просто так существуют. Ими пользоваться нужно.

Автор: Ozzя 18.04.2006 18:10

...
type
mass = array [1..100] of group;
var
myMass: mass;

{ Считывание файла в массив }
i:=1;
WHILE NOT EOF (F) do
begin
read (F,myMass[i]);
i:=i+1;
end;
...


Вытащить 1-е два символа из строки - ф-ция copy или
tempS:=MyMass[i].Nomer[1]+MyMass[i].Nomer[2];


Поиск совпадающих номеров:
В цикле
Берешь 1-й номер и в цикле сравниваешь с остальными,
далее со 2-го и т.д.