Программа не работает

Почему всегда выводит 0? const n=6; var a: array [0…n-1] of integer; i,j,k:integer; begin for i:=0 to n-1 do read(a[i]); k:=0; for i:=0 to n-2 do begin if (a[i]+a[i+1] mod 7=0) and (a[i]*a[i+1]>0) then k:=k+1; end; writeln(k); end.

  1. Во-первых, код надо форматировать - уважайте тех, у кого помощи просите! Для этого код размещается между строками, в каждой из которых находится по три обратных апострофа ``` - они на клавише с буквой Ё.
  2. Во вторых, это форум университета, если говорить конкретно о Паскале - то тут обсуждается PascalАВС.NЕТ, но никак решение примитивных школьных задачек на Турбо Паскаль, тем более, когда вопрос по сути “найдите у меня ошибку”.
const
  n = 6;

var
  a: array [0..n - 1] of integer;
  i, j, k: integer;

begin
  for i := 0 to n - 1 do
    read(a[i]);
  k := 0;
  for i := 0 to n - 2 do
  begin
    if (a[i] + a[i + 1] mod 7 = 0) and (a[i] * a[i + 1] > 0) then
      k := k + 1;
  end;
  writeln(k);
end.

Условие, которое у Вас в if стоит, не выполнится никогда. Поэтому и получается ноль.

Собственно, ошибка в этом операторе очевидна. Вот и найдите ее.

 Институт математики, механики и компьютерных наук ЮФУ, 2005–2018
Администрация форума: В.Н. Брагилевский, С.С. Михалкович, А.М. Пеленицын
Yandex.Metrica