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

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

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

 
 Ответить  Открыть новую тему 
> Задачи на матрицы (двумерные массивы), 6 задач.
Леха
сообщение 17.12.2004 19:04
Сообщение #1


Гость






1.Создать 2-х мерный массив 20х15 целых чисел заданных через randomize и найти их сумму.
2.Создать матрицу 5х5 значение каждого элемента = сумме № строки и столбца на пересечении которого он находиться. Вычислить сумму элементов каждой строки.
3.Создать 2-х мерный массив 4х4 и найти максимальный по абсолютному значению а также укажите номер строки и столбца содержащие этот элемент.
4.Создать 2-х мерный массив через randomize и определите и определите есть ли в нем элементы с одинаковым значением
5.Создать 2-х мерный массив вещественных чисел 3х5 выведите на экран затем разделить каждый элемент на среднее арифметическое значение элементов строки в котором они расположены.
6.Создайте программу проверяющую образуют ли элементы массива "Магический квадрат".(маг. квадрат- суммы по всем горизонталям вертикалям и 2-ум диагоналям - равны
 К началу страницы 
+ Ответить 
Altair
сообщение 17.12.2004 19:10
Сообщение #2


Ищущий истину
******

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

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


1.
Код

var
a:array[1..20,1..15] of integer;
i,j,s:integer;
begin
randomize
for i:=1 to 20 do for j:=1 to 15 do begin a[i,j]:=random(200); s:=s+a[i,j] end;
end.


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Altair
сообщение 17.12.2004 19:14
Сообщение #3


Ищущий истину
******

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

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


2.
Код

var
a:array[1..5,1..5] of integer;
i,j:integer;
begin
for i:=1 to 5 do for j:=1 to 5 do a[i,j]:=i+j;
end.



3.
Код

var
a:array[1..4,1..4] of integer;
i,j,m,si,sj:integer;
begin
randomize
for i:=1 to 4 do for j:=1 to 4 do
begin
a[i,j]:=random(200);
If a[i,j]>m then
begin
 m:=a[i,j]; si:=i,sj:=j;
end;
end;
writeln(m,' ',si,' ',sj);
end.



--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
mithquessir
сообщение 17.12.2004 22:33
Сообщение #4


Гость






4.
Код

const
 n = 10;
var
 a:array[1..n] of integer;
 i,j:integer;
begin
 for i := 1 to n do
   a[i] := random(10);
 for i := 1 to n-1 do
   begin
     for j := i+1 to n do
       begin
         if a[i] = a[j] then
           break;
       end;
       if j < 10 then break;
   end;
   if i < 9 then writeln('Все элементы массива одинаковы')
     else writeln('Есть различный элементы');
end.

 К началу страницы 
+ Ответить 
mithquessir
сообщение 17.12.2004 22:52
Сообщение #5


Гость






5. (Если я правильно понял условие) smile.gif
Код

const
 n = 3;
 m = 5;
var
 a:array[1..n,1..m] of real;
 i,j:integer;
 sum,mdl:real;
begin
 for i := 1 to n do
   for j := 1 to m do
     begin
       a[i,j] := random;
     end;
 for i := 1 to n do
   begin
     WriteLn;
     for j := 1 to m do
       Write(a[i,j]:4:3,' ');
   end;
 for i := 1 to n do
   begin
     sum := 0;
     for j := 1 to m do
       sum := sum + a[i,j];
     mdl := sum/m;
     for j := 1 to m do
       a[i,j] := a[i,j] / mdl;
   end;
end.
 К началу страницы 
+ Ответить 
volvo
сообщение 17.12.2004 23:00
Сообщение #6


Гость






mithquessir
В решении 4-ой задачи не имел ли ты в виду вот это:
Код

if i < 9 then writeln('В массиве есть одинаковые элементы')
 else writeln('все элементы различны');
rolleyes.gif
 К началу страницы 
+ Ответить 
mithquessir
сообщение 17.12.2004 23:03
Сообщение #7


Гость






volvo
maybe, maybe :D
 К началу страницы 
+ Ответить 
Леха
сообщение 21.12.2004 11:45
Сообщение #8


Гость






Спасибо за помощь! :D rolleyes.gif
 К началу страницы 
+ Ответить 
klem4
сообщение 21.12.2004 15:16
Сообщение #9


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

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

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


Извиняюсь, чушь написал.
Щас попробую 6-ю написать.

Сообщение отредактировано: klem4 - 21.12.2004 15:18


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


Гость






klem4
Все просто:
Код

const
 n = 3;
 a: array[1 .. n, 1 .. n] of integer =
   ((1, 2, 1), (1, 1, 1), (1, 1, 1));

var
 i, j, s, main: integer;
 b: boolean;
begin
 s := 0; b := true;

 for i := 1 to n do
   s := s + a[i, i];
 main := s;

 for i := 1 to n do
   s := s - a[i, n - i + 1];
 b := b and (s = 0);

 if b then
   for i := 1 to n do
     begin
       s := main;
       for j := 1 to n do
         s := s - a[i, j];
       b := b and (s = 0)
     end;

 if b then
   for j := 1 to n do
     begin
       s := main;
       for i := 1 to n do
         s := s - a[i, j];
       b := b and (s = 0)
     end;

 writeln('magic: ', b)
end.

smile.gif
 К началу страницы 
+ Ответить 
klem4
сообщение 21.12.2004 16:10
Сообщение #11


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

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

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


Ага, а я так жестоко раскатал .... :D
Код
uses crt;
const n=3;
var x:array[1..n,1..n] of integer;
   i,j,s,snew:integer;
   bo:boolean;

Begin
  clrscr;
  randomize;
 {*************************************}
  for i:=1 to n do
   begin
      for j:=1 to n do
       begin
          readln(x[i,j]);
          write(x[i,j]);
          write(' ');
       end;
       writeln;
   end;
 {**************************************}
   bo:=true;
   s:=0;
   j:=1;
 {**************************************}
   for i:=1 to n do
    s:=s+x[i,j];
   writeln('s=',s);
 {**************************************}
  j:=1;
  while j<=n do
   begin
      snew:=0;
      for i:=1 to n do
       snew:=snew+x[i,j];
      if snew<>s then
       bo:=false;
      if bo=false then break;
      inc(j);
   end;
 {***************************************}
 i:=1;
 while i<=n do
  begin
     snew:=0;
     for j:=1 to n do
      snew:=snew+x[i,j];
     if snew<>s then
      bo:=false;
     if bo=false then break;
     inc(i);
  end;

 {***************************************}
 snew:=0;
 for i:=1 to n do
  snew:=snew+x[i,i];
 if snew<>s then
  bo:=false;
 {***************************************}
 snew:=0;
  j:=1;
for i:=n downto 1 do
 begin
    snew:=snew+x[i,j];
    inc(j);
 end;
 if snew<>s then
  bo:=false;
 {***************************************}
 writeln(bo);
 if bo=true then writeln('Magichesky')
  else writeln('Ne mahichsky');

readln;
 end.



Сообщение отредактировано: klem4 - 21.12.2004 16:11


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

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

 



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