Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.70/33: Рейтинг темы: голосов - 33, средняя оценка - 4.70
0 / 0 / 0
Регистрация: 23.04.2010
Сообщений: 30

Чтение из внешнего файла массива и сортировка его

24.04.2010, 23:28. Показов 6295. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброй ночи, уважаемые программисты........
я больше не могу, я два дня сижу не отходя от компьютера, глазки в кучку, но ничего не помогает........
нужно разработать программу которая читала бы из внешнего файла, сортировала по возрастанию и распечатывала как одномерный массив в столбик числа( они в файле записаны в столбик).....
помогите пожалуйста.....

Добавлено через 2 минуты
вот код, который смогла написать...
Delphi
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
procedure TForm1.Button2Click(Sender: TObject);
var f:TextFile; {описание используемых переменных}
    ch,n,p,m,j,t,i,k :integer;
    a:array of integer;
    s: string;
  begin
 If OpenDialog1.Execute        //открыть диалог для поиска файла
         then begin
   AssignFile(f,OpenDialog1.FileName); {установка связи}
    Reset(f); {направление передачи данных- чтение}
    i:=0;
     While Not Eof(F) do        //пока не конец файла
Begin
inc(i);
    Read(F, ch);    //считать строку
    a[i]:=ch;
        End;
    for i := 0 to n - 1 do begin
    m:= a[i];
    p:= i;
    for j := i + 1 to n do
      if a[j] < m then begin
        m:= a[j];
        p:= j;
      end;
    t:=a[i];
    a[i] := a[p];
    a[p] :=t;
  end;
end;
for i:=1 to n do
Label5.caption:=label5.caption+' '+IntTostr(a[i]);
     CloseFile(f); {закрытие файла}
   end;
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.04.2010, 23:28
Ответы с готовыми решениями:

Чтение элементов массива из файла, запись в листбокс и сортировка массива
Здравствуйте, помогите решить проблему..шарп только начали изучать, пояснений толковых никаких не дали Нужно считать элементы массива,...

Чтение массива из файла и вывод его на экран
Необходимо прочитать матрицу 16*4 из файла dk.dat и вывести её на экран. Вот код: #include &lt;stdio.h&gt; #define Q 16 #define...

Чтение из внешнего файла.
Надо составить матрицу размерностью NxN, и записать во внешний файл. Потом прочитать сначала главную, а потом побочную диагональ, и...

21
 Аватар для Mawrat
13117 / 5898 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
26.04.2010, 23:08
Студворк — интернет-сервис помощи студентам
Вот, например, я сейчас задал формат: Writeln(F, Num:8:3). В результате в файле получилось такое содержимое:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 100.600
  12.890
-123.400
   1.000
   0.000
  23.560
 -12.235
   9.000
  60.500
 190.890
 130.000
  70.000
   8.000
   4.000
   3.000
   0.000
Вроде, вполне прилично.
Цитата Сообщение от Дашук Посмотреть сообщение
А других вариантов нет, чтобы сохранял прямо как число и есть на самом дела!
Это в каком смысле? На самом деле число в памяти компьютера хранится очень хитро - в двоичном виде, да ещё "задом на перёд" - младшие байты хранятся в младших адресах, а старшие - в старших. Т. е. не так как мы привыкли - слева - направо, а наоборот. Именно в таком виде числа записываются в типизированные файлы. В случае вещественных чисел - ещё сложнее. Внутреннее представление вещественного числа состоит из нескольких частей.
---
Сейчас ещё вариант один предсавлю...
---
Можно сделать ещё так:
Delphi
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
//Запись чисел из таблицы в файл.
procedure TForm1.Button2Click(Sender: TObject);
var
  F : TextFile;
  i, j: Integer;
  Num : Extended;
  StrNum : String;
begin
  if SaveDialog1.InitialDir = '' then
    SaveDialog1.InitialDir := OpenDialog1.InitialDir
  ;
  if SaveDialog1.InitialDir = '' then
    SaveDialog1.InitialDir := ExtractFilePath( Application.ExeName )
  ;
 
  if not SaveDialog1.Execute then Exit;
 
  AssignFile(F, SaveDialog1.FileName);
  Rewrite(F);
 
  for i := StringGrid1.FixedRows to StringGrid1.RowCount - 1 do begin
    for j := StringGrid1.FixedCols to StringGrid1.ColCount - 1 do begin
      try
        Num := StrToFloat(StringGrid1.Cells[j, i]);
      except
        on e : Exception do begin
          ShowMessage(
            'Обнаружено содержимое ячейки отличное от записи числа.' + #10
            + 'Действие прервано. Проверьте данные в таблице.'
          );
          CloseFile(F);
          Exit;
        end;
      end;
      //Writeln(F, Num:8:3);
      StrNum := FloatToStr(Num);
      Writeln(F, StrNum);
    end;
  end;
 
  CloseFile(F);
end;
Тогда содержимое файла будет, например, таким:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
12.123
-54.234
-567.34
-9.809
84
28
49
-37
9
0
93.5
89
-85.098
456
308
4
1
0 / 0 / 0
Регистрация: 23.04.2010
Сообщений: 30
27.04.2010, 22:04  [ТС]
огромнейшее вам спасибо)))
Наконецто я от вас отстану)))
Вы не представляете, вы просто мне жизнь спасли)))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.04.2010, 22:04
Помогаю со студенческими работами здесь

Чтение данных из внешнего файла
Есть значит сторонняя программа (экспорт из этой программы формирование всех документов их много) формируется txt фаил в нём данные...

Чтение массива из файла, его преобразование и запись в другой файл
Всем привет. Есть вот такой код: #include &lt;iostream&gt; #include &lt;vector&gt; #include &lt;fstream&gt; #include &lt;string&gt; ...

Чтение массива из файла в textbox и сохранение его в виде матрицы
Здравствуйте! Читаю массив из файла, после чего пихаю его в текстбокс, после чего надо сохранить прочтённый массив в виде матрицы, для...

Считывание одномерного массива из файла и его сортировка
Ребята, помогите. мне нужно считать из файла одномерный массив, например (2 3 4 5 1 5) и вывести в едит. потом при нажатии другого баттона...

Чтение внешнего файла программой (.dat/.asm)
Вот есть код , он создает файл и открывает этот файл без проблем, но если файл попробовать открыть после перезапуска программы (т.е. уже...


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

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Новые блоги и статьи
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов. import "math" func angleClock(hour int, minutes int) float64 { . . .
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html и его же старой инструкции по установке Lazarus с gtk2. . .
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер. Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром. возможно получится прикрутить интерпретатор питон для кастомизации игровой логики. что есть на текущий момент:. . .
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2. Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru