Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 09.06.2010
Сообщений: 4
1

Ошибка "Runtime error" при создании массива

09.06.2010, 07:18. Показов 1041. Ответов 7
Метки нет (Все метки)

помогите плиз, у меня задачка "создать из 2х одномерных массивов один одномерный массив, в котором сначало идуд отрицательные, потом нулевые и потом положительные"
код у меня такой получается:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
program mas;
uses crt;
var
a,b,c:array[1..20]of integer;
n,i:integer;
begin
randomize;
for i:=1 to 10 do
begin
a[i]:=random(100) -30;   {тут ругается "Runtime error"}
write(a[i]:4);
end;
for i:=1 to 10 do
begin
b[i]:=random(200) -70; {тут ругается "Runtime error"}
write(b[i]:4);
end;
n:=1;
for i:=1 to 10 do
begin
if a[i]<0 then begin c[n]:=a[i];
n:=n+1; end;
if b[i]<0 then begin c[n]:=b[i];
n:=n+1;end;
end;
for i:=1 to 10 do
begin
if a[i]=0 then begin c[n]:=a[i];
n:=n+1; end;
if b[i]=0 then begin c[n]:=b[i];
n:=n+1;end;
end;
for i:=1 to 10 do
begin
if a[i]>0 then begin c[n]:=a[i];
n:=n+1; end;
if b[i]>0 then begin c[n]:=b[i];
n:=n+1;end;
end;
writeln('итоговый масив');
for i:=1 to n-1 do
write(c[n]:4)
end.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.06.2010, 07:18
Ответы с готовыми решениями:

Ошибка "Object reference not set to an instance of an object" при создании списка
Добрый день. Задача такая: На входе дано несколько чисел (не знаем, какое кол-во). На выходе...

Написать программу проверки правильности написания сочетаний "жи", "ши", "ча", "ща", "чу", "щу". Исправить ошибки
дан текст.написать программу проверки правильности написания сочетаний &quot;жи&quot;, &quot;ши&quot;, &quot;ча&quot;, &quot;ща&quot;,...

Решение заданий типа "Array","Matrix","String","File","Text"""
большая просьба помочь решить где-то около 35-40 (из 100) задач (мне не понятных) типа массив и...

Error: "Forward declaration not solved" при компиляции unit-а
Пытаюсь скомпелировать вот это:unit matrix0; interface const m=10; type arr = array of integer;...

7
334 / 181 / 68
Регистрация: 18.03.2010
Сообщений: 586
Записей в блоге: 11
09.06.2010, 07:45 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
var
  a,b,c:array[1..200] of integer;
  i,j,z:integer;
begin
  for i:=1 to 60 do {заполнение}
    a[i]:=random(100)-50;
  for i:=1 to 40 do
    b[i]:=random(100)-50;
  z:=0;
  for i:=1 to 60 do{<0}
    if a[i]<0 then
      begin
        c[z]:=a[i];
        z:=z+1;
      end;
  for i:=1 to 40 do
    if b[i]<0 then
      begin
        c[z]:=b[i];
        z:=z+1;
      end;
  for i:=1 to 60 do{=0}
    if a[i]=0 then
      begin
        c[z]:=a[i];
        z:=z+1;
      end;
  for i:=1 to 40 do
    if b[i]=0 then
      begin
        c[z]:=b[i];
        z:=z+1;
      end;
  for i:=1 to 60 do{>0}
    if a[i]>0 then
      begin
        c[z]:=a[i];
        z:=z+1;
      end;
  for i:=1 to 40 do
    if b[i]>0 then
      begin
        c[z]:=b[i];
        z:=z+1;
      end;
  for i:=1 to z do
    write(c[i],', ');
  writeln;
  readln;
end.
Мне очень кажется, что более верно было бы применить функцию, но я так уже написал
0
Модератор
63898 / 47373 / 32664
Регистрация: 18.05.2008
Сообщений: 114,904
09.06.2010, 07:47 3
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
program mas;
uses crt;
var a,b,c:array[1..20]of integer;
    n,i:integer;
