Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.02.2014, 16:24   #1
Оля94
 
Регистрация: 28.02.2014
Сообщений: 4
Восклицание Двумерные массивы Паскаль

Сформировать матрицу A(10,10) вещественными случайными числами в диапазоне [-80,100], переписать в массив В все положительные элементы матрицы А, расположенные на главной диагонали, найти в каждой строке матрицы А наименьший элемент, образовав массив С, найти произведение Р количество К четных элементов матрицы А, упорядочить по убыванию элементы каждой нечетной строки матрицы А, вывести на печать исходную матрицу А, массивы В и С, Р и К, матрицу А после сортировки.:con fused::confused :
Оля94 вне форума Ответить с цитированием
Старый 28.02.2014, 16:43   #2
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Наработки? Попытки?
Streletz вне форума Ответить с цитированием
Старый 28.02.2014, 17:28   #3
Оля94
 
Регистрация: 28.02.2014
Сообщений: 4
По умолчанию

дело в том, что мы их еще и не проходили а уже сказали сделать, да и если бы проходили нам бы никто НИЧЕГО бы не объяснял потому что препод уходит вечно ПИТЬ ЧАЙ на парах и мы сами по себе мучаемся...вот(((
Код:
type
matrix= array [1..10,1..10] of real;
mas1= array [1..90] of real;
mas2= array [1..10] of real;
var
A: matrix;
B: mas1;
C: mas2;
i,j,q,ij,n, flag: integer;
h:real;
sum: real;
const up=100;
      down=-80;
begin
{1} for i:= 1 to 10 do
for j:= 1 to 10 do begin
write('A[',i,',',j,']='); readln (A[i,j]); end;
{2} for i:= 1 to 10 do
for j:= 1 to 10 do
if i=j then B:=A[1..90];

моя голова способно пока что только на это(( и то навряд ли это правильно...

Последний раз редактировалось Stilet; 28.02.2014 в 17:33.
Оля94 вне форума Ответить с цитированием
Старый 28.02.2014, 17:35   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Вместо readln (A[i,j]); пиши A[i,j]:=random(120)-80;
Цитата:
if i=j then B:=A[1..90];
Это неправильно. Такого оператора нет. Читай методички внимательнее.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.03.2014, 17:25   #5
Оля94
 
Регистрация: 28.02.2014
Сообщений: 4
По умолчанию

Код:
var
  A: array[1..10, 1..10] of integer;
  mas1: array[1..120] of real;
  mas2: array[1..10] of real;
  A: matrix;
  B := mas1;
  C: mas2;
  i, j, n, m, ij, flag: integer;
  minimum, k: integer;
  p: longint;
  h: real;
begin
  randomize;
  for i := 1 to 10 do
    for j := 1 to 10 do
    begin
      A[i, j] := random(120) - 80;
      write('A(', i, ',', j, ')=', A[i, j]);
      writeln;
    end;
  begin
    for i := j to 10 do
      if A[i = j] > 0 then A[i = j] := B[i];
    write('B(', i, ',', j, ')=', B[i]);
    writeln;
  end;
  begin
    for i := 1 to 10 - 1 do
    begin
      minimum := A[i];
      for j := i + 1 to 10 do
        if A[j] >= minimum then
        begin
          minimum := A[j];
          k := j;
        end;
      A[k] := A[i]; A[i] := minimum;
    end;
    for i := 1 to 10 do
      if minimum > A[i] then minimum := C[i];
    writeln('C');
    write(C[i]: 4);
  end;
  begin
    p := 1;
    for i := 1 to 10 do
    begin
      for j := 1 to 10 do
      begin
        if A[i, j] mod 2 = 0 then p := p * A[i, j]
      end;
      writeln
    end;
    writeln('произведение четных: ', p);
    readln
  end;
  begin
    for i := 1 to 10 - 1 do
      for j := 1 to 10 do
        for k := 1 to 10 - 1 do
          if matrix[i, k] < matrix[i - 1, k] then
          begin
            flag := 1;
            begin
              flag := 0;
              for i := 1 to n + 1 do
                if A[i, j] < A[i + 1, j] then
                begin
                  flaf := 1;
                  h: A[i + 1, j];
                  A[i + 1, j] := h;
                end;
              n := n + 1;
until flag := 0;
writeln;
for i := 1 to 10 do
begin
  for j := 1 to 10 do
    write(' ', A[i, j]);
  writeln;
end;
readln;
end.


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 03.03.2014 в 19:45.
Оля94 вне форума Ответить с цитированием
Старый 03.03.2014, 17:28   #6
Оля94
 
Регистрация: 28.02.2014
Сообщений: 4
По умолчанию

знаю, что ошибки есть, но хоть что-то сделала))
Оля94 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль. Двумерные массивы. Miru Помощь студентам 6 01.05.2013 22:11
Паскаль.Двумерные массивы Дарья Книга Помощь студентам 1 25.04.2012 18:49
Двумерные массивы [Паскаль] romka w Помощь студентам 0 12.12.2010 14:23
Двумерные массивы. Паскаль deceiver Помощь студентам 4 11.03.2009 18:28