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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.12.2009, 15:42   #1
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию Нужна помощь с двумерным массивом в паскале..

Я в двумерных массивах ваще мало че соображаю...помогите стать на путь истиный)))
Посчитать произведение ненулевых элементов лежащих выше побочной диагонали.

Вот я пыталcя но не получилось самостоятельно:

Код:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;
const n= ;
        m= ;
 var a:array[1..n,1..m] of integer;
 i,j,p:integer;

begin
  writeln('vvedi massiv');
  p:=1;
  for i:=1 to n do
  for j:=1 to m do readln(a[i,j]);
  for i:=1 to (n-1) do
  for j:=1 to (m-1) do
  if (i+j)>(n+1) then
  begin
  if a[i,j]<>0 then p:=p*a[i,j];
  end;
  writeln(p);
  readln;
  readln
end.
Ненавижу быть как все, но люблю, чтобы все были как я.
MyLastHit вне форума Ответить с цитированием
Старый 20.12.2009, 16:15   #2
CodeExpert
Заблокирован
 
Регистрация: 30.10.2009
Сообщений: 468
Радость

Ну уверен точно что будет работать так, под рукой нет компилятора, но как бы так:
Код:
program Project2;
{$APPTYPE CONSOLE}
uses
  SysUtils;
 var a:array[1..100,1..100] of integer;
     i,j,m,n,p:integer;
begin
  writeln('vvedi razmernost massiva');
  readln(m,n);
  writeln('vvedi massiv');
  p:=1;
  {считываем массив}
  for i:=1 to n do
      for j:=1 to m do readln(a[i,j]);
  {выводим массив, чтоб хотя бы увидеть его
  в первоначальном виде}
  for i:=1 to n do begin
      for j:=1 to m do write(a[i,j]);Writeln;end;
  for i:=1 to (n-1) do begin
    for j:=1 to (m-1) do
      if (i+j)<(n+1) then
         begin
          if a[i,j]<>0 then p:=p*a[i,j];
          end; end;
  writeln(p);
  readln;
end.

Последний раз редактировалось CodeExpert; 20.12.2009 в 16:47.
CodeExpert вне форума Ответить с цитированием
Старый 20.12.2009, 16:21   #3
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

спасибо! программа работает...но не так как нужно... может кто найдет здесь ошибку?
Ненавижу быть как все, но люблю, чтобы все были как я.
MyLastHit вне форума Ответить с цитированием
Старый 20.12.2009, 16:46   #4
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

все, нашел, ошибка здесь)))
Код:
for j:=1 to (m-1) do
      if (i+j)<(n+1) then
Ненавижу быть как все, но люблю, чтобы все были как я.
MyLastHit вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помощь (задача с массивом)... Goldberg Паскаль, Turbo Pascal, PascalABC.NET 36 19.04.2011 20:31
Помогите с двумерным массивом в С++ Vultar Помощь студентам 11 12.11.2009 18:28
Нужна помощь с одномерны массивом!!! KnighTeX Помощь студентам 0 09.10.2009 20:55
С массивом нужна помощь !! zerob132 Паскаль, Turbo Pascal, PascalABC.NET 11 11.05.2009 17:10
проблемы с двумерным массивом pancho Общие вопросы Delphi 10 29.01.2009 21:24