IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> 2-мерный массив на ООП, помогите исправить ошибку
NiMfetKa
сообщение 9.01.2009 0:59
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 18
Пол: Женский

Репутация: -  0  +


вот задание:
Заданы 3 матрицы действительных чисел 5х6, 10х8, 8х7. Определить сумму элементов в тех столбцах, которые не содержат отрицательных элементов. Сравнить результаты обработки матриц.

вот мой листинг:
Program pr7;
uses crt;
type matr=array [1..10,1..10] of integer;
ooo = object;
n,m:byte;
a:matr;
procedure Vvod(n,m:byte);
procedure vivod;
function sum_m: integer;
end;

var x,y,z:ooo;


procedure ooo.vvod;
var i,j:byte;
begin
for i:=1 to n do
for J;=1 to m do
a[i,j]:=random(20);
end;


procedure ooo.vivod;
var i,j:byte;
begin
for i:=1 to n do
begin writeln;
for j:=1 to m do
write(a[i,j]:6:0);
end;
end;


function ooo.sum_m: integer;
var
i, j: byte;
Summ, ResSumm: integer;
IsNegative: boolean;
begin
ResSumm := 0;

for j := 1 to n do
begin
IsNegative := false;
Summ := 0;
i := 0;
while (i < m) or not IsNegative do
begin
if a[i,j] > 0 then
Summ := Summ + a[i,j]
else
IsNegative := true;
inc(i);
end;
if not IsNegative then
ResSumm := ResSumm + Summ;
end;
sum_m := ResSumm;
end;



begin
clrscr;
x.vvod(5,6);
y.vvod(10,8);
z.vvod(8,7);
x.vivod;
y.vivod;
z.vivod;
writeln;
writeln;
x.summ;
y.summ;
z.summ;
writeln(x.sum_m);
writeln(y.sum_m);
writeln(z.sum_m);
readln;
end.


но почему-то после
Код
ooo = object;
выбивает 2 ошибку wacko.gif wacko.gif nea.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
NiMfetKa
сообщение 9.01.2009 4:47
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 18
Пол: Женский

Репутация: -  0  +


пасибки, Айра, огромное))

Добавлено через 3 мин.
но вот результаты с random(20)-5
Код
    -4     4    -4    11    -4
     0    13     2    10     1
     8    11     9     1    -2
     1     4    -1    11     0

     4    -3    12     0    10    14     4    12    11    -5
    -3    -3     5    -5     6    -5    10     8    10     9
     6    -1     8     6    14     7    14    -1     8     0
    -4    10     4    12     5     6    14     8     1    -5
     9    14    10     9    -2    -3    13    10     6    12
     8     0    -4     7     0    12    -2     0     5    14
    -2    -2     0    -2     6     4     0    -2     7     9
     9    -4    -4    -4    -3    10    11     2     7     3

     9     4     1    11    11    -3    -4    -4
    -4    -2     8    -1     6     0     2    11
     1     1     8     8    13     1     4     0
    10     9     6     9     3     5     6    12
     8    -3     4     3    -3    -4     5     8
    -4    13    11     8    13     0     9     9
     4     8    -2    -1    13     2    -3    14

    55



а если менять на random(60)-5 , то
Код
    -1    23    -1    45    -2
    12    50    17    41    14
    36    45    38    13     4
    14    22     9    44    11

    23     3    47    12    41    53    24    48    44    -4
     3     3    25    -4    30    -5    41    34    41    37
    28     7    35    30    52    33    54     9    35    12
     0    41    24    47    25    29    52    36    15    -5
    37    54    41    39     6     3    49    42    30    46
    36    12     0    32    11    47     4    11    27    52
     5     4    11     5    29    24    12     4    31    39
    39    -1    -1    -2     1    42    43    17    31    21

    39    24    15    44    44     3     0    -1
    -2     6    35     8    29    10    16    45
    13    13    34    36    49    14    23    12
    41    39    28    38    19    27    30    47
    35     1    23    19     1    -2    27    35
    -1    50    45    35    50    11    37    39
    24    34     4     8    51    16     2    54
   167
   171   195   279   201   254
   167   184   188   243   135

почему в первой матрице только одна сумма, если с положительными элементами 2-ва столбца? да еще странная какая-то...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
NiMfetKa   2-мерный массив на ООП   9.01.2009 0:59
Айра   Точку с запятой убери после object :) Он разве теб...   9.01.2009 1:20
NiMfetKa   теперь 4 ошибка после procedure ooo.vvod; var i,j...   9.01.2009 1:51
Lapp   теперь 4 ошибка после procedure ooo.vvod; var i,j...   9.01.2009 2:04
Айра   а вызываешь как ooo.vvod(5,6)? на так нужно ж указ...   9.01.2009 2:06
NiMfetKa   ему не нра вар почему-то...   9.01.2009 2:11
Lapp   ему не нра вар почему-то...Слушай, NiMfetKa, а как...   9.01.2009 2:24
Айра   И еще: 0. в цикле while нужно не or а and и (j ...   9.01.2009 2:14
Айра   Ошибка 4 - duplicate identifier (сорри, не то скоп...   9.01.2009 2:26
volvo   Прав компилятор на все 100%... У тебя уже есть N, ...   9.01.2009 2:27
Lapp   Прав компилятор на все 100%... Ну, на 99%.. :) Tur...   9.01.2009 2:32
volvo   Турбо как раз и требует, чтобы не было повторений ...   9.01.2009 2:33
Lapp   NiMfetKa, скажи, чем компилируешь! [b]Добавле...   9.01.2009 2:33
Lapp   Хотя в моде FP - не пропускает. Причем, раньше   9.01.2009 2:40
NiMfetKa   и что должно долучиться ? :huh: :huh:   9.01.2009 2:39
Lapp   и что должно долучиться ? :huh: :huh: Хороший во...   9.01.2009 2:41
NiMfetKa   TURBO PASCAL 7.1   9.01.2009 2:40
Айра   Тоже проверила, fpc все равно, tp7.0 ругается.. А ...   9.01.2009 2:50
NiMfetKa   а где третий массив? и надо искать сумму строк...   9.01.2009 2:59
Айра   а что с третим массивом? за основу брала твой вари...   9.01.2009 3:07
NiMfetKa   третий массивчик надо как-то вместить на экране, н...   9.01.2009 3:17
Айра   по-моему никак) во всяком случае я выхода не знаю....   9.01.2009 3:21
NiMfetKa   спаси меня, Айра, умоляю   9.01.2009 3:24
Айра   Странно как-то.. написала такой большой код, а сей...   9.01.2009 3:28
NiMfetKa   в функции надо поменять i с j местами и дописать ...   9.01.2009 3:28
Айра   NiMfetKa, ну я же у тебя несколько раз спрашивала:...   9.01.2009 3:34
NiMfetKa   четкого требования нет, но, наверное, удобнее для ...   9.01.2009 3:41
Айра   тогда вот это: функция подсчета мутирует в процеду...   9.01.2009 3:49
NiMfetKa   пасибки, Айра, огромное)) [b]Добавлено через 3 м...   9.01.2009 4:47
Lapp   Айра, ты зачем поменяла местами m и n? procedure ...   9.01.2009 5:29
NiMfetKa   Хм, как переделать процедуру ooo.sum_m в функцию о...   9.01.2009 12:56
Lapp   функцию определения отрицательных элементов- что э...   10.01.2009 1:51
Айра   Ой.. случайно.. в алфавитном порядке записала.. (...   9.01.2009 13:12
Lapp   Вот с этим всегда проблемы, считать ли ноль положи...   9.01.2009 18:31
Айра   to NiMfetKa, и можно вообще увидеть конкретные тре...   10.01.2009 2:19
NiMfetKa   да, Lapp, в в функцию определения наличия отрицате...   10.01.2009 17:39
Айра   То есть? Может в функцию должен передаваться этот...   10.01.2009 18:16
NiMfetKa   ХМ, нет, не вложенный... процедурка же должна знат...   10.01.2009 18:54
Айра   procedure sum_m; function IsNegative({передаешь ...   10.01.2009 19:09
NiMfetKa   а не вложенной можно сделать?   10.01.2009 19:25
Айра   И не вложенной можно. Принцип вызова остается тот ...   10.01.2009 19:31


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 14:37
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"