Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.218.138.170] |
|
Сообщ.
#1
,
|
|
|
Здравствуйте, уже второй день ломаю голову с ошибкой в строке 30 m[i]:=num;
Не могу тупо присвоить значение массиву! Хотя аналогичные программы из интернета работают. Программа компилится, но при выполнении программы выдает ошибку: Проект вызвал класс исключения External SIGSEGV в файле ...lpr на строке 30 Вот код программы: program project7; var num, i, j, sum, k: integer; var m: array{1..100} of integer; begin i:=0; sum:=0; k:=0; num:=1; {while num<>0 do begin if (i<100) then begin readln(num); m[i+1]:=num; i:=i+1; end else break; end;} for i:=1 to 100 do begin readln(num); {if num=0 then break; } m[i]:=num; k:=k+1; end; {for j:=1 to i do begin if (m[j] div 10 >= 1) and (m[j] div 10 <= 9) then begin sum:=sum+m[j]; k:=k+1; end; end; if(k>0) then writeln('sred=', sum/k) else writeln ('таких чисел нет'); } readln(); end. |
Сообщ.
#2
,
|
|
|
Как, как объявлен массив????
что, компилятор это пропустил? var m: array[i]{1..100} of integer; |
Сообщ.
#3
,
|
|
|
Цитата MBo @ что, компилятор это пропустил? да var m: array [1..N] of Integer; Среда Lazarus 1.6, FPC 3.0.0 |
Сообщ.
#4
,
|
|
|
Нужно показать настоящий код программы.
|
Сообщ.
#5
,
|
|
|
Нужно выделять память под динамический массив - SetLength.
|
Сообщ.
#6
,
|
|
|
Цитата MBo @ Нужно показать настоящий код программы. Приведенный в первом посте код и есть полный код программы, которую я исполняю. Цитата Федосеев Павел @ Нужно выделять память под динамический массив - SetLength. Спасибо. Не подскажите как? Я - новичок в Паскале и делаю все по учебникам, но там такого нет. А если массив статический как в си? например int a[1000]; |
Сообщ.
#7
,
|
|
|
На мой взгляд, програма из первого поста не может исполняться, т.к. указанная мной строчка не пройдёт компиляцию. В посте #3 уже другое приводится.
Вот так, например, может выглядеть правильное объявление статического массива m: array[1..100] of integer; |
Сообщ.
#8
,
|
|
|
Цитата Проект вызвал класс исключения External SIGSEGV в файле ...lpr на строке 30 а что у вас в 30 строке? |
Сообщ.
#9
,
|
|
|
Походу проблема не в коде, а в IDE.
Ну, не основная проблема Borland Pascal 7.0 полет ОК program project7; var num, i, j, sum, k: integer; var m: array[1..100] of integer; begin i:=0; sum:=0; k:=0; num:=1; for i:=1 to 100 do begin write(i,':');readln(num); m[i]:=num; writeln(m[i]:4); k:=k+1; end; readln; end. |