|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
текстовый файл и делфи
Вообщем задача такая дан текстовый файл состоящий из цифр, нужно найти среди них самый больший и самый меньший, поменять их местами и сново записать в текстовый файл заменив старые записи. Я прочитал файл сформировал массив, нашел минимальный и максимальный элементы, запомнил их номера. Вопрос банальный но сил уже нет как их поменять местами на такие строки a[d]:=min; a[k]:=max; выделяет ошибку ну min,max - минимальное и максимальные значения, d- номер максимального. k -номер минимального,
а да тип ошибки забыл : varieble K might not have been initialized ну и у d тоже самое Последний раз редактировалось lionbeast, 30.11.2009 в 23:13. |
#2
|
||||
|
||||
Если у вас уже известны значения минимального и максимального элементов то так:
a[d] := max; a[k] := max; если известны только их индексы, то так: Tmp := a[d]; a[d] := a[k]; a[k] := Tmp; Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#3
|
|||
|
|||
ну вот это то и не получается хотя все известно
|
#4
|
|||
|
|||
Код:
procedure TForm1.Button1Click(Sender: TObject); var f:textfile; a:array [1..100000] of double; d,k:integer; n,i:integer; min,max:double; adress:string; begin adress:='e:\programms\1234.txt'; assignfile(f,adress); reset(f); readln(f,n); readln(f,min); max:=min; a[1]:=min; for i:=2 to n do begin readln(f,a[i]); if a[i]<min then begin k:=i; min:=a[i]; end; if a[i]>max then begin d:=i; max:=a[i]; end; end; label1.Caption:=floattostr(min); label2.Caption:=floattostr(max); a[k]:=max; a[d]:=min; closefile(f); end; Последний раз редактировалось Admin, 01.12.2009 в 10:33. |
#5
|
|||
|
|||
без этих 2х строк выводит на экран 2 числа(правильно) а с этими выдает ошибку
|
#6
|
|||
|
|||
Принцип программиста: хз че я сделал но все работает хД лан спс всем кто обратил внимание на мою мутатень
а да тему можно закрывать, а лучше вообще удалить=) Последний раз редактировалось lionbeast, 30.11.2009 в 23:40. |