С Новым годом! Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 6

Ошибка в программе на тему подпрограммы и с использованием массива

26.01.2014, 15:29. Показов 528. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте , написал программу по условию :
Дан двумерный массив А состоящий из чисел.
Составить массив Б который состоит из True и False.
true если сумма соседних елементов массива меньше числу s(число мы задаем) и false если больше
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
program asd;
 const s=8;
 n=4;
 m=4;
 type masd=array[1..n,1..m] of real;
 bol=array[1..n,1..m] of boolean;
 var
 a:masd;
 i,j,x,k,sum:integer;
 d:boolean;
 {_____________________________________________________}
   procedure poisksym (var a:masd);
   var i1,j1:integer;
   sum1:real;
   b1:bol;
   begin
   sum1:=0;
   for i1:=1 to n do 
    for j1:=1 to m do 
    begin
     if (i1=1) and (j1=1) then 
      begin
      sum1:=0;
       sum1:=(a[(i1+1),j1])+(a[i1,(j1+1)])+(a[(i1+1),(j1+1)]);
       if (sum1)>(s) then 
        b1[i1,j1]:=false
        else
        b1[i1,j1]:=true;
        end; 
      if (i1=n) and (j1=1) then 
      begin
      sum1:=0;
        sum1:=(a[(i1-1),j1])+(a[i1,(j1+1)])+(a[(i1-1),(j1+1)]);
         if (sum1)>(s) then 
          b1[i1,j1]:=false
          else
          b1[i1,j1]:=true;
          end;
      if (i1=1) and (j1=m) then 
       Begin
       sum1:=0;
         sum1:=(a[(i1+1),j1])+(a[i1,(j1-1)])+(a[(i1+1),(j1-1)]);
           if (sum1)>(s) then 
          b1[i1,j1]:=false
          else
          b1[i1,j1]:=true;
          end;
      if (i1=n) and (j1=m) then 
      Begin
      sum1:=0;
         sum1:=(a[(i1-1),j1])+(a[i1,(j1-1)])+(a[(i1-1),(j1-1)]);
           if (sum1)>(s) then 
          b1[i1,j1]:=false
          else
          b1[i1,j1]:=true;
          end; 
       if (j1=1) and ((i1>1)and(i1<n)) then 
         Begin
         sum1:=0;
         sum1:=(a[(i1-1),j1])+(a[(i1+1),j1])+(a[i1,(j1+1)]);
           if (sum1)>(s) then 
          b1[i1,j1]:=false
          else
          b1[i1,j1]:=true;
          end;
           if (i1=1) and ((j1>1)and(j1<m)) then 
         Begin
         sum1:=0;
         sum1:=(a[(i1+1),j1])+(a[i1,(j1+1)])+(a[i1,(j1-1)]);
           if (sum1)>(s) then 
          b1[i1,j1]:=false
          else
          b1[i1,j1]:=true;
          end;
          if (i1=n) and ((j1>1)and(j1<m)) then 
         Begin
         sum1:=0;
         sum1:=(a[i1,(j1+1)])+(a[i1,(j1-1)])+(a[(i1-1),j1]);
           if (sum1)>(s) then 
          b1[i1,j1]:=false
          else
          b1[i1,j1]:=true;
          end;
           if (j1=m) and ((i1>1)and(i1<n)) then 
         Begin
         sum1:=0;
         sum1:=(a[(i1+1),j1])+(a[(i1-1),j1])+(a[i1,(j1-1)]);
           if (sum1)>(s) then 
          b1[i1,j1]:=false
          else
          b1[i1,j1]:=true;
          end;
          if ((j1>1)and(j1<m)) and ((i1>1)and(i1<n)) then 
         Begin
         sum1:=0;
         sum1:=(a[(i1-1),j1])+(a[(i1+1),j1])+(a[i1,(j1+1)]);
           if (sum1)>(s) then 
          b1[i1,j1]:=false
          else
          b1[i1,j1]:=true;
          end;
        end;
        i1:=1;
        j1:=1;
         for i1:=1 to n do 
         begin
         for j1:=1 to m do 
          Begin
           if b1[i1,j1] then 
            write('true',' ')
            else
             write('false',' '); 
            end;
            writeln;
            end;
       end; 
 {___________________________________________________________________}      
    Begin
     for i:=1 to n do 
      for j:=1 to m do 
        Begin
          writeln('введите A[',i,',',j,']','  ');
          read(A[i,j]);
        end;
        poisksym(A);
            end.
