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

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

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

> функции и процедуры..., помогите найти ошибку.
сообщение
Сообщение #1


Пионер
**

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

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


1)задание такое:вывести марицы а(1..12) и с(10..7).найти и вывести на экран произведение ненулевых элементов матриц.....вот код
Исходный код
Program xxx;
uses crt;
type
matrica=array[1..14,1..12] of integer;
var
a,c:matrica;
p1,p2:integer;
procedure input(var d:matrica;n,k:integer);
var
i,j:integer;
begin
randomize;
for i:=1 to n do begin
for j:=1 to k do
d[i,j]:=random(10);
end;
End;
Procedure output(var d:matrica;n,k:integer);
var
i,j:integer;
begin
for i:=1 to n do begin
for j:=1 to k do
Write(d[i,j]:4);
Writeln('');
End;
end;
function p (d:matrica;n,k:integer):integer;
var
i,j,proiz:integer;
begin
proiz:=1;
for i:=1 to n do begin
for j:=1 to k do
if d[i,j]>0 then
proiz:=proiz*d[i,j];
p:=proiz;
End;
End;
begin
input(a,14,12);
input(c,10,7);
Writeln('matrica a');
output(a,14,12);
Writeln('matrica c');
output(a,10,7);
readkey;
p1:=p(a,14,12);
p2:=p(c,10,7);
Writeln('p=',p1);
Writeln('p=',p2);
Readln;
End.

помогите ошибку найти.он постоянно обнуляет произведение.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Код
function kolvo (d:matrica;n,k:integer):integer;
var
 i,j,n3:integer;
begin
 n3:=0;
 for i:=1 to n do begin
   for j:=1 to k do
     if d[i,j]>0 then n3:=n3+1;
 end;
 kolvo := n3; { Не забывайте !!! }
end;

1. Функция не возвращает результат
2. Давайте хоть как-то выделять смещением блоки программы (Ваши программы ОЧЕНЬ трудно читать).
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Svetka   функции и процедуры...   24.03.2005 16:47
Stream   Все грамотно, только пара штук нехороших 1: Writel…   24.03.2005 17:17
Svetka   я исправила..... matrica=array[1..14,1..12] of in…   24.03.2005 17:23
FreeMan   longint - тип переменной, куда заносим результат у…   24.03.2005 17:32
volvo   Там действительно получаются ОЧЕНЬ большие произве…   24.03.2005 17:35
Svetka   работает))) тока вот random(3); он считает произве…   24.03.2005 17:41
Svetka   вот код: Program xxx; uses crt; type matrica=arra…   24.03.2005 18:55
volvo   function kolvo (d:matrica;n,k:integer…   24.03.2005 19:01
FreeMan   Я так понял ты тут пытаешься определить кол-во нен…   24.03.2005 19:02
Svetka   спасибо)) у мя получилось))) тока 1 задача с произ…   24.03.2005 19:05
volvo   А ведь я написал, что можно сделать... :)   24.03.2005 19:13
Svetka   я это попробовала...но там вот random(3); наприме…   24.03.2005 19:16
Stream   Ни фига себе маленькое....   25.03.2005 16:45
FreeMan   ещё один совет - не делай большую матрицу. сделай …   24.03.2005 19:19
Svetka   я б сделала...но там задание именно а(12..14)и с…   24.03.2005 19:21


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

 





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