![]() |
|
Модераторы: bsa |
![]()
|
|
| olegg95 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 10.10.2012 Репутация: нет Всего: нет |
Помогите решить задачу, пожалуйста:
Построить квадратную матрицу n на n элементов. Элементы выше главной диагонали заполнить единицами, ниже - двойками, саму главную диагональ - нулями. Так всё работает:
Но как взять значение n у пользователя, если оно должно быть константным? Пытался сделать так , но выдаёт ошибку:
Модератор: Не забываем пользоваться кнопочкой "Код" |
||||
|
|||||
| feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Можно так сделать:
-------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
| NoviceF |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 313 Регистрация: 13.3.2012 Где: Ростов-на-Дону Репутация: 2 Всего: 2 |
Можно так:
|
|||
|
||||
| feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
А зачем последнее if (i>j)? Оно может быть как-то иначе? -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 15 Всего: 101 |
NoviceF, константу так инициализировать можно, а размер массива должен быть известен во время компиляции
|
|||
|
||||
| NoviceF |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 313 Регистрация: 13.3.2012 Где: Ростов-на-Дону Репутация: 2 Всего: 2 |
Сейчас нет ide под рукой, но вчера дома запускал авторский код с такой инициализацией константы, и всё компилировалось и работало.. или что имеется ввиду? Это сообщение отредактировал(а) NoviceF - 11.10.2012, 13:39 |
|||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 15 Всего: 101 |
||||
|
||||
| NoviceF |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 313 Регистрация: 13.3.2012 Где: Ростов-на-Дону Репутация: 2 Всего: 2 |
gcc, версию не знаю, но должен быть не совсем древний.. В общем проверю вечером. Это сообщение отредактировал(а) NoviceF - 11.10.2012, 21:13 |
|||
|
||||
| NoviceF |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 313 Регистрация: 13.3.2012 Где: Ростов-на-Дону Репутация: 2 Всего: 2 |
gcc 4.5.3
Компилируется и выполняется без ворнингов и ошибок. Почему так происходит? |
|||
|
||||
| 586 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 8 Всего: 146 |
vs2010 выдаст ошибку: "error C2057: expected constant expression".
|
|||
|
||||
| Фантом |
|
||||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: 4 Всего: 49 |
Можно и проще. На GCC компилироваться и выполняться будет даже такой код:
Просто есть стандарт языка, а есть его реализация в компиляторе (и они далеко не всегда точно совпадают). |
||||
|
|||||
| KaZepKa |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 29.10.2011 Репутация: нет Всего: нет |
||||
|
||||
| math64 |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 12 Всего: 72 |
Это допустипо по стандарту C99. gcc поддерживает дополнения C99 и в C++, но в стантдарте C++ такого нет.
Чтобы соблюдался стандарт, придётся разделить на 2 файла:
|
||||
|
|||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |