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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.07.2014, 10:25   #1
Kitekat
 
Регистрация: 03.07.2014
Сообщений: 7
По умолчанию Visual Studio С++. при проверке условий ошибка error C2059: syntax error : ')'

блин, вот код легкий, а в одной строке ошибку выдает, дальше не могу двинуться, в чем ошибка подскажите пожалуйста
ошибка: ошибка error C2059: syntax error : ')'
код:
for(int j=0; j<n; j++);{
for(int i=0; i<n; i++);{
if([i]=[j] && x[i][j]=1);
}}
работаю в вижуал студи с++
Kitekat вне форума Ответить с цитированием
Старый 07.07.2014, 12:40   #2
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 18,136
По умолчанию

if([i]=[j] && x[i][j]=1); Если ([i]=[j] && x[i][j]=1) и? Что делать-то надо, если наступит это условие?
if (выражение1) оператор1;
[else оператор2;]

Где оператор1? Он должен быть обязательно.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 07.07.2014 в 12:43.
Utkin вне форума Ответить с цитированием
Старый 07.07.2014, 13:02   #3
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,618
По умолчанию

Цитата:
Где оператор1? Он должен быть обязательно.
Там есть оператор. Оно называется пустой оператор, в этой части все корректно и правильно.
Код:
for(int j=0; j<n; j++); // <- тут у тебя пустой оператор, все что написано дальше - уже не в цикле
{
  for(int i=0; i<n; i++); // <-- тут тоже самое
  {
    if([i]=[j] && x[i][j]=1);  // <-- тут ошибка, переменные i и j не определены. Ведь в С++ область видимости переменной, объявленной в цикле ограничена циклом
}
}
Фигурные скобочки в твоем примере вообще никуда не играют, они тоже могут ограничить область видимости, но в твоем случае ограничивать уже нечего.

Ну это сразу бросилось в глаза.

Код:
if([i]=[j] && x[i][j]=1);
Тут 2 условия, вроде как.
Квадратные скобки в С++ - это оператор, позволяющий обратиться к элементу массива. Ты пишешь [i] - значит обращается к i-тому элементу, но какого именно массива?

Второе условие - x[i][j]=1 у тебя завершится ВСЕГДА удачно, т.е. это тоже самое что true (всегда истина). Т.к. оператор присваивания возвращает значение, которое было присвоено переменной, т.е. единицу в твоем случае.

Я посмотрел на код и реально не понял что ты тут хотел сделать )). Я пытался.

Код:
for(int j=0; j<n; j++)
  for(int i=0; i<n; i++)
    if(/* я не знаю что ты тут хотел делать */) {
       /* и что тут тоже не знаю */
    }

Последний раз редактировалось rrrFer; 07.07.2014 в 13:06.
rrrFer вне форума Ответить с цитированием
Старый 07.07.2014, 13:31   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

даже я не знаю С/C++, догадываюсь, что операция = - это не сравнение, а ПРИСВОЕНИЕ! а сравнение это == )

возможно, что проверка условий планировалась такая:
Код:
  if( (i==j) && (x[i][j]==1)) ......
Serge_Bliznykov вне форума Ответить с цитированием
Старый 07.07.2014, 17:28   #5
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,680
По умолчанию

Kitekat а какую задачу вы пытались решить? Может где-то подсказали пример?
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!

Последний раз редактировалось Bugrimov; 07.07.2014 в 17:34.
Bugrimov вне форума Ответить с цитированием
Старый 07.07.2014, 18:36   #6
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,618
По умолчанию

Serge_Bliznykov
А как вы так догадываетесь? - я так не умею.

Я думаю, МБ ТС хотел написать
Код:
for(int j=0; j<n; j++)
  for(int i=0; i<n; i++)
    if (i == j && x[i][j] = 1);
мне кажется, это корректный код. Если требуется заменить все элементы главной диагонали на единицы.
rrrFer вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При компиляции VS2005 во внешнем хидере вылазит error C2059: syntax error : 'return' calypso Visual C++ 13 10.06.2014 08:01
Ошибка в скрипте:"Parse error: syntax error, unexpected '{'" StakanpORTvejna Помощь студентам 0 15.11.2013 16:37
Причина ошибки Parse error: syntax error, unexpected T_VARIABLE Masafi PHP 4 10.05.2013 18:31
Ошибка Parse error: syntax error, unexpected T_STRING в PHP gunsoy PHP 1 20.07.2012 23:18
Parse error: syntax error, unexpected ';', expecting T_FUNCTION avduevsky PHP 5 21.09.2011 13:56