Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 1
Регистрация: 28.05.2013
Сообщений: 7

Сортировка данных из файла

30.05.2013, 20:40. Показов 714. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите с прогой пожалуйста! нужно что б эта прога сортировала данные из файла. Сортировка по ключевому слову методом Шелла.
Пример структуры файла: Человек (Ф.И.О., год рождения, пол, рост, вес, номер тел., адрес)
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
38
39
40
41
42
43
44
45
46
47
program sort;
 uses crt;
 type tx=array [1..100] of integer;
 var
 x:^tx;
d,y,i,j,n:integer;
k:boolean;
begin
randomize;
writeln(' Введите кол-во элементов массива ');
read(n);
writeln('Случайный массив');
getmem(x,n*sizeof(integer));
for i:=1 to n do
begin
x^[i]:=random(100);
write(x^[i],' ');
end;
 writeln;
begin
   d:=N div 2;
   y:=1;
   while d>0 do begin
         k:=true;
         while k do
         begin
         k:=false; i:=1;
         for i:=1 to N-d do
               begin
               if x^[i]>x^[i+d] then
                  begin
                  j:=x^[i]; x^[i]:=x^[i+d]; x^[i+d]:=j;
                  k:=true;
 
                  end;
               end;
         end;
   d:=d div 2;
   writeln('Проход',y);
   for i:=1 to n do
   write(x^[i],' ');
   writeln;
   y:=y+1;
   end;
  end;
dispose(x);
end.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.05.2013, 20:40
Ответы с готовыми решениями:

Как создать массив строк, считывая данные из файла (сортировка данных из файла)
Доброго времени суток мне нужно отсортировать по алфавиту слова , которые содержатся в файле #include <iostream> #include ...

Сортировка слов текстового файла путём слияния данных из файла и заданного внутреннего массива
Здравствуйте. Имеется задание, которое я ни в коем случае не прошу за меня сделать. Мне непонятно пару моментов, которые бы мне...

Чтение из файла определённого места и сортировка данных исходя из этих данных
Есть некий текстовый документ, содержащий информацию о посещении сайта в формате: Например 12.5.76.200 04:23 Mon Цель:...

1
0 / 0 / 1
Регистрация: 28.05.2013
Сообщений: 7
04.06.2013, 15:47  [ТС]
Предлагаю такой вариант вроде норм работает
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
program sort;
uses crt;
type  stud=record
           grup:string;
           fakult:string;
           FIO: record
                  F:string;
                  I:string;
                  O:string;
                end;
         end;
 
var i,n:integer;
    c:^array[1..100] of stud;
    f:text;
    s:string[10];
    p:stud;
         
procedure ShellSort(var a:array[1..100] of stud;n:integer);
var d,y,i:integer;
    j:stud;
    k:boolean;
begin
   d:=N div 2;
   y:=1;
   while d>0 do begin
         k:=true;
         while k do
         begin
         k:=false; i:=1;
         for i:=1 to N-d do
               begin
               if a[i].FIO.F>a[i+d].FIO.F then
                  begin
                  j:=a[i]; a[i]:=a[i+d]; a[i+d]:=j;
                  k:=true;
                  end;
               end;
         end;
   d:=d div 2;
   writeln('Проход',y);
   for i:=1 to n do
   writeln(IntToStr(i)+'. Студент - '+a[i].FIO.F+' '+a[i].FIO.I+' '+a[i].FIO.O+' Группа - '+a[i].grup+' Факультет - '+a[i].fakult);
   writeln;
   y:=y+1;
   end;
end;
procedure outmas(c:array[1..100] of stud;n:integer);
var i:integer;
begin
    for i:=1 to n do
      begin
        writeln(IntToStr(i)+'. Студент - '+a[i].FIO.F+' '+a[i].FIO.I+' '+a[i].FIO.O+' Группа - '+a[i].grup+' Факультет - '+a[i].fakult);
      end;
 
end;
begin
Assign(f,'text.txt');
  Reset(f);
  readln(f,n);
  getmem(c,sizeof(stud)*n);
  for i:=1 to n do
  begin
  readln(f,s);
      p.FIO.F:=s;
      readln(f,s);
      p.FIO.I:=s;
      readln(f,s);
      p.FIO.O:=s;
      readln(f,s);
      p.grup:=s;
      readln(f,s);
      p.fakult:=s;
      c^[i]:=p;
  end;
  close(f);
clrscr;
writeln('Исходный массив');
outmas(c^,n);
ShellSort(c^,n);
writeln('Отсортированный массив');
outmas(c^,n);
dispose(c);
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.06.2013, 15:47
Помогаю со студенческими работами здесь

Сортировка данных из файла
этот код выводит названия тем форума из файла (не из базы данных) Может вы подскажете, как реализовать функциональность, которая...

Сортировка данных из файла
Приветствую. Есть определенная форма, в ней через <select> в файл заносятся строки вида: 1.1.1-1/1 300 GB HDD 1.4.2-2/2 500 GB HDD ...

Сортировка данных из файла
Пытаюсь отсортировать список имён ...

Сортировка данных из файла
помогите пожалйста. вот есть код для чтения данных с файла #include <stdio.h> #include <stdlib.h> // stdlib.h - neobhodima dlja...

Сортировка структуры данных с файла
Нужно отсортировать по - убыванию значения. Не могу найти ошибку. YspihStud p; fseek( f, 0, SEEK_SET); for ( int i =...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru