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 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Айра
сообщение 9.01.2009 13:12
Сообщение #2


Профи
****

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

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


Цитата
Айра, ты зачем поменяла местами m и n?

Ой.. случайно.. в алфавитном порядке записала.. (сейчас исправлю)

Цитата
Еще вместо

Вот с этим всегда проблемы, считать ли ноль положительным числом или нет)) наши преподы отвечали: "не считайте"
 Оффлайн  Профиль  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:35
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"