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

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

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

 
 Ответить  Открыть новую тему 
> составить вектор номеров строк матрицы, элементы которых представляют симмитричную последовательность.
Fraddy
сообщение 23.10.2007 15:21
Сообщение #1


Новичок
*

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

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


Ввести размер матрицы (М и N) и значения ее элементов. Составить вектор номеров строк, элементы которых представляют симметричную последовательность.

30го уже надо здавать.. такчто нужно почти срочно.. спасибо заранее..

Сообщение отредактировано: Fraddy - 23.10.2007 19:40
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 23.10.2007 16:08
Сообщение #2


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

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


1)
 ! 
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...


2) Все решалось. Используй поиск или показывай что пробовал делать.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Fraddy
сообщение 23.10.2007 19:28
Сообщение #3


Новичок
*

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

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


Заголовог по всем правилам сменил и тему тож) а в поиске не нашел(...

Сообщение отредактировано: Fraddy - 23.10.2007 19:42
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 23.10.2007 20:04
Сообщение #4


Гость






Значит, придется делать самостоятельно...

Заполнение матрицы найдешь здесь:
Массивы. Матрицы. Типичные задачи.

Теперь наводящий вопрос: умеешь определять по номеру строки, является ли она симметричной? Что вообще означает симметричность? Уж не равенство ли это элементов A1 = An, A2 = An - 1 и так далее?
 К началу страницы 
+ Ответить 
Fraddy
сообщение 23.10.2007 20:42
Сообщение #5


Новичок
*

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

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


Заполнить какраз я то и могу а вот симмитричность... не очень даже понимаю задания.. мозг не сильно покачто развит) ща посмотрю ссылку, можт и разберусь.. не разберусь - буду ждать решеной) спасибо за счылочку..

Сообщение отредактировано: Fraddy - 23.10.2007 20:45
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Айра
сообщение 24.10.2007 13:25
Сообщение #6


Профи
****

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

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


Ну покажи хоть, что сделал, то же заполнение, а там дальше разберемся smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Fraddy
сообщение 25.10.2007 18:50
Сообщение #7


Новичок
*

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

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


Цитата(Айра @ 24.10.2007 14:25) *

Ну покажи хоть, что сделал, то же заполнение, а там дальше разберемся smile.gif

Я эту покачто не начал.. Задали около 15 задач на 1 неделю.. вот с этиой я чето с заданием не разобрался..остальные уже зделал. осталась тока эта..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Айра
сообщение 25.10.2007 21:54
Сообщение #8


Профи
****

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

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


Эх.. ну чтож с вами такими делать.. давай разбираться smile.gif
var n,m,k,i,j: integer;  
matr: array[1..50,1..50] of integer; //исходная матрица
vect: array[1..50] of integer; //массив номеров строк
f: boolean; //эта логическая переменная в нашем случае отмечает, симметричная ли строка
begin
k:=0;
write('введите количество строк: ');
readln(n);
write('введите количество столбцов: ');
readln(m);
for i:=1 to n do
for j:=1 to m do
begin
write('введите элементы матрицы: ');
readln(matr[i,j]); //ну тут думаю все понятно, вводим количество строк/столбцов и заполняем массив
end;
for i:=1 to n do
begin
f:=true; //изначально принимаем, что строка симметрична
for j:=1 to m div 2 do //проходим по столбцам до середины
begin
//теперь будем искать симметричность, точнее в нашем случае ее отсутствие
//как уже сказал volvo, симм-сть это "равенство элементов A1 = An, A2 = An - 1 и так далее"
//посмотри как изменяется номер столбца в цикле 1<>m, 2<>m-1, 3<>m-2 и т.д.
if matr[i,j]<>matr[i,m+1-j] then f:=false; //если строка не симметричная, то меняем f на false
end;
if f then //если f так и осталось правдой, то накручиваем номер элемента в массиве индексов строк и
//присваиваем k-му элементу значение, равное номеру симм-ной строки
begin
inc(k);
vect[k]:=i;
end;
end;
writeln('матрица:'); //выводим исходную матрицу..
for i:=1 to n do
begin
for j:=1 to m do
write(matr[i,j]:4);
writeln;
end;
writeln('номера симметричных строк:'); //..и вектор номеров строк
for i:=1 to k do write(vect[i]:4); //довольствуемся результатом smile.gif
end.

Вот вроде и все, если что не понятно, спрашивай))

Сообщение отредактировано: Айра - 25.10.2007 21:58
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Fraddy
сообщение 25.10.2007 23:06
Сообщение #9


Новичок
*

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

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


Цитата(Айра @ 25.10.2007 22:54) *

