Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 13.04.2013
Сообщений: 13
1

Процедура без параметров: Сложить отдельно чёрные и белые элементы матрицы

13.04.2013, 11:36. Показов 1016. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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
Program PRG4;
Uses crt;
type matrix = array[1..100,1..100] of integer;
var
m,n: integer;
ch,c: char;
deistv,tip: byte;
S1,S2: longint;
a: matrix;
procedure rez(m,n : integer; sp : byte; tip : byte; var S1,S2 : longint);
{m,n - razmernost; sp - deistvie nad elementami; tip - tip elementov; S1,S2 - peremennie}
var i,j : integer;
begin
case sp of
 1 : begin
     S1 := 0;
     S2 := 0;
     for i:=1 to m do
      for j:=1 to n do
       begin
       case tip of
        1 : if a[i,j] mod 2 = 0 then inc(S1,a[i,j])
            else inc(S2,a[i,j]);
        2 : if a[i,j]>0 then inc(S1,a[i,j])
            else if a[i,j]<0 then inc(S2,a[i,j]);
        3 : if (i+j) mod 2 = 0 then inc(S1,a[i,j])
            else inc(S2,a[i,j]);
       end;
       end;
     end;
 2 : begin
     S1 := 1;
     S2 := 1;
     for i:=1 to m do
      for j:=1 to n do
       begin
       case tip of
        1 : if a[i,j] mod 2 = 0 then S1 := S1 * a[i,j]
            else S2 := S2 * a[i,j];
        2 : if a[i,j]>0 then S1 := S1 * a[i,j]
            else if a[i,j]<0 then S2 := S2 * a[i,j];
        3 : if (i+j) mod 2 = 0 then S1 := S1 * a[i,j]
            else S2 := S2 * a[i,j];
       end;
       end;
      end;
 
     end;
end;
{----------------}
procedure vvod(m,n : integer; var a : matrix);
 var i,j : integer;
 begin
 for i:= 1 to m do
  for j:=1 to n do
   begin
   write('Vvedite A[',i,',',j,']: ');
   readln(a[i,j]);
   end;
 writeln('-----------');
 writeln;
 end;
{-------}
 
begin
Clrscr;
 
 
 
repeat
clrscr;
write('Vvedite kolichestvo strok: ');
readln(m);
 
write('Vvedite kolichestvo stolbcov: ');
readln(n);
 
vvod(m,n,a);
 
writeln('Vyberite deistvie (1 - summa, 2 - proizvedenie, 3 - raznost):');
 repeat
 c := readkey;
 until (c='1') or (c='2') or (c='3');
 if c='1' then deistv:=1;
 if c='2' then deistv:=2;
 if c='3' then deistv:=3;
 
 writeln('Vyberite tip elementov:');
 writeln('1 - chetnye/nechetnye');
 writeln('2 - polozhitelnye/otricatelnye');
 writeln('3 - "chernye"/"belye"');
 repeat
 c := readkey;
 until (c='1') or (c='2') or (c='3');
 case c of
 '1' : tip := 1;
 '2' : tip := 2;
 '3' : tip := 3;
 end;
 
 rez(m,n,deistv,tip,S1,S2);
 writeln('Rezultat: S1 = ',S1);
 writeln('S2= ',S2);
 
 writeln('Hotite vvesti eshe odnu matricu? (y/n)');
 repeat
 c := readkey;
 until (c='y') or (c='n');
until c='n';
end.

Задача(оригинал): на матрицу накладывается воображаемая шахматная доска. Сложить отдельно чёрные и белые её элементы, вывести матрицу на экран.
В данной задаче требуется сделать то же самое, но использовав процедуру без параметров. Когда вставляю её, результат обнуляется вне зависимости от введённых чисел(
помогите, пожалуйста
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.04.2013, 11:36
Ответы с готовыми решениями:

Расставлены три белые и три черные шашки; нужно поменять местами белые и черные
Имеется линейная доска из семи клеток, на которых расставлены три белые и три черные шашки. Можно...

Сложить отдельно все положительные и отрицательные элементы массива отдельно
Кому не лень помогите пожалуйста сделать эти задачи. Хотя бы несколько. Буду очень признателен. 1)...

Сложить отдельно положительные, отдельно отрицательные элементы массива
2.Напишите программу, которая сначала вводит десять чисел в одномерный массив, а затем складывает...

Сложить отдельно все положительные элементы этого массива, отдельно все отрицательные
Написать программу, которая сначала вводит десять чисел в одномерный массив, а затем складывает...

1
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
13.04.2013, 12:49 2
Процедура без параметров это когда все входные и выходные параметры описываются как глобальные переменные и параметры не указываются, например
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
var a,b,c:real;
procedure summa;
begin
c:=a+b
end;
begin
writeln('Введите a,b');
readln(a,b);
summa;
write('c=',c:0:2);
readlb
end.
Добавлено через 2 минуты
А у вас вообще в задаче какое-то непонятство написано типа
Pascal
1
2
3
4
5
6
7
case tip of
        1 : if a[i,j] mod 2 = 0 then inc(S1,a[i,j])
            else inc(S2,a[i,j]);
        2 : if a[i,j]>0 then inc(S1,a[i,j])
            else if a[i,j]<0 then inc(S2,a[i,j]);
        3 : if (i+j) mod 2 = 0 then inc(S1,a[i,j])
            else inc(S2,a[i,j]);
интересно чем различаются действия 1,2,3
0
13.04.2013, 12:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.04.2013, 12:49
Помогаю со студенческими работами здесь

Сложить отдельно положительные и отрицательные элементы массива
В массиве С(12) сложить отдельно элементы положительные и отрицательные. Подсчитать количество...

Сложить отдельно элементы массива с четными и нечетными номерами
можете сделать задачку, последняя лаба по инфе, никак не могу понять решение Дан массив C(m)...

Сложить отдельно элементы массива с четными и нечетными номерами
Дан массив P(m), m&lt;=25. Сложить отдельно элементы с четными нечетными номерами.Большую сумму и...

Процедура без параметров
Написать программу, вычисляющую удвоенный квадрат площади треугольника с помощью процедуры без...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru