Вопрос-Ответ (C++)
|
|
Kornival | Дата: Воскресенье, 04 Сентября 2011, 19:10 | Сообщение # 1 |
The Witcher
Сейчас нет на сайте
| Чтобы не создавать отдельную тему на каждый глупый вопрос, предлагаю задавать их здесь.
Saitei: все вопросы по С задаём в теме Вопрос-Ответ (С). Благодарю за внимание!
|
|
| |
WPhoeniXW | Дата: Воскресенье, 25 Ноября 2012, 12:09 | Сообщение # 721 |
участник
Сейчас нет на сайте
| Блин ну подумай это же ... не зря же учат . сейчас мин2 такое же значит чтоб мин2 !=мин 1 != не равно
" Кто в страхе живет, тот и гибнет от страха. " Леонардо Да Винчи
|
|
| |
Levrite | Дата: Воскресенье, 25 Ноября 2012, 12:13 | Сообщение # 722 |
участник
Сейчас нет на сайте
| WPhoeniXW, лично в моём комплитяторе( vs10) такое условие не работает, просто игнорируется, даже мин2 > мин1 не стало работать.
|
|
| |
sem6666 | Дата: Воскресенье, 25 Ноября 2012, 13:52 | Сообщение # 723 |
участник
Сейчас нет на сайте
| Так вот если я так напишу: Code for (j=1; j<8; j++) if (min2>A[j]) min2!=min1; то второе число получается 0. Да и выдаёт ещё предупреждение: Предупреждение: 1warning C4552: !=: оператор не имеет результата; требуется оператор с побочным действием
Сообщение отредактировал sem6666 - Воскресенье, 25 Ноября 2012, 13:58 |
|
| |
Нохчи | Дата: Воскресенье, 25 Ноября 2012, 14:39 | Сообщение # 724 |
заслуженный участник
Сейчас нет на сайте
| Дурдом. Code
int min_1 = arr[0]; int min_2 = arr[0]; for(int i = 0; i<size; i++) { if(min_1 > arr[i]) min_1 = arr[i]; }
for(int i = 0; i<size; i++) { if(min_2 > arr[i] && arr[i] != min_1) min_2 = arr[i]; }
printf("%d\n%d", min_1, min_2);
Многие вопросы по Windows отпадут, если посмотреть тут
Сообщение отредактировал Нохчи - Воскресенье, 25 Ноября 2012, 14:40 |
|
| |
sem6666 | Дата: Воскресенье, 25 Ноября 2012, 15:07 | Сообщение # 725 |
участник
Сейчас нет на сайте
| Нохчи, огромное спасибо! Даже не представляешь как выручил
|
|
| |
Animan2010 | Дата: Понедельник, 26 Ноября 2012, 22:55 | Сообщение # 726 |
постоянный участник
Сейчас нет на сайте
| Вопрос возник: В файле main.cpp подключены инклюдом файлы player.h и game.cpp; player.h содержит определение класса cPlayer. В файле main.cpp объявлен объект player класса cPlayer. В файле game.cpp, в свою очередь, ничего не написано, кроме " void new_game() { player.initialize(); } " Эта функция вызывается в main.cpp. Однако компилятор выдает ошибку - 'player' : undeclared identifier (ошибка в файле game.cpp) extern cPlayer player не помогает =( Как можно мои косяки исправить? :3 Не хочется всё в один файл запихивать просто.
Anima Games Animan Publishing
|
|
| |
Нохчи | Дата: Понедельник, 26 Ноября 2012, 23:36 | Сообщение # 727 |
заслуженный участник
Сейчас нет на сайте
| *.CPP не нужно подключать инклюдом Game.h подключи player.h и объяви нужные функции, в Game.cpp подключи Game.h, объяви свой extern cPlayer player, и реализуй функции. В main.cpp включи Game.h
Многие вопросы по Windows отпадут, если посмотреть тут
|
|
| |
Animan2010 | Дата: Вторник, 27 Ноября 2012, 13:54 | Сообщение # 728 |
постоянный участник
Сейчас нет на сайте
| Спс, Нохчи =) Есть ещё вопрос: Можно ли, к примеру, в Game.h подключить Player.h (класс cPlayer) и Enemy.h (класс cEnemy), а в классе cPlayer сделать функцию, к примеру void attack(cEnemy* enemy) {...} ? Или придётся продумывать "логику" кода? Просто часто бывает нужно то, чтобы файлы кода A и B могли как-то взаимодействовать с файлом C, но вроде бы нельзя подключать один и тот же файл дважды. (redefininition class или что-то вроде этого выскакивает)
Anima Games Animan Publishing
|
|
| |
Archido | Дата: Вторник, 27 Ноября 2012, 14:18 | Сообщение # 729 |
Сэнсэй
Сейчас нет на сайте
| Quote (Animan2010) а в классе cPlayer сделать функцию, к примеру void attack(cEnemy* enemy) Ну, если это делать в классе cPlayer, который расположен в файле Player.h, то логичнее в последнем подключить Enemy.h и делать эту самую функцию. Ну а вообще как ты написал - делать можно. Главное чтобы файлы не инклудили друг друга, образовывая таким образом замкнутый круг. А для "борьбы" с повторным подключением заголовочных файлов придумали Include guards
C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
|
|
| |
Animan2010 | Дата: Вторник, 27 Ноября 2012, 14:54 | Сообщение # 730 |
постоянный участник
Сейчас нет на сайте
| Archido, просто иногда было бы удобнее, если бы в двух разных файлах был бы виден другой, один и тот же файл, так сказать.
Anima Games Animan Publishing
|
|
| |
goldsphere | Дата: Среда, 05 Декабря 2012, 12:16 | Сообщение # 731 |
заслуженный участник
Сейчас нет на сайте
| Как лучше? Унаследовать класс Build от класса Sprite или добавить в виде члена. Пример: class Build { Sprite sprite; };
FinderX - Android Аркада
Сообщение отредактировал goldsphere - Среда, 05 Декабря 2012, 12:51 |
|
| |
Archido | Дата: Среда, 05 Декабря 2012, 12:28 | Сообщение # 732 |
Сэнсэй
Сейчас нет на сайте
| А что есть что? И какие задачи оно должно выполнять? Но, скорее всего оставить как есть, ибо Build унаследованный от Sprite'a - это будет что-то совсем не логичное.
C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
|
|
| |
goldsphere | Дата: Среда, 05 Декабря 2012, 12:47 | Сообщение # 733 |
заслуженный участник
Сейчас нет на сайте
| Build - конкретно игровой объект, класс sprite я создавал для удобства, там реализована загрузка текстуры, инициализация самого спрайта и функция рендера.
FinderX - Android Аркада
|
|
| |
Archido | Дата: Среда, 05 Декабря 2012, 12:59 | Сообщение # 734 |
Сэнсэй
Сейчас нет на сайте
| Тогда наследовать не стоит, ибо разные сущности все таки (sprite - чисто рендер объект, его при необходимости просто заменить можно, без проблем). Кстати, такой способ создания нового класса называется агрегацией
C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
Сообщение отредактировал Archido - Среда, 05 Декабря 2012, 13:01 |
|
| |
sem6666 | Дата: Пятница, 07 Декабря 2012, 20:11 | Сообщение # 735 |
участник
Сейчас нет на сайте
| Помогите сдать последнее зачётное задание: Для заданной матрицы n-го порядка найти такие k, что k-я строка совпадает с k-м столбцом. Для каждой строки матрицы с нечетным номером найти среднее арифметическое ее элементов. Условный оператор не использовать. Code #include "stdafx.h" #include <stdio.h> #include <locale.h> int a [3] [3]={{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; int main () { int S=0; int i,j,n,m,k; for {i=0; i<n; i++); for (j=0; j<m; j++); { a[i][j]=(n=m); { Уже на этом ошибку выдаёт.
|
|
| |
WPhoeniXW | Дата: Пятница, 07 Декабря 2012, 21:33 | Сообщение # 736 |
участник
Сейчас нет на сайте
| ещё бы, после for ; ставить .
Тебе конечно может и подскажут , но скажи зачем тебе программирование если ты уже на первой ступеньке обучения падаешь ?
" Кто в страхе живет, тот и гибнет от страха. " Леонардо Да Винчи
|
|
| |
sem6666 | Дата: Пятница, 07 Декабря 2012, 21:42 | Сообщение # 737 |
участник
Сейчас нет на сайте
| Препод не спрашивает, нужно или нет. Ему главное чтоб сдал его предмет.
Сообщение отредактировал sem6666 - Пятница, 07 Декабря 2012, 21:51 |
|
| |
gtasa_love | Дата: Суббота, 08 Декабря 2012, 14:23 | Сообщение # 738 |
частый гость
Сейчас нет на сайте
| как сделать что бы читалась строка не та которое стоит на определенном месте а что бы читалась строка где есть определенный символ допустим символ G ,хоть был бы на 1 хоть на 5 строке ,ну он бы выводилось в 1 строке консоли
|
|
| |
Нохчи | Дата: Суббота, 08 Декабря 2012, 18:29 | Сообщение # 739 |
заслуженный участник
Сейчас нет на сайте
| gtasa_love, читать последовательно строки и проверять, есть ли них нужный символ.
Многие вопросы по Windows отпадут, если посмотреть тут
|
|
| |
masb8ly-GC | Дата: Воскресенье, 09 Декабря 2012, 02:58 | Сообщение # 740 |
постоянный участник
Сейчас нет на сайте
| gtasa_love, читаешь все строки последовательно, посимвольно разбиваешь и проверяешь на наличие символа G, в случае если он имеется, то выводишь строку.
Backend Developer ESIS Client Side Developer Room8Studio Technical Leader Lucid Reality Labs Chief Technology Officer The Intruders Chief Technology Officer RoyalePlay Games
|
|
| |