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
5.11.2004 17:38
Потому что программист его писал хреновый! :p8: setlength(Mas,<len>);
Перед тем как писать вопрос в форуме нужно хотяб посмотреть описание ошибки в справке, а если уж там не понятно написано, хотяб написать какая возникла ошибка! <_<
xds
5.11.2004 18:39
Там "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.
Digitalator
5.11.2004 18:51
xds, все, конечно, правильно.. но зачем писать проги тем кто даже хелп по ctrl+f1 читать не хочет?
xds
5.11.2004 18:58
Иногда люблю поиграть в снисходительного...
GoodWind
5.11.2004 19:39
Цитата
Потому что программист его писал хреновый!
Digitalator, попрошу не выражаться !!!
Digitalator
5.11.2004 21:11
А что такого? Не нравятся подобные выражения, исправьте правила форума - никого из участников я тут не оскорблял.... ответ вполне даже конкретный на поставленный вопрос
ЗЫ: не знаю как у вас, сколько видел форумов, ни на одном подобные выражения не считались нарушениями
GoodWind
5.11.2004 21:16
я не сказал, что это нарушение, просто существует такое понятие, как культура речи ;)
Digitalator
5.11.2004 21:22
Ну знаешь ли..........
Когда модеры/админы пишут подобные:
Цитата
попрошу не выражаться
посты, считается что были нарушены правила. Если правила не были нарушены, модеры/админы молчат.
Или это пример того, как флудят модеры? реши уж наконец, ты занимаешься серьезным делом или пытаешься везде где только можно свое слово вставить (не в обиду)
и как посоветовал тебе олег: не переуссердствуй. :no:
GoodWind
5.11.2004 21:29
Цитата
Когда модеры/админы пишут подобные:
а если это была просьба не как модера, а как человека ? мне лично не приятно видеть такие посты...
Цитата
Или это пример того, как флудят модеры?
и вот, чтобы флуд не продолжать остановим сей флейм, OK ? :p4:
Digitalator
5.11.2004 21:40
Цитата
мне лично не приятно видеть такие посты...
Да нуууууууууууууууу
Цитата
и вот, чтобы флуд не продолжать остановим сей флейм, OK ?
ОК!
Altair
6.11.2004 6:47
Цитата
а если это была просьба не как модера, а как человека ? мне лично не приятно видеть такие посты...
В таком случае пиши ему на PM. А то вышло, что почти всетема зафлуженна.
starmaster
6.11.2004 14:59
Ладно, ладно ребята, хватит тут вам обсуждать культуру речи и тому подобное. Просто с массивами я недавно начал работать и перед тем как задавать вопрос сюда читал книжку и искал в инете, но там нигде не было написано что в динамических массивах SetLength устанавливается до присваивания какого-либо значения в массив. Вот подумайте логически: почему бы массиву самому не определять свой размер? Я также думал...
Altair
6.11.2004 16:55
Цитата
: почему бы массиву самому не определять свой размер
Потому что у него нечем думать а если серьезно, то память-то ограниченна...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.