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

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

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

 
 Ответить  Открыть новую тему 
> двумерный массив
help
сообщение 12.01.2005 18:55
Сообщение #1


Гость






Такая вот задача:
Дана целочисленная матрица размером MxN
1. переставить строки матрицы в порядке возрастания суммы элементов строк
2. сформировать одном. численный массив В, где B[i] - равно сумме кратных 7-ми и расположенных в i-ой строке матрицы.
 К началу страницы 
+ Ответить 
klem4
сообщение 12.01.2005 19:29
Сообщение #2


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

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

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


1-я

Пока только так :

Код
uses crt;
const n=3;
     m=4;
type
  mass=array[1..n,1..m] of integer;
var i,j,k,t:integer;
   x:mass;
function sum(i,j:integer):integer;
var s:integer;
begin
  s:=0;
  for j:=1 to m do
   s:=s+x[i,j];
  sum:=s;

end;

Begin
  clrscr;
  randomize;
  for i:=1 to n do
   begin
      k:=i;
      begin
         for j:=1 to m do
          begin
             x[i,j]:=random(6);
             write(x[i,j]);
             write(' ');
          end;
          writeln;
      end;
  end;

  for i:=1 to n-1 do
   for k:=i+1 to n do
    if sum(i,j)<sum(k,j) then
      begin
         for j:=1 to m do
          begin
             t:=x[i,j];
             x[i,j]:=x[k,j];
             x[k,j]:=t;
          end;
          end;
      writeln;

  for i:=1 to n do
   begin
      for j:=1 to m do
       begin
          write(x[i,j]);
          write(' ');
       end;
       writeln;
    end;
  readln;
  end.







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


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


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

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

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


2-я

Код
uses crt;
const n=4;
var  a:array[1..n,1..n] of integer;
    b:array[1..n] of integer;
    i,j,s:integer;
Begin
  clrscr;
  randomize;
  for i:=1 to n do
   begin
      for j:=1 to n do
       begin
          a[i,j]:=random(22);
          write(a[i,j]:2);
          write(' ');
       end;
       writeln;
    end;
   for i:=1 to n do
    begin
       b[i]:=0;
       s:=0;
       for j:=1 to n do
        if a[i,j] mod 7 = 0 then
         s:=s+a[i,j];
       b[i]:=s;
    end;
   writeln;
   for i:=1 to n do
    begin
       write(b[i]:2);
       write(' ');
    end;
   readln;
end.








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


Гость






Вот вторая...
Код

uses crt;
const n=3; m=4;
type
 mass=array[1..n,1..m] of integer;
var
 i,j: integer;
 x:mass;
 b: array[1 .. n] of integer;
begin
  for i:=1 to n do
  begin
    for j:=1 to n do
      begin
        x[i,j]:=random(6); write(x[i,j]:5);
      end;
    writeln;
  end;

 for i := 1 to n do
   for j := 1 to m do
     inc(b[i], x[i, j] * byte((x[i, j] mod 7) = 0));

 for i := 1 to n do
   write(b[i]:4);
end.


P.S. Упс, уже сделано? unsure.gif

Сообщение отредактировано: volvo - 12.01.2005 19:55
 К началу страницы 
+ Ответить 
klem4
сообщение 12.01.2005 19:48
Сообщение #5


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

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

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


хех,volvo,здорово, но я тоже старался smile.gif

Цитата
byte((x[i, j] mod 7) = 0));



вот этого я еще не видел smile.gif


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


Гость






Спасибо парни! Помогли!
 К началу страницы 
+ Ответить 

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

 



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