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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.02.2015, 16:30   #1
Prohoziy
Новичок
Джуниор
 
Регистрация: 02.02.2015
Сообщений: 2
По умолчанию Поиск в квадратной матрице (Delphi)

Пусть даны натуральное число n и вещественная квадратная
матрица порядка n. Постройте последовательность b[1],...b[n]
из нулей и единиц в которой b[i]=1 тогда и только тогда, когда
в i-ой строке матрицы есть хотя бы один отрицательный элемент

На долю секунды вылетает ошибка, и программа закрывается. Не могу понять в чем ошибка. Собственно, код:

Код:
{Пусть даны натуральное число n и вещественная квадратная
матрица порядка n. Постройте последовательность b[1],...b[n]
из нулей и единиц в которой b[i]=1 тогда и только тогда, когда
в i-ой строке матрицы есть хотя бы один отрицательный элемент.}
program p85_n34;

{$APPTYPE CONSOLE}

 {Подключаем модули}
uses
  SysUtils,
  Windows;

{Описываем переменные}

var
A : array of array of real;
n,i,j : integer;
ok : boolean;

begin
 {Подключаем русский язык}
  SetConsoleCP(1251);
  SetConsoleOutputCP(1251);

  ok:=false;
  while not ok do
    begin
      writeln ('Введите размер матрицы');
      read (n);
      if n>1 then
        ok:=true
      else
        writeln ('ошибка');
    end;

  setlength (A,n);
  write (length(A));

  writeln('Введите саму матрицу');

  for i:=1 to n do
    for j:=1 to n do
      read(A[i,j]);

  writeln('Полученная последовательность ');  
  For i:=1 to n do
    begin
      j:=1;
      While (A[i,j]>=0) and (j<=n) do
        begin
          if (A[i,j]>=0)
            then
              write (0)
            else
              write (1);
            j:=j+1;
        end;

    end;

    readln;
    readln;
end.
Prohoziy вне форума Ответить с цитированием
Старый 02.02.2015, 17:15   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,299
По умолчанию

Код:
setlength(A,n,n);
И нумерация элементов от 0 до n-1.
Ну и вывод 0 и 1 не нравится (не по условию задачи).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 02.02.2015 в 17:18.
BDA на форуме Ответить с цитированием
Старый 02.02.2015, 17:33   #3
Prohoziy
Новичок
Джуниор
 
Регистрация: 02.02.2015
Сообщений: 2
По умолчанию

поправил, все равно ошибка идет
Код:
{Пусть даны натуральное число n и вещественная квадратная
матрица порядка n. Постройте последовательность b[1],...b[n]
из нулей и единиц в которой b[i]=1 тогда и только тогда, когда
в i-ой строке матрицы есть хотя бы один отрицательный элемент.}
program p85_n34;

{$APPTYPE CONSOLE}

 {Подключаем модули}
uses
  SysUtils,
  Windows;

{Описываем переменные}

var
A : array of array of real;
n,i,j : integer;
ok : boolean;

begin
 {Подключаем русский язык}
  SetConsoleCP(1251);
  SetConsoleOutputCP(1251);

  ok:=false;
  while not ok do
    begin
      writeln ('Введите размер матрицы');
      read (n);
      if n>1 then
        ok:=true
      else
        writeln ('ошибка');
    end;
  n:=n-1;
  setlength (A,n,n);
  write (length(A));

  writeln('Введите саму матрицу');

  for i:=1 to n do
  begin
    for j:=1 to n do
      read(A[i,j]);
 end;
  writeln('Полученная последовательность ');

  for i:=1 to n do

    begin
  ok:=false;
      While (A[i,j]>=0) and (j<=n) do
        begin
          if (A[i,j]>=0)
            then
              ok:=false
            else
              ok:=true;
            j:=j+1;
        end;
    if ok=true
    then
      write (1)
    else
      write (0);
    end;

    readln;
    readln;
end.
Prohoziy вне форума Ответить с цитированием
Старый 02.02.2015, 19:06   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,299
По умолчанию

Так вы только сделали ранг матрицы на единицу меньше, а индексы все также от 1 до n (теперь нового).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В заданной квадратной матрице maxim1592 Паскаль, Turbo Pascal, PascalABC.NET 4 27.05.2014 23:42
По заданной квадратной матрице построить вектор artem66rus Помощь студентам 0 11.01.2013 13:30
как в квадратной матрице работать с побочной диагональю? skanku Общие вопросы C/C++ 1 07.12.2011 00:03
В данной действительной квадратной матрице perojenko Помощь студентам 6 23.06.2009 20:59
Найти вектор в квадратной матрице... (С++) Alex88 Помощь студентам 2 19.11.2008 18:25