на 3 строке уже идет неправильно, пытаюсь выявить ошибку,помогите пожалуйста .
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.01.2014, 15:29
Ответы с готовыми решениями:

Ошибка в простой задаче на массивы с использованием подпрограммы
Здравствуйте) я только начинаю изучать c#. Прошу помочь с задачей, ну никак не даются мне подпрограммы) Написать программу решения...

подпрограммы.обработка одномерного массива с использованием подпрограмм
Дан массив действительных чисел А1...,А16. получить min(A1*A9,A2*A10,....,A8*A16). Но работать не с одни массивом в с двумя В1 и В2. В...

Ошибка в программе с использованием функций
#include &lt;stdio.h&gt;//подключение #include &lt;conio.h&gt;//необходимых #include &lt;locale&gt;//библиотек #include &lt;time.h&gt; void...

2
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
26.01.2014, 16:01
Вот так посмотри, ввод чисел и их тип можешь сделать по своему
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
program asd;
uses crt;
const s=8;
      n=4;
type masd=array[0..n+1,0..n+1] of integer;
     bol=array[1..n,1..n] of boolean;
{_____________________________________________________}
procedure massivA(var a:masd);
var i,j:integer;
begin
//создадим периметр из 0 для удобства
for i:=0 to n+1 do
 begin
  a[i,0]:=0;
  a[i,n+1]:=0;
  a[0,i]:=0;
  a[n+1,i]:=0;
 end;
writeln('Массив А');
for i:=1 to n do
 begin
  for j:=1 to n do
   begin
    a[i,j]:=-5+random(11);
    write(a[i,j]:4)
   end;
  writeln;
 end;
end;
{___________________________________________________________________}
procedure massivB(a:masd;var b:bol);
var i,j,i1,j1:integer;
    sum:integer;
begin
writeln('Массив В');
for i:=1 to n do
 begin
  for j:=1 to n do
   begin
    sum:=0;
    for i1:=i-1 to i+1 do
    for j1:=j-1 to j+1 do
    sum:=sum+a[i1,j1];
    sum:=sum-a[i,j];
    b[i,j]:=sum<s;
    write(b[i,j]:6);
   end;
  writeln
 end;
end;
{___________________________________________________________________}
var a:masd;
    b:bol;
Begin
massivA(a);
massivB(a,b)
end.
1
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 6
26.01.2014, 16:48  [ТС]
Спасибо большое , вы очень мне помогли.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.01.2014, 16:48
Помогаю со студенческими работами здесь

Ошибка в программе с использованием массивов
Доброго времени. Совсем не давно пользуюсь матлабом. Столкнулся с такой проблемой: задаю массив чисел, на пример: w0 =...

Ошибка создания отчета в программе с использованием CrystalReports
Доброго времени суток! Сразу прошу прошения, если вопрос совсем тупой или не адекватный, но возникла такая проблема! Программировать я по...

Подпрограммы в программе
Помогите пожалуйста, нужно написать подпрограмму (процедуру) для вычисления куба суммы положительных элементов массива Х(15,30); Очень...

Подпрограммы в программе
Добрый день! помогите пожалуйста добработать программу, что бы на начальном экране при запуске появлялось меню подпрограмм ...

Добавить подпрограммы в программе
Доброго времени суток! Помогите с заданием. Выполнить задания в среде Delphi. Выбор выполняемого задания должен осуществляется через...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru