IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Проверьте программку!, Функции
сообщение
Сообщение #1


Гость






Проверьте пожалуйста программку! В ней что-то не так, но не пойму что.
Данную программу нужно было составить с помощью функций.

{В массиве все элементы, стоящие после минимального, уменьшить на 10.}

Program Lab4Var6;
Const
maxN=10;
Type
array1=array[1..10] of integer;
var
a: array1;
n: integer;
i: integer;
min, min_i: integer;

{Определение процедур}

procedure ReadArray; {ReadArray - процедура ввода массива с клавиатуры}
begin
repeat {Ввод количества элементов}
write('Введите n:');
readln(n);
until (n>=1)and(n<=maxN);
for i:=1 to n do {Ввод элементов поодиночке}
begin
write('a[',i,']=');
readln(a[i]);
end;
end; {Конец процедуры ReadArray}

function FindMin: integer; {FindMin - процедура поиска индекса минимального элемента}
var
min_i: integer; {Локальная переменная, в которой хранится индекс min до возвращения из функции}
i: integer; {Локальная переменная, счётчик цикла}
begin
min_i:=a[1]; {Ищем индекс min элемента}
for i:=1 to n do
if a[i]<min_i then min_i:=a[i];
FindMin:=min_i; {Функция возвращает найденный индекс}
end; {Конец процедуры FindMin}

procedure Remember;
begin
for i:=1 to n do
if a[i]=min then
begin
min_i:=i;
end;
writeln ('Минимальный элемент:', min_i);
end;

procedure Diminish; {Diminish - процедура уменьшения элементов, стоящих после min, на 10}
begin

for i:=min_i+1 to n do {Уменьшаем элементы на 10}
a[i]:=a[i]-10;
end; {Конец процедуры Diminish}

procedure PrintArray; {PrintArray - процедура вывода массива на экран}
begin
writeln; {Выводим массив}
for i:=1 to n do
write(A[i]:3);
writeln;
end; {Конец процедуры PrintArray}

{Основная часть программы}
begin
ReadArray; {Ввод массива}
min_i:=FindMin; {Поиск индекса минимального элемента}
Remember;
Diminish; {Уменьшение элементов}
PrintArray; {Вывод массива}
end.


М
Используй теги для программного текста!
-- Лопарь

 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Профи
****

Группа: Пользователи
Сообщений: 705
Пол: Мужской

Репутация: -  20  +


в функции FindMin немного напутано, попробуй так:
function FindMin: integer; {FindMin - процедура поиска индекса минимального элемента}
var
min_i: integer; {Локальная переменная, в которой хранится индекс min до возвращения из функции}
i: integer; {Локальная переменная, счётчик цикла}
begin
min_i:=1; {Ищем индекс min элемента}
for i:=2 to n do
if a[i]<a[min_i] then min_i:=i;
FindMin:=min_i; {Функция возвращает найденный индекс}
end; {Конец процедуры FindMin}


и здесь тоже не понятно:
procedure Remember;
begin
min:=a[min_i];
writeln ('Минимальный элемент:', min);
end;


Сообщение отредактировано: Malice -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 5.12.2020 15:25
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name