Технический форум

Технический форум (http://www.tehnari.ru/)
-   Delphi, Kylix and Pascal (http://www.tehnari.ru/f43/)
-   -   Паскаль (http://www.tehnari.ru/f43/t80076/)

Лекси 05.11.2012 22:12

Паскаль
 
Дана целочисленная квадратная матрица, определить произведение элементов в тех строках которые не содержат отрицательных элементов. Помогите пожалуйста!

Vladimir_S 05.11.2012 22:43

Лекси, а самостоятельно эту школьную задачку одолеть - никак?

Лекси 05.11.2012 22:51

я бы с радостью если бы изучала в школе это.

Vladimir_S 05.11.2012 22:54

Вложений: 1
Цитата:

Сообщение от Лекси (Сообщение 815495)
я бы с радостью если бы изучала в школе это.

Ох, ну ладно. Обычно с такими упражнениями я посылаю подальше, но Вложение 103930. Ладно, сейчас изображу.

Лекси 05.11.2012 22:56

спасибо огромное. я уже начала писать но у меня возник вопрос, тупой походу, на котором я застряла...

Vladimir_S 05.11.2012 23:07

Вот, получите:
Код:

Const
 N=10;
Var
 M:Array[1..N,1..N] of Integer;
 P:LongInt;
 i,j:Byte;
 b:boolean;
Begin
 Randomize;
 For i:=1 to N do
  begin
  b:=true;
  P:=1;
  for j:=1 to N do
    begin
    M[i,j]:=8-Random(10);
    If M[i,j]<0 then b:=false;
    if b then P:=P*M[i,j];
    Write(M[i,j]:4);
    end;
  If b then Write(P:15);
  Writeln;
  end;
 Readln;
End.


Лекси 05.11.2012 23:11

почему число столбцов и строк вы взяли 10? именно на этом я и застряла...

Vladimir_S 06.11.2012 09:39

Цитата:

Сообщение от Лекси (Сообщение 815510)
почему число столбцов и строк вы взяли 10? именно на этом я и застряла...

"От балды". Поскольку в условии задачи размерность матрицы не прописана, я счел себя в праве взять любое (разумное) число, лишь бы в экран помещалась и чтобы произведение элементов строк не вылезало бы за разрядную сетку (это, впрочем, определяется еще и диапазоном генерации значений элементов матрицы). Не нравится 10? Ну так измените значение константы на 3. Или 5. Или 12 - больше, я думаю, не стОит брать.

Лекси 06.11.2012 12:41

хорошо, спасибо, все ясно. и последняя просьба: можно же в этом задании упорядочить нечетные по номеру элементы столбцов матрицы по убыванию квадратов значений! Пожалуйста пожалуста. Заранее огромное спасибо!!!

Vladimir_S 06.11.2012 19:50

Цитата:

Сообщение от Лекси (Сообщение 815661)
Пожалуйста пожалуста.

Пожалуйста:
Код:

Const
 N=10;
Var
 M:Array[1..N,1..N] of Integer;
 D:Integer;
 P:LongInt;
 i,j,k,Ns:Byte;
 b:boolean;
Begin
 Randomize;
 For i:=1 to N do
  begin
  b:=true;
  P:=1;
  for j:=1 to N do
    begin
    M[i,j]:=8-Random(10);
    If M[i,j]<0 then b:=false;
    if b then P:=P*M[i,j];
    Write(M[i,j]:4);
    end;
  If b then Write(P:15);
  Writeln;
  end;
 Writeln;
 Ns:=(N+1) div 2;
 For j:=1 to N do
  For i:=1 to Ns-1 do
  For k:=1 to Ns-i do
    If Sqr(M[2*k-1,j])<Sqr(M[2*k+1,j]) then
    begin
      D:=M[2*k-1,j];
      M[2*k-1,j]:=M[2*k+1,j];
      M[2*k+1,j]:=D;
    end;
 For i:=1 to N do
  begin
  for j:=1 to N do
    Write(M[i,j]:4);
  Writeln;
  end;
 Readln;
End.



Часовой пояс GMT +4, время: 10:45.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.