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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.10.2017, 23:18   #1
lirika228
Новичок
Джуниор
 
Регистрация: 01.10.2017
Сообщений: 2
По умолчанию Определить количество отрицательных и положительных элементов матрицы - Delphi

Здравствуйте помогите исправить ошибку в коде программы.
Задание:
·Определить количество отрицательных и положительных элементов матрицы.
·Если на главной диагонали матрицы есть хотя бы один отрицательный элемент, то к каждому элементу главной диагонали прибавить сумму предшествующих ему элементов.
·Найти суммы произведений ненулевых цифр элементов каждой строки матрицы.

Решил сделать все по нажатию одной кнопки но вышла ошибка на for.Прошу тех кто исправит данную ошибку расписать подробней если не сложной как исправлять в дальнейшем или что не стоит делать для такого косяка.Можно так же не по нажатию одной кнопки,а по MainMenu.
Вложения
Тип файла: rar 1.раздел.rar (195.1 Кб, 34 просмотров)
lirika228 вне форума Ответить с цитированием
Старый 08.10.2017, 08:14   #2
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Код:
procedure TForm1.BitBtn1Click(Sender: TObject);
const m=3;
      n=4;
var p:array[1..m,1..n] of integer;
    i,j,cm,cp:integer;
begin
randomize;
   cm:=0;
   cp:=0;
with StringGrid1 do
begin
  fixedcols:=0;
  fixedrows:=0;
  defaultcolwidth:=30;
  colcount:=n;
  rowcount:=m;
  for i:=1 to m do
  for j:=1 to n do
        begin
        p[i,j]:=-10+Random(21);
        cells[j-1,i-1]:=inttostr(p[i,j]);
         If p[i,j]<0 then Inc(cm)
         else
         If p[i,j]>0 then Inc(cp);
      end;

  end;
  Label1.Caption:='Кол-во положительных='+inttostr(cp)+#13#10
               +'Кол-во отрицательных='+inttostr(cm);
cm:=0;
with StringGrid2 do
begin
  fixedcols:=0;
  fixedrows:=0;
  defaultcolwidth:=30;
  colcount:=n;
  rowcount:=m;
  for i:=1 to m do
  for j:=1 to n do
        If p[i,i]<0 then
        begin
         cm:=1;
         Break;
      end;
  If cm=1 then
  begin
      cm:=0;
      for i:=1 to m do
      begin
         Inc(p[i,i],cm);
         Inc(cm,p[i,i]);
      end;
     for i:=1 to m do
       for j:=1 to n do
         cells[j-1,i-1]:=inttostr(p[i,j]);
  end;
Label2.Caption:='';
for i:=1 to m do
begin
      cp:=1;
      For j:=1 to n do
         If p[i,j]<>0 then
            cp:=cp*p[i,j];
      Label2.Caption:=Label2.Caption+inttostr(cp)+' ';
end;


end;
end;


Еще 1 нюанс:
Цитата:
Сообщение от lirika228 Посмотреть сообщение
на главной диагонали матрицы
матрица должна быть квадратной!
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определить количество отрицательных и положительных элементов матрицы pruelcr Помощь студентам 2 17.09.2017 10:58
дан массив. Определить сумму положительных и количество отрицательных элементов массива. Roshen Паскаль, Turbo Pascal, PascalABC.NET 2 13.12.2016 20:06
определить в последовательности a1, a2, …, an количество положительных и отрицательных элементов vetalij Microsoft Office Excel 2 22.01.2013 12:03