Помощь - Поиск - Пользователи - Календарь
Полная версия: Массивы
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Abror
Здрасте не поможете написать прогу?
Есть офис сотрудников указаны фамилию,имя,стаж, номер телефона и зароботная платаю
А) Вывести список сотрудников чей стаж не менее 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я
...
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-го и т.д.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.