program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;
var A,C,i:integer;
var Mas:array of integer;
begin
i:=0;
repeat
ReadLn(A);
Mas[i]:=A;
inc(i);
until A=0;
SetLength(Mas,i);
C:=Length(Mas);
WriteLn(C);
ReadLn;
end.
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
starmaster |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 9 Пол: Мужской Репутация: ![]() ![]() ![]() |
Почему не работает этот пример?
Код program Project2; {$APPTYPE CONSOLE} uses SysUtils; var A,C,i:integer; var Mas:array of integer; begin i:=0; repeat ReadLn(A); Mas[i]:=A; inc(i); until A=0; SetLength(Mas,i); C:=Length(Mas); WriteLn(C); ReadLn; end. |
![]() ![]() |
Digitalator |
![]()
Сообщение
#2
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 247 Пол: Мужской Репутация: ![]() ![]() ![]() |
Потому что программист его писал хреновый! :p8:
setlength(Mas,<len>); Перед тем как писать вопрос в форуме нужно хотяб посмотреть описание ошибки в справке, а если уж там не понятно написано, хотяб написать какая возникла ошибка! <_< -------------------- |
xds |
![]()
Сообщение
#3
|
![]() N337 ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 737 Пол: Мужской Репутация: ![]() ![]() ![]() |
Там "Access Violation": программа пытается записывать данные в динамический массив, не выделив предварительно память под них (не определив размер массива, достаточный для добавления очередного элемента). Работоспособный код, полученный из данного путем наименьшего сопротивления, будет выглядеть так:
Код program Project2; {$APPTYPE CONSOLE} uses SysUtils; var A,C,i:integer; var Mas:array of integer; begin i:=0; repeat ReadLn(A); SetLength(Mas,i + 1); Mas[i]:=A; inc(i); until A=0; C:=Length(Mas); WriteLn(C); ReadLn; end. -------------------- The idiots are winning.
|
Digitalator |
![]()
Сообщение
#4
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 247 Пол: Мужской Репутация: ![]() ![]() ![]() |
xds, все, конечно, правильно.. но зачем писать проги тем кто даже хелп по ctrl+f1 читать не хочет?
Сообщение отредактировано: Digitalator - -------------------- |
xds |
![]()
Сообщение
#5
|
![]() N337 ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 737 Пол: Мужской Репутация: ![]() ![]() ![]() |
Иногда люблю поиграть в снисходительного...
![]() -------------------- The idiots are winning.
|
GoodWind |
![]()
Сообщение
#6
|
![]() Автооответчик ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 188 Пол: Мужской Реальное имя: Александр Репутация: ![]() ![]() ![]() |
Цитата Потому что программист его писал хреновый! Digitalator, попрошу не выражаться !!! ![]() -------------------- Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
|
Digitalator |
![]()
Сообщение
#7
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 247 Пол: Мужской Репутация: ![]() ![]() ![]() |
А что такого? Не нравятся подобные выражения, исправьте правила форума - никого из участников я тут не оскорблял.... ответ вполне даже конкретный на поставленный вопрос
![]() ЗЫ: не знаю как у вас, сколько видел форумов, ни на одном подобные выражения не считались нарушениями -------------------- |
GoodWind |
![]()
Сообщение
#8
|
![]() Автооответчик ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 188 Пол: Мужской Реальное имя: Александр Репутация: ![]() ![]() ![]() |
я не сказал, что это нарушение, просто существует такое понятие, как культура речи ;)
-------------------- Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
|
Digitalator |
![]()
Сообщение
#9
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 247 Пол: Мужской Репутация: ![]() ![]() ![]() |
Ну знаешь ли..........
Когда модеры/админы пишут подобные: Цитата попрошу не выражаться посты, считается что были нарушены правила. Если правила не были нарушены, модеры/админы молчат. Или это пример того, как флудят модеры? ![]() и как посоветовал тебе олег: не переуссердствуй. :no: -------------------- |
GoodWind |
![]()
Сообщение
#10
|
![]() Автооответчик ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 188 Пол: Мужской Реальное имя: Александр Репутация: ![]() ![]() ![]() |
Цитата Когда модеры/админы пишут подобные: а если это была просьба не как модера, а как человека ? мне лично не приятно видеть такие посты... Цитата Или это пример того, как флудят модеры? и вот, чтобы флуд не продолжать остановим сей флейм, OK ? :p4: -------------------- Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
|
Digitalator |
![]()
Сообщение
#11
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 247 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата мне лично не приятно видеть такие посты... Да нуууууууууууууууу ![]() Цитата и вот, чтобы флуд не продолжать остановим сей флейм, OK ? ОК! -------------------- |
Altair |
![]()
Сообщение
#12
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 4 825 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Цитата а если это была просьба не как модера, а как человека ? мне лично не приятно видеть такие посты... В таком случае пиши ему на PM. А то вышло, что почти всетема зафлуженна. ![]() -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
starmaster |
![]()
Сообщение
#13
|
Группа: Пользователи Сообщений: 9 Пол: Мужской Репутация: ![]() ![]() ![]() |
Ладно, ладно ребята, хватит тут вам обсуждать культуру речи и тому подобное. Просто с массивами я недавно начал работать и перед тем как задавать вопрос сюда читал книжку и искал в инете, но там нигде не было написано что в динамических массивах SetLength устанавливается до присваивания какого-либо значения в массив. Вот подумайте логически: почему бы массиву самому не определять свой размер? Я также думал...
|
Altair |
![]()
Сообщение
#14
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 4 825 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Цитата : почему бы массиву самому не определять свой размер Потому что у него нечем думать ![]() а если серьезно, то память-то ограниченна... -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
![]() ![]() |
![]() |
Текстовая версия | 14.09.2025 18:47 |