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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.03.2014, 11:19   #1
Maxim80
Пользователь
 
Регистрация: 27.03.2014
Сообщений: 11
По умолчанию Заданы две матрицы. Для матрицы,которая отвечает заданному условию (написать function) выполнить действие (написать procedure)

Пожалуйста помогите начинающему с несложной задачей!!

Заданы две матрицы А (6,6) и В (6,6). Для матрицы, которая отвечает
заданному условию (1) выполните преобразования (2) в соответствии с
вариантом задания, представленным в табл. 1.
Условие (1) проверить в подпрограмме Function, преобразование
выполнить в подпрограмме Procedure.

Задание
1 – количество отрицательных элементов больше
2 – просуммировать положительные элементы в каждой строке

Заранее спасибо за помощь!

Последний раз редактировалось Serge_Bliznykov; 27.03.2014 в 15:06.
Maxim80 вне форума Ответить с цитированием
Старый 27.03.2014, 11:34   #2
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Ну сделал. И что? Самостоятельно что сделано?

Покажите хотя бы, как матрицы вводите.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 27.03.2014, 13:57   #3
Maxim80
Пользователь
 
Регистрация: 27.03.2014
Сообщений: 11
По умолчанию

примерно так:

writeln('Введите матрицу A[6][6]');
for i:= 1 to 6 do
for j:=1 to 6 do
read(A[i][j]);
writeln('Введите матрицу B[6][6]');
for i:= 1 to 6 do
for j:=1 to 6 do
read(B[i][j]);
Maxim80 вне форума Ответить с цитированием
Старый 27.03.2014, 14:43   #4
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Ну допустим.
Дальше пробегаете по заполненной матрице и считаете число отрицательных элементов. Если их в матрице больше половины - снова пробегаете по матрице и считаете сумму положительных в каждой строке, после чего выводите её.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 27.03.2014, 16:38   #5
Maxim80
Пользователь
 
Регистрация: 27.03.2014
Сообщений: 11
По умолчанию

Ребят, ну помогите с решением... просто время поджимает

Последний раз редактировалось Maxim80; 27.03.2014 в 20:36.
Maxim80 вне форума Ответить с цитированием
Старый 28.03.2014, 10:05   #6
Maxim80
Пользователь
 
Регистрация: 27.03.2014
Сообщений: 11
По умолчанию

Код:
program Matrica;
uses crt;
type arr=array[1..6,1..6] of integer;
     vector=array[1..6] of integer;

var A,B:arr;
    i,j,s:integer;

function countNull(X:arr):integer;
var i,j,rez:integer;
begin
rez:=0;
for i:=1 to 6 do
for j:=1 to 6 do
 if X[i,j]=0 then inc(rez);
countNull:=rez;
end;

procedure summa(X:arr; var summa:integer);
var i:integer;
begin
summa:=0;
for i:=1 to 6 do summa:=summa+X[i,i]
end;

begin
for i:=1 to 6 do
for j:=1 to 6 do A[i,j]:=-8+random(26);

for i:=1 to 6 do
for j:=1 to 6 do B[i,j]:=-8+random(26);

write ('Vot matrica A:');
for i:=1 to 6 do begin writeln;
for j:=1 to 6 do write (A[i,j]:8,' '); end;
writeln;writeln;
write ('Vot matrica B:');
for i:=1 to 6 do begin writeln;
for j:=1 to 6 do write (B[i,j]:8,' '); end;

writeln;writeln;
if countNull(A)>countNull(B) then
   begin
    summa(A,s);
    writeln('Otricatelinie elementy matricy "A": ',s);
   end
   else
   begin
    summa(B,s);
    writeln('Otricatelinie elementy matricy "B": ',s);
   end;


readln;
end.
Посмотрите пожалуйста на ошибки и неточности.



___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 28.03.2014 в 11:03.
Maxim80 вне форума Ответить с цитированием
Старый 28.03.2014, 10:40   #7
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
1 – количество отрицательных элементов больше
Больше чем что?
Цитата:
просуммировать положительные элементы в каждой строке
Куда их записать? Или сразу вывести
Poma][a вне форума Ответить с цитированием
Старый 28.03.2014, 10:50   #8
Maxim80
Пользователь
 
Регистрация: 27.03.2014
Сообщений: 11
По умолчанию

Вверху полный текст задания:

1) Исходя из задания, видимо количество отрицательных элементов в обеих матрицах больше чем положительных (возможно)

2) Наверно лучше вывести
Maxim80 вне форума Ответить с цитированием
Старый 28.03.2014, 10:58   #9
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Цитата:
Исходя из задания, видимо количество отрицательных элементов в обеих матрицах больше чем положительных (возможно)
Не думаю. Скорее выбрать из них ту, у которой отрицательных больше (что делать если одинаково?). И уже в ней суммировать
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 28.03.2014, 11:01   #10
Maxim80
Пользователь
 
Регистрация: 27.03.2014
Сообщений: 11
По умолчанию

Получается так
Maxim80 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дана матрица А(nxn). Написать программу, которая меняет к-ю и m-ю строки матрицы. (Паскаль) nzltv Помощь студентам 1 04.12.2013 03:40
Даны две матрицы размером 3x3. Написать программу получения коммутатора АВ-ВА и антикоммутатора АВ+ВА этих матриц. Vergilloo Паскаль, Turbo Pascal, PascalABC.NET 4 15.06.2012 10:53
Заданы две матрицы casper116 Помощь студентам 2 05.01.2011 23:56
Заданы две матрицы A3х3 и B4х4. Построить таблицу функций y=cx2+d при x є [0; 1] с шагом ∆х=0,1 moto74 Паскаль, Turbo Pascal, PascalABC.NET 17 06.04.2009 17:13