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

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

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

> 2-мерный массив на ООП, помогите исправить ошибку
сообщение
Сообщение #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 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Цитата
теперь 4 ошибка после
procedure ooo.vvod;
var i,j:byte;
Прав компилятор на все 100%... У тебя уже есть N, как член объекта, ты еще и как параметр метода хочешь использовать N? Нельзя. Давай другое имя либо параметру, либо члену класса...
 К началу страницы 
+ Ответить 

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


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

 





- Текстовая версия 19.04.2024 15:48
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name