begin
clrscr;
randomize;
writeln('Массив А:');
for i:=1 to 10 do
 begin
  a[i]:=random(100) -30;   {Это не тут ругается "Runtime error", а вообще ругается}
  write(a[i]:4);
 end;
writeln;
writeln;
writeln('Массив В:');
for i:=1 to 10 do
 begin
  b[i]:=random(200) -70; {И не тут, а идет ошибка времени исполнения программы
                          поскольку массив объявлен из 20 элементов, а Вы пытаетесь
                           засунуть в него 21 элемент. Если объявить [1..21] или отключить 
                            Range Error {$R-}, то ошибки не будет, но программа у вас все равно с                             ошибками}
  write(b[i]:4);
 end;
writeln;
writeln;
n:=0;{инициируем рвзмер нового массива}
for i:=1 to 10 do
 begin
  if a[i]<0 then
   begin
    n:=n+1;{сначала выделяем ячейку}
    c[n]:=a[i];{потом в нее пишем, а не наоборот}
   end;
  if b[i]<0 then
   begin
    n:=n+1;
    c[n]:=b[i];
   end;
 end;
for i:=1 to 10 do
 begin
  if a[i]=0 then
   begin
    n:=n+1;
    c[n]:=a[i];
   end;
  if b[i]=0 then
   begin
    n:=n+1;
    c[n]:=b[i];
   end;
end;
for i:=1 to 10 do
 begin
  if a[i]>0 then
   begin
    n:=n+1;
    c[n]:=a[i];
   end;
  if b[i]>0 then
   begin
    n:=n+1;
    c[n]:=b[i];
   end;
 end;
writeln('итоговый масив');
for i:=1 to n do
write(c[i]:4);{ну и здесь вы пытались все время выводить последний элемент массива}
readln
end.
0
0 / 0 / 0
Регистрация: 09.06.2010
Сообщений: 4
09.06.2010, 12:04  [ТС] 4
чет один черт, "Runtime error", уже и тот и тот код копировал в прогу.... (((
0
Модератор
63898 / 47373 / 32664
Регистрация: 18.05.2008
Сообщений: 114,904
09.06.2010, 12:44 5
EL!TA, Это или судьба или необычайно кривые руки...
0
0 / 0 / 0
Регистрация: 09.06.2010
Сообщений: 4
09.06.2010, 13:35  [ТС] 6
я не набирал твой код, а скопировал и вставил!!!! ошибка продолжает выскакивать... проверь работоспособность этого кода! в программе сам

Добавлено через 8 минут
кстати, когда убираю интервал рандома "a[i]:random(100) -30" ошибки нет, и прога робит
0
Модератор
63898 / 47373 / 32664
Регистрация: 18.05.2008
Сообщений: 114,904
09.06.2010, 14:05 7
Вот я тоже скопировал и запустил
0
Миниатюры
Ошибка "Runtime error" при создании массива  
0 / 0 / 0
Регистрация: 09.06.2010
Сообщений: 4
09.06.2010, 17:48  [ТС] 8
извеняюсь, все идет! просто версия паскаля косячная... на другой все катит
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.06.2010, 17:48

Помощь в написании контрольных, курсовых и дипломных работ здесь.

syntax error ":" expected but "(" found
Составить новый вектор из неуникальных элементов исходного вектора. где 1 там и выдается ошибка...

После каждого символа "О" вставлять пробел и подсчитывать количество букв "А" стоящих между буквами "К" и "Л"
После каждого символа &quot;О&quot; вставлять пробел и подсчитывать количество букв &quot;А&quot; стоящих между буквами...

Шахматы: охарактеризовать положение белых с помощью слов: "мат", "шах", "пат", "обыкновенная позиция"
у белых на доске остался только король , у черных - король, слон, конь. охарактеризовать положение...

Ошибка: "индекс находится вне границ массива"
не могу понять в чем ошибка, вводные данные 2 (размер массива) 3 1 (числа для сортировки) ошибку...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.