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

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

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

 
 Ответить  Открыть новую тему 
> Проверьте пожалуйста задачу на одномерные массивы!
сообщение
Сообщение #1


Гость






blink.gif Составила программу, а она то работает, то нет. Проверьте пожалуйста и подскажите что в ней не так. Можно даже исправить что-либо.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


хмм... а где программка-то, которую проверять?


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






[b]Вот эта программа:

Вставить в одномерный массив после максимального чётного числа 0.

program Lab2Var5;
type
array1 = array [1..20] of integer; {array1 - одномерный массив с кол-вом элементов до 20-ти}
var
a: array1; {a – массив}
i: integer; {i - счетчик цикла - индекс массива}
n: integer; {n - кол-во элементов массива a}
max: integer; {max - максимальный элемент массива}
begin
Выводим заголовок
writeln;
writeln('Лабораторная работа N2');
Вводим кол-во элементов массива A
writeln;
writeln('Массив A:');
repeat
write('Введите кол-во элементов массива: n=');
read(n)
until (n<10) and (n>0);
Вводим массив
writeln('Введите элементы массива:');
for i:=1 to n do
begin
write('a[',i,']=');
read(a[i])
end;
begin
Ищем индекс максимального элемента и проверяем его на чётность
max:=1;
for i:=2 to n do
if a[i]>a[max] then max:=i;
if odd(a[max]) then max:=i;
for i:=n downto max+1 do a[i+1]:=a;
a[max+1]:=o;
if odd(a[max]) then a[max+1]:=0;
inc(n);
Выводим массив
writeln (?Массив а после вставки:?);
for i:=1 to n do write(a[i]:3);
readln;
end;
end.


Сообщение отредактировано: мисс_граффити -
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Цитата
Проверьте пожалуйста и подскажите что в ней не так.
Может, лучше попытаться откомпилировать? Компилятор заодно и скажет, где ошибки... А уж потом, если программа после исправления (и успешной компиляции) не будет работать - мы подскажем...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Я её откомпилировала-всё работает нормально. Проблема в том, что она вставляет 0 не всегда в нужном месте, т.е. не всегда после максимального чётного числа, как требует задача.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


ну пойдем по порядку:
1) заводим массив на 20 элементов... а пользователю разрешаем использовать не более 10. почему?
2) вот здесь глупость написана:
for i:=2 to n do
if a[i]>a[max] then max:=i;
if odd(a[max]) then max:=i;

во-первых, почему бы сразу не проверить, является ли элемент четным, и только если является, запоминать его номер???
во-вторых - ты знаешь, чему будет равно i после цикла? лично я - нет.
в-третьих - ты уверена, что первый элемент четный?
на массиве 999 2 16 3 ты не найдешь 16 (оно ведь не больше 999... хоть и максимальный четный элемент).

Добавлено через 2 мин.
А компилироваться она не может в таком виде...
Ты ее прямо здесь набирала, что ли? Лучше бы скопировала...


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






Спасибо за указанные ошибки. Сможешь составить правильный вариант программы?Начальные установки не требуются. У меня не получается найти максимальный чётный элемент и вставить после него 0. unsure.gif
 К началу страницы 
+ Ответить 

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

 





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