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

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

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

> В Чем моя ошибка? Процедуры и функций
сообщение
Сообщение #1


Пионер
**

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

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


Даны два массива А(10),В(10). В Массивах А(10) и В(10) все элементы предшествующие первому нулевому элементу заменить на 0,5. mega_chok.gif

program pr;
const n=10; p=20;
var
A:array[1..n] of integer;
B:array[1..p] of integer;

procedure a(a:array of integer);
var i:integer;
for i:=1 to 10 do
begin
if a[i]:=0
then break
else a[i]:=0,5;
end;
procedure b(a:array of integer);
var i:integer;
begin
for i:=1 to 20 do
begin
if a[i]:=0
then break
else a[i]:=0,5;
end;

end.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Цитата
Исправил все что мог
Все, что мог и ВСЕ, О ЧЕМ ТЕБЕ СКАЗАЛИ - это разные вещи. Я тебя предупреждал, что массивы индексируются с НУЛЯ? Так какого черта у тебя оба цикла - с единицы начинаются?

Зачем тебе ВООБЩЕ две процедуры? Это все прекрасно делается в одной. Для того и пишется процедура, чтоб одинаковый код не копировать. У тебя смысл процедур в чем? Скопировал один и тот же код, изменил по одной букве? Как была ошибка, так и осталась, теперь править ее надо тоже В ДВУХ местах. Что ты выиграл? В чем смысл описания открытого массива?

Плюс ко всему, твоя реализация даже теоретически не делает того, что требуется в задании:
Цитата
В Массивах А(10) и В(10) все элементы предшествующие первому нулевому элементу заменить на 0,5.
Ты ничего не заменяешь, а просто при выводе ПОДменяешь. А если после того, как процедура отработала, еще раз распечатать массив, что будет?
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 





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