Помощь - Поиск - Пользователи - Календарь
Полная версия: Помогите пожалуйста с задачкой!
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Arel
Здравствуйте! Помогите пожалуйста с задачкой!
Создать числовой файл F, найти максимальный элемент, среди компонент на чётных позициях файла.
Все нулевые заменить на максимальный. Преобразованный файл распечатать.
Заранее спасибо!!!!!!!!!!!
mamont001
А что тебе непонятно:

•как файл печатать?
•как с файлами работать?
•как найти макс. элемент?
•как элементы менять?
Гость
Цитата(mamont001 @ 28.03.2007 0:20) *

А что тебе непонятно:

•как файл печатать?
•как с файлами работать?
•как найти макс. элемент?
•как элементы менять?

Мне не понятно как найти максимум
mamont001
делается таким способом: берётся масив, загоняються парные элементы и ищется максимум.
Как искать максимум в масиве ты можеш узнать через поиск.
Arel
В смысле парные элементы? И как из них сделать массив?
mamont001
решения: МАТРИЦЫ, МАССИВЫ. задачи
вот отсюда можна выковырять макс.

Добавлено через 6 мин.
Извиняюсь, перепутал, не парные а чётные ,хоть разницы особой нету.

считывать из файла умеешь?
так вот, береш каждый парный елемент и суешь его в масив.
С масивами работала?

 ! 
mamont001,
будешь менять содержимое того, что тебе менять не полагается - придется принимать меры...
Все ясно, или уточнить?

Arel
Как мне взять из файла каждый второй элемент и засунуть в массив? Всё остальное я знаю как делать.
mamont001
Цитата(Arel @ 28.03.2007 0:39) *

Как мне взять из файла каждый второй элемент и засунуть в массив? Всё остальное я знаю как делать.


{••••••••••••}
i:=0;
while not eof(f) do
begin
inc(i);
read (f,chislo1,chislo2); masiv[i]:=chislo2
end;
{••••••••••••}



способ не самый удачный,но зато лёгкий для понимания yes2.gif
Arel
Объясни пожалуйста:
inc(i);
read (f,chislo1,chislo2); masiv[i]:=chislo2
mamont001
i-переменная для номера масива.
read(f,chislo1,chislo2)- мы считываем 2 числа из файла f. Первое нам не надо,а второе мы записываем в масив
volvo
Цитата
Как мне взять из файла каждый второй элемент и засунуть в массив?
Seek еще никто не отменял. У тебя все-таки по заданию файл типизированный (иначе понятие "четная позиция" лишено смысла)...

i := 2;
while i < filesize(f) do begin
seek(f, i);
read(f, massiv[i div 2]);
inc(i, 2);
end;
mamont001
Я и не собирался отменять seek,просто человек скорее всего с ним лишний раз не работал:
Цитата
Как мне взять из файла каждый второй элемент

Поэтому я пользовался доступными всем процедурами....
volvo
Цитата
Поэтому я пользовался доступными всем процедурами....
Пользоваться надо не доступными, а правильными процедурами. Ты же не жаришь яичницу на камнях, хотя тебе это и доступно... Однако, сковородка справится с этим гораздо лучше, не так ли?
Arel
Через массив у меня не вышло, я сделала через фай. Как теперь мне нулевые компоненты первого файла заменить на максимум второго?
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.