|
183 / 121 / 26
Регистрация: 18.05.2015
Сообщений: 509
|
|
С++ с нуля20.02.2022, 23:08. Показов 7747. Ответов 101
Метки стивен прата c90 msvc (Все метки)
Всем привет!
не кидайте тапками ) Изучаю Си и Си++ с нуля, книга Стивен Прата, и некоторые примеры набираю в Visual Studio, создал файл с расширением .с Залез в компилятор и установил старый, msvc, но это не прокатывает. Не компилируется, хотя в книге написано должно C90 int m = 3; int a[m]; выходит ошибка. . Как посоветуете изучать си и си++? Какой стандарт выбрать? Всем удачи и здоровья!
0
|
|
| 20.02.2022, 23:08 | |
|
Ответы с готовыми решениями:
101
Сравнить два массива на чисела: больше нуля, меньше нуля и равно нулю Вычислить среднее арифметическое элементов, расположенных до первого нуля и после последнего нуля Посоветуйте книгу или статью по OpenGL с нуля (на языках любых кроме Delphi). С нуля |
|
фрилансер
6495 / 5724 / 1133
Регистрация: 11.10.2019
Сообщений: 15,286
|
|
| 21.02.2022, 21:27 | |
|
tahir_, после C++ перейти на Си не трудно (если вдруг вообще такая надобность вдруг возникнет)
Не по теме: Правда, будет мучать тоска по конструкторам и деструкторам (и другим удобствам)
1
|
|
|
2405 / 1936 / 763
Регистрация: 27.07.2012
Сообщений: 5,575
|
|||
| 21.02.2022, 21:38 | |||
|
Добавлено через 1 минуту
2
|
|||
|
фрилансер
6495 / 5724 / 1133
Регистрация: 11.10.2019
Сообщений: 15,286
|
|
| 21.02.2022, 21:51 | |
|
John Prick, кто с контроллерами возится - он так и будет на Си работать. А ТС явно контроллерами не занимается
1
|
|
|
2405 / 1936 / 763
Регистрация: 27.07.2012
Сообщений: 5,575
|
||
| 21.02.2022, 22:08 | ||
|
1
|
||
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
||
| 21.02.2022, 22:39 | ||
|
1
|
||
|
737 / 704 / 110
Регистрация: 29.05.2015
Сообщений: 4,316
|
|
| 21.02.2022, 23:04 | |
|
Вот например игра "Морской бой" человек с компьютером. Есть поле 10х10, есть 2 персонажа - чел и комп, которые хоть и играют в одну игру, алгоритм действий у них разный: чел просто вводит координаты хода, комп должен рассчитать свой ход (хоть рэндомом, чем сложнее - тем лучше будет его игра). Есть корабль, есть отдельные палубы, из которых корабль состоит. Вот собсна и всё.
Как сделать процедурным программированием - понятно. Поле - статический массив 10х10. Корабли и вообще картинка на экране - числа в массиве. Ходы - функции, и т.п. Вопрос - как тут прикрутить ООП, что делать классом - поле, игроков, корабли? От чего чему наследоваться - ну, что-бы было полноценное ООП?
0
|
|
|
фрилансер
6495 / 5724 / 1133
Регистрация: 11.10.2019
Сообщений: 15,286
|
|
| 21.02.2022, 23:14 | |
|
alexu_007, зачем обязательно наследоваться ? Класс поля, класс корабля, класс игрока
0
|
|
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
||
| 21.02.2022, 23:15 | ||
|
Короче, в чем проблема то? Все прекрасно оформляется в ООП-стиле.
0
|
||
|
2405 / 1936 / 763
Регистрация: 27.07.2012
Сообщений: 5,575
|
|||
| 21.02.2022, 23:35 | |||
|
Выходит, что поле - это, скорее, должен быть массив структур с информацией о том, что содержит поле, текущее состояние, возможно, указатель на корабль на этом поле и т.д. А за отображение будет отвечать уже другой модуль, содержащий функции, которые умеют представить игровое поле в визуально понятном виде. Всё это спокойно реализуемо в процедурной модели. И вот уже вырисовывается то, что в объектном варианте станет классом. Собственно, общая структура программы при переходе на ООП останется во многом схожей, но модульность станет более отчётливой. Взаимодействие игровых сущностей перейдёт от прямой записи переменных к вызову коллбэков, например, при изменении (попадании) в поле. То, что в функции в процедурном варианте передавалось указателем на структуру, станет классом, а эти функции - его функциями-членами. И т.д. и т.п.
0
|
|||
|
737 / 704 / 110
Регистрация: 29.05.2015
Сообщений: 4,316
|
|||||
| 22.02.2022, 00:49 | |||||
|
Игроки действуют по разному - чел вводит цифры с клавиатуры или кликает мышкой в экран, комп как-то рассчитывает свои ходы. Зачем два класса, каждый из которых будет существовать в единственном экземпляре - тоже не очень понятно. Ну корабль да, может быть, он может хранить информацию о своём состоянии (сколько палуб, есть ли раненые и т.д.). Но это так же легко реализовать и функциями. Каких-то значительных преимуществ я не вижу. Добавлено через 2 минуты Добавлено через 3 минуты Добавлено через 14 минут
0
|
|||||
|
зомбяк
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
|
||
| 22.02.2022, 00:52 | ||
|
Точно так же как в С упорядочиваешь переменные по структурам (хотя ничто не мешает хранить все переменные отдельно, и передавать в аргументы функции отдельно) так в С++ функции упорядочиваются по классам.
0
|
||
|
|
||
| 22.02.2022, 04:40 | ||
|
alexu_007, сильное впечатление складывается, что все твои вопросы в этой теме - риторические.
Ты их задаёшь, получаешь ответ... и тут же начинаешь с ответом спорить и пытаться его опровергнуть. Тебе в этой теме ответы нужны или пустой холивар? Если ты и так всё для себя решил, зачем прикидываешься наивным новичком, который не знает ничего про С++???
0
|
||
|
фрилансер
6495 / 5724 / 1133
Регистрация: 11.10.2019
Сообщений: 15,286
|
|
| 22.02.2022, 06:15 | |
|
alexu_007, класс - это чёрный ящик. И неважно, массив у него там внутри или база данных. Для прототипирования можно накидать пустышки классов с методами - вообще без данных
Добавлено через 2 минуты alexu_007, в Си ты точно так же используешь классы, только каждый класс у тебя размазан ровным слоем по всему коду, из-за чего становится сложно его модифицировать, а иногда - и просто работать с ним в реальном мире всё состоит из объектов, поэтому объекты - это естественный способ моделирования.
0
|
|
|
737 / 704 / 110
Регистрация: 29.05.2015
Сообщений: 4,316
|
|
| 22.02.2022, 06:44 | |
|
0
|
|
|
2405 / 1936 / 763
Регистрация: 27.07.2012
Сообщений: 5,575
|
|||||||||
| 22.02.2022, 08:58 | |||||||||
|
Вот взять даже приведнное вами: В объектно-ориентированном коде обработка попадания была бы примерно такой:
0
|
|||||||||
|
1070 / 991 / 153
Регистрация: 10.08.2015
Сообщений: 5,416
|
|
| 22.02.2022, 11:04 | |
|
0
|
|
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
||
| 22.02.2022, 11:11 | ||
|
0
|
||
|
252 / 185 / 47
Регистрация: 31.01.2021
Сообщений: 934
|
|||||||
| 22.02.2022, 11:42 | |||||||
|
vlisp,
Ничего необычного, так-же, если увидете:
![]() Добавлено через 2 минуты
0
|
|||||||
|
737 / 704 / 110
Регистрация: 29.05.2015
Сообщений: 4,316
|
|||
| 22.02.2022, 12:08 | |||
|
0
|
|||
| 22.02.2022, 12:08 | |
|
Посоветуйте книгу или статью по DirectX с нуля (на языках любых кроме Delphi). С нуля Какая вероятность того, что сумма этих чисел будет больше нуля, а произведение меньше нуля ? Двухмерный массив. Вычислить количество строк, сумма элементов которых меньше нуля, равна нулю или больше нуля Расстояние от нуля экрана до нуля документа Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
GitDOS: Когда я решил скрестить MS-DOS, GitHub и Claude
MaGz GoLd 08.07.2026
Привет, Киберфорум! Хочу поделиться своим проектом, который, надеюсь, вас заинтересует. GitDOS — это веб-приложение, которое позволяет запускать DOS в браузере с тремя крутыми фичами: диски живут в. . .
|
Учебный мини "цифровой двойник" = (Сервер = Java + Flask_питон )+(3D = Гугловскаая 4T nvideo + google colab) +( WMS = Odoo на Docker)
anaschu 07.07.2026
Увидел в требованиях к вакансии создателя имитационных моделей связку (REst + Api + WMS + Anylogic + питон + 3D Nvideo), и решил посмотреть, что это такое. Из этого всего я работал более менее. . .
|
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал.
Оно само - говорит.
Кто слышит тот слышит.
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|