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

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

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

> Массивы
сообщение
Сообщение #1





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

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


Почему не работает этот пример?
Код

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.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 13)
сообщение
Сообщение #2


Бывалый
***

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

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


Потому что программист его писал хреновый! :p8:
setlength(Mas,<len>);

Перед тем как писать вопрос в форуме нужно хотяб посмотреть описание ошибки в справке, а если уж там не понятно написано, хотяб написать какая возникла ошибка! <_<


--------------------
In byte we trust
ICQ World.ru
mail[dog]digitalator[dot]com
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


N337
****

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

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


Там "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.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Бывалый
***

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

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


xds, все, конечно, правильно.. но зачем писать проги тем кто даже хелп по ctrl+f1 читать не хочет?

Сообщение отредактировано: Digitalator -


--------------------
In byte we trust
ICQ World.ru
mail[dog]digitalator[dot]com
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


N337
****

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

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


Иногда люблю поиграть в снисходительного... rolleyes.gif


--------------------
The idiots are winning.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Автооответчик
*****

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

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


Цитата
Потому что программист его писал хреновый!

Digitalator, попрошу не выражаться !!! angry.gif


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Бывалый
***

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

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


А что такого? Не нравятся подобные выражения, исправьте правила форума - никого из участников я тут не оскорблял.... ответ вполне даже конкретный на поставленный вопрос lol.gif

ЗЫ: не знаю как у вас, сколько видел форумов, ни на одном подобные выражения не считались нарушениями


--------------------
In byte we trust
ICQ World.ru
mail[dog]digitalator[dot]com
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Автооответчик
*****

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

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


я не сказал, что это нарушение, просто существует такое понятие, как культура речи ;)


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Бывалый
***

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

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


Ну знаешь ли..........

Когда модеры/админы пишут подобные:
Цитата
попрошу не выражаться

посты, считается что были нарушены правила. Если правила не были нарушены, модеры/админы молчат.

Или это пример того, как флудят модеры? smile.gif реши уж наконец, ты занимаешься серьезным делом или пытаешься везде где только можно свое слово вставить (не в обиду)

и как посоветовал тебе олег: не переуссердствуй. :no:


--------------------
In byte we trust
ICQ World.ru
mail[dog]digitalator[dot]com
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Автооответчик
*****

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

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


Цитата
Когда модеры/админы пишут подобные:

а если это была просьба не как модера, а как человека ?
мне лично не приятно видеть такие посты...

Цитата
Или это пример того, как флудят модеры?

и вот, чтобы флуд не продолжать остановим сей флейм, OK ? :p4:


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Бывалый
***

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

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


Цитата
мне лично не приятно видеть такие посты...

Да нуууууууууууууууу rolleyes.gif

Цитата
и вот, чтобы флуд не продолжать остановим сей флейм, OK ?

ОК!


--------------------
In byte we trust
ICQ World.ru
mail[dog]digitalator[dot]com
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Ищущий истину
******

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

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


Цитата
а если это была просьба не как модера, а как человека ?
мне лично не приятно видеть такие посты...

В таком случае пиши ему на PM.
А то вышло, что почти всетема зафлуженна. smile.gif


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





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

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


Ладно, ладно ребята, хватит тут вам обсуждать культуру речи и тому подобное. Просто с массивами я недавно начал работать и перед тем как задавать вопрос сюда читал книжку и искал в инете, но там нигде не было написано что в динамических массивах SetLength устанавливается до присваивания какого-либо значения в массив. Вот подумайте логически: почему бы массиву самому не определять свой размер? Я также думал...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Ищущий истину
******

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

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


Цитата
: почему бы массиву самому не определять свой размер

Потому что у него нечем думать smile.gif
а если серьезно, то память-то ограниченна...


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

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

 





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