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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.04.2016, 14:45   #1
Dexal
Пользователь
 
Регистрация: 23.04.2016
Сообщений: 45
По умолчанию ошибка с Else

Помогите пожалуйста)Где выделено на скриншоте,выдает ошибку,якобы перед оператором else должна стоять ; хотя я точно знаю,что ее там не должно быть,что мне с этим делать?
Изображения
Тип файла: jpg Безымянный.jpg (46.6 Кб, 119 просмотров)
Dexal вне форума Ответить с цитированием
Старый 23.04.2016, 15:05   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

После then зачем ;?
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 23.04.2016, 15:12   #3
Dexal
Пользователь
 
Регистрация: 23.04.2016
Сообщений: 45
По умолчанию

Цитата:
Сообщение от Aleksandr H. Посмотреть сообщение
После then зачем ;?
именно,спасибо,ток теперь у меня изменилось вот что...
Изображения
Тип файла: jpg Безымянный1.jpg (38.8 Кб, 121 просмотров)
Dexal вне форума Ответить с цитированием
Старый 23.04.2016, 15:18   #4
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Проблемы с кавычками. Напр writeln('c[',j,',',I,']=',c[i,j]);
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 23.04.2016, 15:20   #5
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Выводите матрицу так
Код:
writeLn('Элементы матрицы');
for i:=1 to n do begin
  for j:=1 to m do begin
    write(c[i, j]:6)
  end;

  writeLn;
end;
Вадим Мошев вне форума Ответить с цитированием
Старый 23.04.2016, 15:24   #6
Dexal
Пользователь
 
Регистрация: 23.04.2016
Сообщений: 45
По умолчанию

Цитата:
Сообщение от Aleksandr H. Посмотреть сообщение
Проблемы с кавычками. Напр writeln('c[',j,',',I,']=',c[i,j]);
сложнаааа сложнаа я просто уже как ток не пробовал перебивать кавычки,и никак не допрет до меня
Dexal вне форума Ответить с цитированием
Старый 23.04.2016, 15:25   #7
Dexal
Пользователь
 
Регистрация: 23.04.2016
Сообщений: 45
По умолчанию

Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
Выводите матрицу так
Код:
writeLn('Элементы матрицы');
for i:=1 to n do begin
  for j:=1 to m do begin
    write(c[i, j]:6)
  end;

  writeLn;
end;
хм....сейчас
Dexal вне форума Ответить с цитированием
Старый 23.04.2016, 15:27   #8
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Кстати, вот тут begin .. end - не нужны. То есть , лишние.
Между ними - один оператор. if со своими then .. else - это один оператор.

И вообще, вместо этого лучше так:
Код:
c[i,j]:=(a[i]*a[i]+b[j]*b[j]*b[j])<=1;
Изображения
Тип файла: jpg pas00.JPG (14.0 Кб, 37 просмотров)
type_Oleg вне форума Ответить с цитированием
Старый 23.04.2016, 15:33   #9
Dexal
Пользователь
 
Регистрация: 23.04.2016
Сообщений: 45
По умолчанию

Цитата:
Сообщение от type_Oleg Посмотреть сообщение
Кстати, вот тут begin .. end - не нужны. То есть , лишние.
Между ними - один оператор. if со своими then .. else - это один оператор.

И вообще, вместо этого лучше так:
Код:
c[i,j]:=(a[i]*a[i]+b[j]*b[j]*b[j])<=1;
с этим пока подожду перепечатывать,она первый раз запустилась,но матрицу так и не посчитала,просто False True...опять что-то где то упустил,но что)
Dexal вне форума Ответить с цитированием
Старый 23.04.2016, 15:45   #10
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

type_Oleg
Цитата:
Кстати, вот тут begin .. end - не нужны. То есть , лишние.
Между ними - один оператор. if со своими then .. else - это один оператор
Я понимаю, тем не менее, я всегда стараюсь писать именно так, используя "составной оператор". это, по крайней мере удобно тем, что, когда потребуется поместить вывод диагностической информации сразу после строки в цикле, не придётся дописывать операторные скобки.

Например,
отлаживаем такой кусок кода:
Код:
for i:=1 to N do
  a[i]:=i;
Я хочу в цикле тут же выводить, чему у меня получился равен текущий элемент массива, но для этого мне надо писать begin/end, а потом, когда отладка закончена, убрать их вместе с диагностическим выводом. В моё же случае убирается только диагностический вывод.

Цитата:
И вообще, вместо этого лучше так:
Я не смотрел код топикстартера, не увидел, что C - Это булевский массив.
Вадим Мошев вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[РЕШЕНО] Помогите в чем может быть ошибка? Ошибка ';' expected but 'BEGIN' found АлександрDelphi Общие вопросы Delphi 7 06.03.2016 19:25
Java. Ошибка. Компилируется, но не запускается. Ошибка duplicate class. Проблема не в коде. nevender Общие вопросы по Java, Java SE, Kotlin 2 13.02.2016 13:24
Где ошибка в этом исходном коде на языке Си? Или ошибка в Excel? ArchiCurtis Помощь студентам 2 07.04.2012 14:16
Ошибка run-time Error 1004 общая ошибка ODBC kaval88 Microsoft Office Excel 0 27.02.2011 20:20
Ошибка в коде, ошибка в css или это проблема с совместимостью с браузерами? ankris HTML и CSS 5 23.11.2010 16:58