Форум «Всё о Паскале» _ Задачи _ работа с массивами
Автор: Krono 24.11.2008 22:49
составить структурированную программу замены наименьшего члена последовательности чисел средним арифметическим членом этой последовательности, не могу сообразить как это выглядит
Автор: Гость 25.11.2008 0:22
Цитата(Krono @ 24.11.2008 18:49)
составить структурированную программу замены наименьшего члена последовательности чисел средним арифметическим членом этой последовательности, не могу сообразить как это выглядит
Сначала находим минимальный элемент и запоминаем его индекс. В этом же цикле считаем сумму всех элементов. Делим сумму всех элементов на их количество и записываем в ту ячейку массива, что нашли в п. 1
Автор: Айра 25.11.2008 0:24
Хм.. вот работу с файлами я тут если честно не вижу.. т.е. в задании об этом явно ничего не говорится, да и без нее можно все сделать: 1. вводишь массив, попутно складывая все элементы для среднего арифметического.. Можно в этом же цикле найти минимум, но можно организовать и еще один. 2. находишь среднее арифметическое 3. заменяешь (если точно известно, что наименьший элемент может быть только один, то можно в процессе его нахождения запомнить его индекс и потом сделать замену в одну строчку, а если их может быть несколько, то делаешь замену в цикле..), выводишь результат и радуешься, если все правильно
p.s. что за зверь такой "структурированная программа" (точнее чем она отличается от того, что пишу обычно) - честно забыла
Добавлено через 1 мин. to гость: опередил)
Автор: Krono 25.11.2008 1:23
Цитата(Айра @ 24.11.2008 20:24)
Хм.. вот работу с файлами я тут если честно не вижу.. т.е. в задании об этом явно ничего не говорится, да и без нее можно все сделать: 1. вводишь массив, попутно складывая все элементы для среднего арифметического.. Можно в этом же цикле найти минимум, но можно организовать и еще один. 2. находишь среднее арифметическое 3. заменяешь (если точно известно, что наименьший элемент может быть только один, то можно в процессе его нахождения запомнить его индекс и потом сделать замену в одну строчку, а если их может быть несколько, то делаешь замену в цикле..), выводишь результат и радуешься, если все правильно p.s. что за зверь такой "структурированная программа" (точнее чем она отличается от того, что пишу обычно) - честно забыла
Добавлено через 1 мин. to гость: опередил)
спсибо за объяснение , я понял как работать должно, но не совсем понимаю как это выглядит ,помогите с прогой плыыззз
Автор: Kate!!! 27.11.2008 3:48
Цитата(Krono @ 24.11.2008 21:23)
спсибо за объяснение , я понял как работать должно, но не совсем понимаю как это выглядит ,помогите с прогой плыыззз
У меня точь-в-точь такое же задание) Я не понимаю, как писать всё это, а обязательным требованием является решать с использованием файлов: 1. ввод данных и запись в файл. 2. чтение из файла и результат работы программы. 3. вывод. Прошу , помогите написать это, а то вообще ничего не понятно(((
Добавлено через 8 мин.
а начала я вот так:
program lab3; uses crt; const n=10; type t_file=file of integer; var i:integer; a:array [1..n] of real; f:t_file; f_name:string; iocode:integer; y:integer; begin clrscr; writeln('Menu:'); writeln('1.vvod dannih i zapis v fail'); writeln('2. chtenie iz faila'); writeln('3.vivod'); readln(y); case y of 1:begin repeat writeln ('vvedite imia faila'); readln(f_name); assign(f,f_name); {$I-} reset(f); {I+} iocode:=ioresult; if iocode >0 then writeln('fail ne naiden'); until iocode <>0;
М
Kate!!!, пожалуйста, используй теги при публикации кода (выделить код, выбрать нужный пункт из меню CODE). И постарайся не дублировать текст (я убрал) Lapp
Автор: Lapp 27.11.2008 11:02
Цитата(Kate!!! @ 26.11.2008 23:48)
1. ввод данных и запись в файл. 2. чтение из файла и результат работы программы. 3. вывод.
Я сделал тебе пункты 2 и 3. Пункт 1 постарайся сделать сама. Разбирайся, что неясно - спрашивай.
Цитата(Kate!!! @ 26.11.2008 23:48)
а начала я вот так:
Не нужно копировать куски чужого кода в попытке показать, что ты что-то делаешь...
var f_in,f_out: file of integer; i,m: integer; s,n,p: LongInt;
begin Assign(f_in,'in.dat'); ReSet(f_in); s:=0; n:=0; m:=MaxInt; while not EoF(f_in) do begin Read(f_in,i); s:=s+i; Inc(n); if i<m then begin m:=i; p:=n end end; ReSet(f_in); Assign(f_out,'out.dat'); ReWrite(f_out); s:=Round(s/n); n:=0; while not EoF(f_in) do begin Read(f_in,i); Inc(n); if n=p then i:=s; Write(f_out,i) end; Close(f_in); Close(f_out) end.
Автор: Krono 29.11.2008 5:23
хе , отлично спасибо )) я понял), очень благодарен