Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.11.2009, 16:02   #1
Babur4iK
Пользователь
 
Регистрация: 06.10.2009
Сообщений: 55
По умолчанию Вычислить и запомнить суммы положительных элементов каждой строки матриц

1. Написать программу решения следующей задачи: Вычислить и запомнить суммы положительных элементов каждой строки матриц A(6,6) и B(5,5).

нужна помочь ,чем сможете помогите!
Babur4iK вне форума Ответить с цитированием
Старый 16.11.2009, 16:40   #2
Secc
Пользователь
 
Аватар для Secc
 
Регистрация: 19.10.2009
Сообщений: 30
По умолчанию

ну и в чем проблема? показывайте ваши наработки..
Спасибо! Кэп!!
FORZA LAZIO e NON MOLLARE MAI !!
Secc вне форума Ответить с цитированием
Старый 18.11.2009, 12:49   #3
Babur4iK
Пользователь
 
Регистрация: 06.10.2009
Сообщений: 55
По умолчанию

вообщем вот к матрице A(6,6)

Код:
uses crt;
type mas=array[1..6] of integer;
     matr=array[1..6,1..6] of integer;
procedure Vvod(var mt:matr;x:byte;c:char);
var i,j:byte;
begin
writeln('Ìàòðèöà ',c);
for i:=1 to 6 do
 begin
  for j:=1 to 6 do
   begin
    mt[i,j]:=random(20)-5;
    write(mt[i,j]:5);
   end;
  writeln;
 end;
end;
function Summ(v:mas;x:byte):integer;
var i:integer;
    s:integer;
begin
s:=0;
for i:=1 to 6 do
if v[i]>0 then s:=s+v[i];
Summ:=s;
end;
procedure Vektor(mt:mas;x:real;var v:mas;c:string);
var i:byte;
begin
writeln('Âåêòîð ',c);
for i:=1 to 6 do
 begin
  v[i]:=Summ(mt[i],6);{- вот здесь говорит ошибка нельзя преобразовать                        выражение типа  integer к типу array[1..6] of integer}
  write(v[i],' ');
 end;
writeln;
writeln;
end;
var a,b:matr;
    va,vb:mas;
begin
clrscr;
randomize;
Vvod(a,6,'A');
Vektor(a,6,va,'Va');
Vvod(b,5,'B');
Vektor(b,5,vb,'Vb');
readln
end.

Последний раз редактировалось Stilet; 18.11.2009 в 13:11.
Babur4iK вне форума Ответить с цитированием
Старый 18.11.2009, 13:16   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

а так:
Код:
Summ(mas(mt[i]),6);
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.11.2009, 13:26   #5
Babur4iK
Пользователь
 
Регистрация: 06.10.2009
Сообщений: 55
По умолчанию

пишет явное преобразование типа integer к массиву запрещено
Babur4iK вне форума Ответить с цитированием
Старый 18.11.2009, 13:28   #6
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Ты передаешь элемент массива, а требуется весь массив.
Код:
v[i]:=Summ(mt,6);
так должно работать.
И вынеси эту строку перед циклом, там считается только один раз (у тебя этот цикл в самой функции).
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 18.11.2009, 13:39   #7
Babur4iK
Пользователь
 
Регистрация: 06.10.2009
Сообщений: 55
По умолчанию

Цитата:
uses crt;
type mas=array[1..6,1..6] of integer;
matr=array[1..6,1..6] of integer;
procedure Vvod(var mt:matr;x:byte;c:char);
var i,j:byte;
begin
writeln('Ìàòðèöà ',c);
for i:=1 to 6 do
begin
for j:=1 to 6 do
begin
mt[i,j]:=random(20)-5;
write(mt[i,j]:5);
end;
writeln;
end;
end;
function Summ(v:mas;x:byte):integer;
var i,j:integer;
s:integer;
begin
s:=0;
for i:=1 to 6 do
for j:=1 to 6 do

if v[i,j]>0 then s:=s+v[i,j];
Summ:=s;
end;
procedure Vektor(mt:mas;x:real;var v:mas;c:string);
var i,j:byte;
begin
writeln('Âåêòîð ',c);
for i:=1 to 6 do
begin
v[i,j]:=Summ(mt,6);{- âîò çäåñü ãîâîðèò îøèáêà íåëüçÿ ïðåîáðàçîâàòü âûðàæåíèå òèïà integer ê òèïó array[1..6] of integer}
write(v[i,j],' ');
end;
writeln;
writeln;
end;
var a,b:matr;
va,vb:mas;
begin
clrscr;
randomize;
Vvod(a,6,'A');
Vektor(a,6,va,'Va');
Vvod(b,5,'B');
Vektor(b,5,vb,'Vb');
readln
end.
щас короче вывеел мне матрицу А ,а сумму не считает пишет выход за границы диапозона измения индекса 1..6

в чем проблема
Babur4iK вне форума Ответить с цитированием
Старый 18.11.2009, 13:43   #8
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Код:
v[i,j]:=Summ(mt,6);
Не торопись, а то успеешь . Чему равно j в момент выполнения данной строчки? Поищи по тексту, и напиши, что нашел.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 18.11.2009, 13:56   #9
Babur4iK
Пользователь
 
Регистрация: 06.10.2009
Сообщений: 55
По умолчанию

понял по ходу я цикл по j не поставил
щас все получилось спасибо

Последний раз редактировалось Babur4iK; 18.11.2009 в 14:08.
Babur4iK вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дана квадратная матрица порядка N. Вычислить среднее арифметическое положительных элементов матрицы, Grisha248 Помощь студентам 2 22.05.2009 17:37
Вычислить и запомнить суммы положительных элементов каждой строки матрицы kiko Паскаль, Turbo Pascal, PascalABC.NET 1 13.12.2008 17:32
Вычислить и запомнить количество отрицательных элементов каждого столбца для матрицы A(10,10) , B (15,20) bitmania Помощь студентам 3 15.10.2008 01:06
Найти отношения суммы элементов главной диагонали и суммы элементов побочной диагонали квадратной матрицы Elmander Помощь студентам 2 21.06.2007 07:15