Эх.. ну чтож с вами такими делать.. давай разбираться smile.gif
var n,m,k,i,j: integer;  
matr: array[1..50,1..50] of integer; //исходная матрица
vect: array[1..50] of integer; //массив номеров строк
f: boolean; //эта логическая переменная в нашем случае отмечает, симметричная ли строка
begin
k:=0;
write('введите количество строк: ');
readln(n);
write('введите количество столбцов: ');
readln(m);
for i:=1 to n do
for j:=1 to m do
begin
write('введите элементы матрицы: ');
readln(matr[i,j]); //ну тут думаю все понятно, вводим количество строк/столбцов и заполняем массив
end;
for i:=1 to n do
begin
f:=true; //изначально принимаем, что строка симметрична
for j:=1 to m div 2 do //проходим по столбцам до середины
begin
//теперь будем искать симметричность, точнее в нашем случае ее отсутствие
//как уже сказал volvo, симм-сть это "равенство элементов A1 = An, A2 = An - 1 и так далее"
//посмотри как изменяется номер столбца в цикле 1<>m, 2<>m-1, 3<>m-2 и т.д.
if matr[i,j]<>matr[i,m+1-j] then f:=false; //если строка не симметричная, то меняем f на false
end;
if f then //если f так и осталось правдой, то накручиваем номер элемента в массиве индексов строк и
//присваиваем k-му элементу значение, равное номеру симм-ной строки
begin
inc(k);
vect[k]:=i;
end;
end;
writeln('матрица:'); //выводим исходную матрицу..
for i:=1 to n do
begin
for j:=1 to m do
write(matr[i,j]:4);
writeln;
end;
writeln('номера симметричных строк:'); //..и вектор номеров строк
for i:=1 to k do write(vect[i]:4); //довольствуемся результатом smile.gif
end.

Вот вроде и все, если что не понятно, спрашивай))

ВАУУУУУУ!! ТЫ ГЕНИЙ? Фигасе... СПС огромное!!! готов кланяться в ноги smile.gif СПАСИБО ОГРОМНОЕ! Преблагодарен give_rose.gif


Добавлено через 11 милисек.
Умничка) А ты ничего.. good.gif ) панк? или метал?

А че рейтинг не добавляется? Или для него тож надо программу писать?))

Сообщение отредактировано: Fraddy - 25.10.2007 23:21
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 25.10.2007 23:30
Сообщение #10


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


Цитата
А че рейтинг не добавляется? Или для него тож надо программу писать?))

Надо больше сообщений иметь.
Поставила +.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Fraddy
сообщение 25.10.2007 23:53
Сообщение #11


Новичок
*

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

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


Кстате вот эти строки какие операции выполняют?
inc(k);
vect[k]:=i;
именно сами команды инк и вект..

Сообщение отредактировано: Fraddy - 26.10.2007 0:19
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Айра
сообщение 26.10.2007 0:46
Сообщение #12


Профи
****

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

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


inc(k) увеличивает значение k по умолчанию на единицу, если напишешь, например, inc(k,2), то будет увеличивать на 2..
vect[k]:=i; - vect.. это название массива-вектора smile.gif
Смотри, мы же не знаем заранее сколько у нас симметричных строк получится, поэтому, когда находим таковую, увеличиваем k на единицу и присваиваем элементу под номером k массива vect значение индекса (i) симметричной строки..

[offtop]
Цитата
панк? или метал?

Не классифицирую, всего намешано, но скорее металл smile.gif
[/offtop]
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Fraddy
сообщение 26.10.2007 12:00
Сообщение #13


Новичок
*

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

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


Цитата(Айра @ 26.10.2007 1:46) *

inc(k) увеличивает значение k по умолчанию на единицу, если напишешь, например, inc(k,2), то будет увеличивать на 2..
vect[k]:=i; - vect.. это название массива-вектора smile.gif
Смотри, мы же не знаем заранее сколько у нас симметричных строк получится, поэтому, когда находим таковую, увеличиваем k на единицу и присваиваем элементу под номером k массива vect значение индекса (i) симметричной строки..

[offtop]
Не классифицирую, всего намешано, но скорее металл smile.gif
[/offtop]


vect[k]:=i; - vect.. это название массива-вектора
Ахахахаха.. ну я тупой..) или слепой)) я привык все названия буквами писать просто)) а тут вект))хехе


[offtop]
Металл да? )) не метаЛЛ а метаЛ! когдаж вы все поймете что метаЛЛ это чугун олово железо.. но не музыка? blum.gif lol.gif Хошь скину идеальный метал? Dethklok промо.. послушаешь)
[/offtop]

ЗЫ Спасибо, как всегда! wub.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Fraddy
сообщение 18.12.2010 5:31
Сообщение #14


Новичок
*

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

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


Извиняюсь за хулиганство в виде бесполезного апа, просто наткнулся на форум и решил зайти еще раз поблагодарить всех за оказанную помощ в нужный момент! Прошло 3 года, я написал свой си подобный компилятор, стажерствую в центробанке в области мэйнфреймов, в общем вроде как все идет неплохо. Хочу еще раз сказать спасибо всем за хороший "пинок"(скорей даже пинки) в области программирования, Спасибо вам всем ребята, так держать good.gif Премного благодарен!

P.S. В свою очередь обещаю, что больше никогда не буду задавать вопрос "Что делает функция inc()?" biggrin.gif
P.S.S. Не пинайте особо за бесполезный ап, еще раз извиняюсь. pardon.gif
P.S.S.S. Награда в области "Самый бесполезный пост" мне точно обеспечена.

Сообщение отредактировано: Fraddy - 18.12.2010 5:33
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



- Текстовая версия 28.03.2024 12:47
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"