Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Задача на матрицы!

9.9K
25 апреля 2006 года
MoM
46 / / 12.03.2006
Задача:
Сформировать новую матрицу, элементы которой будут равны разностям элементов исходной матрицы. Задачу решить с помощью процедур (ввод, вывод массивов и т.д.).

Неполучается - "...элементы которой будут равны разностям элементов исходной матрицы..."!
1.8K
25 апреля 2006 года
LastSoul
279 / / 28.12.2005
Цитата:
Originally posted by MoM
Неполучается - "...элементы которой будут равны разностям элементов исходной матрицы..."!


Что-то я непонял вопроса... что от чего надо вычитать?

242
26 апреля 2006 года
Оlga
2.2K / / 04.02.2006
Цитата:
Originally posted by MoM
Задача:
Сформировать новую матрицу, элементы которой будут равны разностям элементов исходной матрицы. Задачу решить с помощью процедур (ввод, вывод массивов и т.д.).

Неполучается - "...элементы которой будут равны разностям элементов исходной матрицы..."!



По правилам форума, да и здравого смысла :), с твоей стороны будет очень хорошо, если запостишь сюда то, что уже сделал.
И объясни вопрос, не ясно какую именно разность.

9.9K
26 апреля 2006 года
MoM
46 / / 12.03.2006
Цитата:
Originally posted by OlgaKr
По правилам форума, да и здравого смысла :), с твоей стороны будет очень хорошо, если запостишь сюда то, что уже сделал.
И объясни вопрос, не ясно какую именно разность.


Ну к примеру элемент a[1,1] новой матрицы получается из разницы элементов a[1,2]-a[1,1] исходной матрицы.

242
26 апреля 2006 года
Оlga
2.2K / / 04.02.2006
Цитата:
Originally posted by MoM
Ну к примеру элемент a[1,1] новой матрицы получается из разницы элементов a[1,2]-a[1,1] исходной матрицы.


Т.е. в новой матрице получится на один столбец меньше?
Например: есть матрица 5*4 => из нее формируем матрицу 5*3.
Если так, то задача очень легкая, уверенна что запутался на пустяке, тащи свой код :).

9.9K
26 апреля 2006 года
MoM
46 / / 12.03.2006
Цитата:
Originally posted by OlgaKr
Т.е. в новой матрице получится на один столбец меньше?
Например: есть матрица 5*4 => из нее формируем матрицу 5*3.
Если так, то задача очень легкая, уверенна что запутался на пустяке, тащи свой код :).


