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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2012, 18:56   #1
subzero95
Пользователь
 
Регистрация: 10.03.2012
Сообщений: 22
По умолчанию Рассортировка!!!

Задача
Код:
Проанализировать информацию гостиничного сервиса для n гостиниц. Вволдится массив строк с данными о проживающих в 
гостинице: название гостиницы, фамилия, город, улица, дом, квартира. 

1) Обеспечить прием всех данных с комментариями с клавиатуры и запись их в массив строк. 
2) После приема данных программа 
должна рассортировать введенные данные в группы по гостиницам и записать их внутри группы по фамилиям в алфавитном порядке.
 Найти и вывести фамилии 2 любых жителей из списка, живущих в разных городах по одинаковому адресу.

3) Вывести на печать отсортированный массив строк (не более 3-х первых строк по каждой группе)
Код:
Код:
program asderaq;
uses crt;
type tabl=record
   n: string[50]; {nazvanie}
   f: string[50];     {famil}
   g: string[50];  {gorod}
   y: string[50];   {street}
   d: string[50];   {dom}
   k: string[50];  {kvartira}
    end;
    var a:array[1..100] of tabl;
             c:array[1..35] of integer;
             imax,sc,h,sp,i,n:integer;
             sr,max:real;
             flag:boolean;

     begin
     clrscr;
            writeln('Kolvo people');
             readln (n);
             if (n<=0) or (n>100) then
               writeln('Neverno zadani dannie')
               else
               begin
               for i:=1 to n do
               begin
               writeln('Dannie o prozhivayschem #',i);
               writeln('Nazvanie gostinnoi');
               readln(a[i].n);
               writeln('Familia ');
               readln(a[i].f);
               writeln('Gorod  ( ');
               readln(a[i].g);
               writeln('Street  ');
               readln(a[i].y);
               writeln('Dom '); 
               readln(a[i].d);  
               writeln('Kvartira ');
               readln(a[i].k);
               end;
Я только начал... Мне ооооочень нужна помощь! Я не понимаю как сделать рассортировку по группам... Кроме этой рассортировки мне ни чего не нужно!

Последний раз редактировалось subzero95; 17.05.2012 в 18:59.
subzero95 вне форума Ответить с цитированием
Старый 17.05.2012, 22:06   #2
Arhangel7
Пользователь
 
Регистрация: 27.02.2010
Сообщений: 90
По умолчанию

Код:
const n=10;

var
  S1:string;
  S:array[1..10] of string[10];

procedure Vvod;
var I:integer;
begin
  for I:=1 to n do
    begin
      writeln('Vvedite '+inttostr(I)+' slovo');
      readln(S1);
      S[I]:=S1;
    end;
end;

procedure Sort;
var I:boolean; I2:integer;Ss:string[10];
begin
I:=true;
while I=true do
 begin
   I:=false;
   for I2:=1 to n-1 do
     begin
       if S[I2]>S[I2+1] then
        begin
          Ss:=S[I2];
          S[I2]:=S[I2+1];
          S[I2+1]:=Ss;
          I:=true;
        end;
     end;
 end;
end;

Procedure Vivod;
var I:integer;
begin
  for I:=1 to n do writeln(S[I]);
end;

begin
Vvod;
Sort;
Vivod;
readln;
end.
переделаешь под свой код и все будет ок )
как-то так
Arhangel7 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск