![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | 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. |