Да я сам, если честно, не знаю! Я как понял первый элемент новой матрицы получаем при вычитании второго элемента из первого исходной матрицы?!
У меня кроме кода ввода и вывода матрицы больше ничего нет, остальное не доходит!:(

242
26 апреля 2006 года
Оlga
2.2K / / 04.02.2006
Цитата:
Originally posted by MoM
Да я сам, если честно, не знаю! Я как понял первый элемент новой матрицы получаем при вычитании второго элемента из первого исходной матрицы?!
У меня кроме кода ввода и вывода матрицы больше ничего нет, остальное не доходит!:(



Хотя бы это бы принес!
Есть матрица N*M, значит размер новой матрицы будет(по моему мнению) N*(M-1).
matrix1 - матрица введеная с клавы
matrix2 - новая матрица

 
Код:
for i:=1 to N do
 for j:=1 to (M-1) do
   matrix2(i,j) := matrix1(i,j+1) - matrix1(i,j);

Думаю что то вроде этого.
9.9K
26 апреля 2006 года
MoM
46 / / 12.03.2006
Вот код задачи:

Код:
uses CRT;
var a:array[1..30,1..30] of integer;
    b:array[1..30,1..30] of integer;
    i,j,n,k,max,at:integer;
begin
clrScr;
      writeln('Vvedite rasmernost massiva:');
      readln(n);
      for i:=1 to n do
          for j:=1 to n do
              begin write('a[',i,j,']=');
                    readln(a[i,j])
              end;
     writeln('Ishodnij massiv:');
     for i:=1 to n do
         begin for j:=1 to n do
                   write(a[i,j]:4);
               writeln
         end;

     for i:=1 to n do
         begin for j:=1 to (n-1) do begin
          b[i,j]:=a[i,j+1]-a[i,j];

         end;

               writeln
         end;
          writeln('Novij massiv:');
     for i:=1 to n do
         begin for j:=1 to n do
                   write(b[i,j]:4);
               writeln
         end;
readln;
End.


Ввожу:
Размерность: 2
Получаем матрицу:
1 2
1 2
Новая матрица:
1 0
1 0

Почему получаем нули? Их в новой матрице вообще-то, наверно, не должно быть!
Я думаю, что матрица должна выглядеть:
 
Код:
1-2  2-0
1-2  2-0

Что-то вообще запутался, блин!
242
26 апреля 2006 года
Оlga
2.2K / / 04.02.2006
Цитата:
Originally posted by MoM
Вот код задачи:

 
Код:
uses CRT;
          writeln('Novij massiv:');
     for i:=1 to n do
         begin for j:=1 to n do
                   write(b[i,j]:4);
               writeln
         end;
readln;
End.


Ввожу:
Размерность: 2
Получаем матрицу:
1 2
1 2
Новая матрица:
1 0
1 0

Почему получаем нули? Их в новой матрице вообще-то, наверно, не должно быть!
Я думаю, что матрица должна выглядеть:
 
Код:
1-2  2-0
1-2  2-0

Что-то вообще запутался, блин!


Все правильно, просто расспе чатывать новый массив надо до (n-1), я писала почему. А нули - это значения массива по умолчанию, которые получаем когда объявляем его.

 
Код:
Получаем матрицу:
1 2
1 2
Новая матрица:
1 <=> {2-1}
1 <=> {2-1}
242
26 апреля 2006 года
Оlga
2.2K / / 04.02.2006
Цитата:
Originally posted by OlgaKr
Все правильно, [COLOR=red]просто расспечатывать новый массив надо до (n-1)[/COLOR]
, я писала почему. А нули - это значения массива по умолчанию, которые получаем когда объявляем его.



по столбцам естественно

9.5K
27 апреля 2006 года
Damarus
101 / / 08.04.2006
Цитата:
Originally posted by MoM
Сформировать новую матрицу, элементы которой будут равны разностям элементов исходной матрицы. Задачу решить с помощью процедур (ввод, вывод массивов и т.д.).



Я думаю это не полный текст задания? Напиши задание целиком.
Далее. В этом коде:

Код:
uses CRT;
var a:array[1..30,1..30] of integer;
    b:array[1..30,1..30] of integer;
    i,j,n,k,max,at:integer;
begin
clrScr;
      writeln('Vvedite rasmernost massiva:');
      readln(n);
      for i:=1 to n do
          for j:=1 to n do
              begin write('a[',i,j,']=');
                    readln(a[i,j])
              end;
     writeln('Ishodnij massiv:');
     for i:=1 to n do
         begin for j:=1 to n do
                   write(a[i,j]:4);
               writeln
         end;

     for i:=1 to n do
         begin for j:=1 to (n-1) do begin
          b[i,j]:=a[i,j+1]-a[i,j];

         end;

               writeln
         end;
          writeln('Novij massiv:');
     for i:=1 to n do
         begin for j:=1 to n do
                   write(b[i,j]:4);
               writeln
         end;
readln;
End.

есть как минимум две ошибки (на одну из них указала OlgaKr).
Третье. Мне кажеться здесь неправильно поняли "разность элементов исходной матрицы".
1.8K
27 апреля 2006 года
LastSoul
279 / / 28.12.2005
Цитата:
Originally posted by Damarus
Третье. Мне кажеться здесь неправильно поняли "разность элементов исходной матрицы".


А каким, по твоему мнению, способом находить эту разность?
MoM вроде написал:
"Ну к примеру элемент a[1,1] новой матрицы получается из разницы элементов a[1,2]-a[1,1] исходной матрицы."

Убрал немного лишнего из кода:

Код:
Uses CRT;
Var a:Array[1..30,1..30] Of Integer;
    i,j,n:Integer;
Begin
 ClrScr;
 Write('Vvedite rasmernost massiva: '); ReadLn(n);
 For i:=1 To n Do
  For j:=1 To n Do
   Begin
    Write('a[',i,',',j,']=');
    ReadLn(a[i,j])
   End;
 ClrScr;
 WriteLn('Ishodnij massiv:');
 For i:=1 To n Do
  Begin
   For j:=1 To n Do Write(a[i,j]:4);
   WriteLn;
  End;
 For i:=1 To n Do
   For j:=1 To (n-1) Do a[i,j]:=a[i,j+1]-a[i,j];
 WriteLn('Novij massiv:');
 For i:=1 To n Do
  Begin
   For j:=1 To n-1 Do Write(a[i,j]:4);
   WriteLn;
  End;
 ReadLn;
End.

9.9K
27 апреля 2006 года
MoM
46 / / 12.03.2006
Цитата:
Originally posted by Damarus
Я думаю это не полный текст задания? Напиши задание целиком.


Нет, это полный текст задания!

Цитата:
Originally posted by Damarus
есть как минимум две ошибки (на одну из них указала OlgaKr).


А какая другая ошибка, если не секрет?

Цитата:
Originally posted by Damarus
А каким, по твоему мнению, способом находить эту разность?
MoM вроде написал:
"Ну к примеру элемент a[1,1] новой матрицы получается из разницы элементов a[1,2]-a[1,1] исходной матрицы."


Это я написал так, как понял из объяснений преподавателя, хотя я их уже смутно помню(объяснения)! А на самом деле как правильно решать задачу я не знаю, поэтому и обратился к вам за помощью!

242
27 апреля 2006 года
Оlga
2.2K / / 04.02.2006
Цитата:
Originally posted by MoM
Это я написал так, как понял из объяснений преподавателя,[COLOR=red] хотя я их уже смутно помню(объяснения)![/COLOR] А на самом деле как правильно решать задачу я не знаю, поэтому и обратился к вам за помощью!



Неужели ты не понимаешь! что невозможно решить задачу, если ты даже не понимаешь что в ней нужно сделать.
Проблема начинается не с [COLOR=red]КАК[/COLOR], а с [COLOR=red]ЧТО[/COLOR].
Прежде чем просить помощи, потрудись хотя бы понять, узнать ЧТО делать надо. А то викторина получается "ЧТО? ГДЕ? КОГДА?", и между прочим это уже 2-ой раз.

Интересно кто, если не ты, должен знать что тебе задали?

9.5K
27 апреля 2006 года
Damarus
101 / / 08.04.2006
Цитата:
Originally posted by MoM
Нет, это полный текст задания!



Значит хреновый у тебя преподаватель.

Цитата:
Originally posted by MoM
А какая другая ошибка, если не секрет?



Введённая "rasmernost massiva" не проверяется на соответствие размеру выделенной под массив памяти. Кроме того у тебя получается "квадратный" массив (N*N), а в условии про размеры массива ничего не сказано.

Цитата:
Originally posted by MoM
Это я написал так, как понял из объяснений преподавателя, хотя я их уже смутно помню(объяснения)! А на самом деле как правильно решать задачу я не знаю, поэтому и обратился к вам за помощью!



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

34K
20 декабря 2007 года
Элька
2 / / 20.12.2007
помогите задачку решить,:( сформировать матрицу данного вида:
1234
0567
0089
00010
и такого еще:
17 16 15 14 13
0 12 11 10 0
0 0 9 0 0
0 8 7 6 0
1 2 3 4 5
заранее спасибо большое!!!:)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог