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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.05.2009, 22:37   #11
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от polya4ok
а могли бы помочь по второй задаче?
Посмотрите второй пост и скажите, что еще непонятно.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 06.05.2009, 22:39   #12
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

Цитата:
Сообщение от Sazary Посмотреть сообщение
Посмотрите второй пост и скажите, что еще непонятно.
А во второй может еще добавить выход из цикла если simm становится равным false? чтобы избежать лишних итераций..
Uguu~
__STDC__ вне форума Ответить с цитированием
Старый 06.05.2009, 22:47   #13
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от __STDC__
А во второй может еще добавить выход из цикла если simm становится равным false? чтобы избежать лишних итераций..
Ну я написал общий принцип. А остальное уже вопрос оптимизации.
Конечно, так будет лучше.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 07.05.2009, 01:41   #14
Vodin
Пользователь
 
Аватар для Vodin
 
Регистрация: 06.05.2009
Сообщений: 10
По умолчанию

задача №2
Код:
program simetria;
uses crt;
const n=4;
var i,j,k,f:integer;
    a:array [1..n,1..n] of integer;
    b:array [1..n,1..n] of integer;
    c:array [1..n,1..n] of integer;
    sim:boolean;
begin
clrscr;
for i:=1 to 4 do
 for j:=1 to 4 do
 readln (a[i,j]);
{randomize;
for i:=1 to n do
 for j:=1 to n do
 a[i,j]:=random(10);}
for i:=1 to 4 do
 begin
  for j:=1 to 4 do
  write(a[i,j],' ');
 writeln;
 end;
for i:=2 to n do
 for j:=1 to i-1 do
 b[i,j]:=a[i,j];
for i:=1 to n-1 do
 for j:=i+1 to n do
 c[j,i]:=a[i,j];
writeln('B:');
for i:=1 to 4 do
 begin
  for j:=1 to 4 do
  write(b[i,j],' ');
 writeln;
 end;
writeln('C:');
for i:=1 to 4 do
 begin
  for j:=1 to 4 do
  write(c[i,j],' ');
 writeln;
 end;
for k:=1 to n do
 for f:=1 to n do
for i:=1 to n do
 for j:=1 to n do
 if b[i,j]=c[k,f] then sim:=true else
 begin
 sim:=false;
 break;
 end;
if sim=true then writeln(1) else writeln(0);
end.
Vodin вне форума Ответить с цитированием
Старый 07.05.2009, 01:53   #15
Vodin
Пользователь
 
Аватар для Vodin
 
Регистрация: 06.05.2009
Сообщений: 10
По умолчанию

возможно не самый простой и короткий метод но зато работает
Vodin вне форума Ответить с цитированием
Старый 07.05.2009, 11:25   #16
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

Оо зачем..? Задача решается в три строки, как пиcал Sazary, + досрочный выход из цикла...
К тому же в твоем варианте, например матрица целиком состоящая из единиц не симметрична.. условие симметричности - равенство исходной матрицы и транспонированной... А у тебя какие-то еще две.. в общем не думаю что это хороший вариант... И еще куча циклов... =(
Uguu~

Последний раз редактировалось __STDC__; 07.05.2009 в 11:40.
__STDC__ вне форума Ответить с цитированием
Старый 07.05.2009, 11:55   #17
Vodin
Пользователь
 
Аватар для Vodin
 
Регистрация: 06.05.2009
Сообщений: 10
По умолчанию

Цитата:
Сообщение от polya4ok Посмотреть сообщение
Определить, является ли заданная матрица симметричной (относительно главной диагонали).
Насколько я понял в даном задании нужно просто определить одинаковы ли противоположные элементы матрици относительно главной диагонали.
а что касается двух дополнительных масивов и количества циклов - то я же говорю это не самый простой и не самый короткий вариант. придумал на скорую руку.
Vodin вне форума Ответить с цитированием
Старый 07.05.2009, 11:58   #18
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

Цитата:
Сообщение от Vodin Посмотреть сообщение
Насколько я понял в даном задании нужно просто определить одинаковы ли противоположные элементы матрици относительно главной диагонали.
а что касается двух дополнительных масивов и количества циклов - то я же говорю это не самый простой и не самый короткий вариант. придумал на скорую руку.
1. Противоположные элементы относительно главной диагонали одинаковы, когда исходная матрица совпадает с транспонированной матрицей, еще раз говорю..
Справка: если A = (a[ij]), то A^T = (a[ji])
2. Программа некорректно работает с матрицей, в которой каждый элемент = 1
Uguu~
__STDC__ вне форума Ответить с цитированием
Старый 07.05.2009, 12:36   #19
Vodin
Пользователь
 
Аватар для Vodin
 
Регистрация: 06.05.2009
Сообщений: 10
По умолчанию

согласен. признаю.
Цитата:
Сообщение от __STDC__ Посмотреть сообщение
Программа некорректно работает с матрицей, в которой каждый элемент = 1
если точнее то программа некоректно работает с матрицей у которой элементы на главной диагонале одинаковы.
только что проверил, но в чем причина обьяснить немогу
Vodin вне форума Ответить с цитированием
Старый 07.05.2009, 12:39   #20
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

Цитата:
Сообщение от Vodin Посмотреть сообщение
согласен. признаю.

если точнее то программа некоректно работает с матрицей у которой элементы на главной диагонале одинаковы.
только что проверил, но в чем причина обьяснить немогу
нет, почему.. с единичной матрицей работает (матрица у которой по главной диагонали 1, а все остальные эл-ты нули)
Uguu~
__STDC__ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите пожалуйста написать программу в турбо паскале koshpar Паскаль, Turbo Pascal, PascalABC.NET 0 04.05.2009 16:49
Помогите пожалуйста решить задачу с вращением объёмного тела! (Турбо Паскаль) mens-evgenij Помощь студентам 10 12.03.2009 18:07
Пожалуйста,помогите составить программу задачи на языке Турбо Паскаль-задача на функцию Jan Помощь студентам 1 07.01.2009 19:39
Помогите плиз задачки по Турбо Паскалю решить! glan Паскаль, Turbo Pascal, PascalABC.NET 13 26.06.2008 17:39