![]() |
С/C++
C++ (Си++) — компилируемый статически типизированный язык программирования общего назначения. Поддерживает разные парадигмы программирования, но, в сравнении с его предшественником — языком Си, — наибольшее внимание уделено поддержке объектно-ориентированного и обобщённого программирования. Название «C++» происходит от Си (C), в котором унарный оператор ++ обозначает инкремент переменной. Среда разработки Скрытый текст: Пример программирования на C++ Скрытый текст: FAQ Скрытый текст: Если вы хотите помощи — вставляйте непонятный вам код в тег [spoiler][code][/code][/spoiler]. Полная статья на "Википедии". |
Всем привет :)
Есть тут люди знакомые с MPI (параллельное прог-е)? Если есть, то нужен ваш совет: Есть hello world для mpi реализации MPICH2 который на ура компилируются в кодблоксе и запускается ч/з ком. строку с параметрами "mpiexec.exe -n 5 D:\hw.exe" тоже, но тут возникает один нюанс: "Программа должна выводить свой ранг из числа действующих процессоров и как ни странно она это делает, но делает очень криво в том смысле, что каждый раз строчки выводятся в разном порядке то бишь - может ( 0 из 3, 2 из 3, 1 из 3), а может может ( 1 из 3, 0 из 3, 2 из 3) и так далее.." Пытался зацикливать программу до тех пор пока 1вым не будет 0 пц, но все бесполезно. Вот код программки: Скрытый текст: Вот собственно и вопрос кто-нибудь знает, как заставить программу работать с пц по порядку? И еще вопрос на засыпку, если в код добавить ввод с клавиатуры, то в самом начале на косоли будет мигать символ ввода без всяких пояснений, и если человек догадается, что ему все-таки предложили что-то ввести и он нажмет любую цифру, то после этого программа выведет, что нужно было ввести и закончит свою работу, например: Скрытый текст: тут программа сначала выдаст: _, а далее после ввода Enter the number of partitions:\n [> Как сделать так, чтобы она сначала выводила, что ввести, а потом предлагала? А не наоборот, как это происходит сейчас P.S. буду очень благодарен тому человеку, кто поможет решить данный проблемы, они хоть и не существенный, но очень портят все логические задумки :( |
Задание:
Скрытый текст: Сделал: Скрытый текст: Выдаёт ошибку: Скрытый текст: Подскажите пожалуйста, что я не правильно написал? |
Цитата:
Цитата:
к тому же hour2, min2; нигде не заданы вообще. |
Цитата:
Я б вообще забил, но мне нужно это всё использовать :lamo: Help me, please :frown: |
PC_GAMER, Прежде чем использовать переменные их нужно инициализировать. Ты же сначала передаёшь переменные в функцию в качестве параметра, и только потом их инициализируешь. Собственно об этом и говорят ошибки компилятора.
|
Меня заверили, что компилятор никогда не поставит никакую переменную на нечетную позицию, благодаря выравниванию и несколько последних битов можно без проблем считать лишней памятью. Для своих замыслов решил это реализовать.
Скрытый текст: - UPD. Дело в приоритетах операций. Поправил во имя истории. |
Задали курсовую работу по C++. Тема "Эмуляция пункта меню MS Word: формат-шрифт". Тему написал, чтобы вы имели представление, что я имею ввиду.
У нас работы с визуальным оформлением в С++ ещё не было, я будет как раз тогда, когда я буду сдавать работу.... Подскажите пожалуйста статьи, учебники или что-нибудь ещё, что поможет разобраться в этой теме, хотя бы немного. |
Всем привет! Подскажите хороший компилятор.
|
GURON27, GCC
|
CMETAHA, тогда уж http://www.mingw.org/ Хотя он а винде тормозной, ппц.
|
Цитата:
|
GURON27, Смотря для чего. G++ может полностью раскрыть себя только в составе unix-систем, имеет ряд существенных недостатков, вроде монолитной компоновки транслятора и недостаточных интеграционных возможностей, что не дает его использовать для развертывания сложных конструкций вроде шаблонов и не дает орагнизовать нормальную отладку, опять же, с возможностью посмотреть на данные внутри типов, использующих шаблоны.
Если тебе нужно под винду, то лучше чем Visual Studio найти невозможно. А если ты собираешься писать под DirectX11, то это вообще единственное вменяемое решение, которое позволяет внутри себя даже шейдеры отлаживать и смотреть промежуточные результаты рендеринга. http://www.microsoft.com/visualstudi...indows-desktop А вот как выглядит процесс отладки рендера: http://habrahabr.ru/company/microsoft/blog/140638/ |
"Работаю" в Borland 6 C++.
Как сделать такие же выплывающие пункты вместе с ComboBox (отметил красным)? Скрытый текст: |
PC_GAMER, На 6-ке - только одним способом. Унаследоваться TWinControl и нарисовать самому. Ribbon и набор comctl32 версии 6 там просто так не подключишь.
|
Как в Visual Studio C++ 2010 можно присвоить кнопке команду, для скроллинга списка в combobox? Подскажите, пожалуйста.
|
PC_GAMER, CLI, WIN32, MFC?
|
[CCCP] Monster, Visual C++ -> CLR.
|
PC_GAMER, Ты даже не понял вопрос.
|
CMETAHA, и что же я не понял?
Спросили какой условный шаблон, я и сказал какой. |
PC_GAMER, насколько я помню, то в visual c++ можно создать либо консольный проект clr, либо пустой проект clr. Что у тебя?
|
CMETAHA, windows forms.
|
Цитата:
|
CMETAHA, тогда я уж действительно не пойму.
Причём здесь Скрытый текст: win32??? Вы можете подсказать как сделать кнопку, которая листает combobox вниз, или вверх (то есть листает его содержимое, как, например, мы бы прокручивали его мышкой)? |
CLR имеет экспортер функций в C++ (правда, чудовищно замороченный даже по сравнению с MFC), так что все нормально. В комбо-боксе нельзя управлять открытым выпавшим списком нативо из среды CLR. Но можно посылать окнам сообщения в стиле старого доброго Win32. У всех контролов CLR есть метод GetWindow, который записывает в переданный ему указатель дескриптор окна типа HWND. А дальше тебе помогут страницы
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx и http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx |
Visual C++ 2010 => CLR => Windows Forms. Как сделать, чтобы ComboBox изначально был заполнен? Читал книгу, по Visual Studio 2008, там описано свойство SelectedIndex, которое при значении -1 пустое, и соответственно при значении 0 и т.д., по возрастающей, значения появляются. Но этого свойства я не обнаружил в Visual Studio 2010, оно просто напросто не расположено в свойствах.
Как сделать, чтобы ComboBox был заполнен? |
Как в Visual Studio 2008 подключить библиотеку pthread.h?
Вопрос снят... |
Как в С++ при выводе в файл не целых чисел, выводить их с точкой, а не с запятой. Например: 0.1 вместо 0,1
|
SEMION,
Запятую, к сожалению, никак. Функции форматирования текста и вывода чисел с плавающей запятой подчиняются штатовским правилам форматирования, и у них там везде точка. Так что единственный путь - это найти и заменить точки на запятые. При парсинге, соответственно, наоборот. Вот на всякий случай два источника, для стандарта С++ и С соответственно: http://www.cplusplus.com/reference/ios/ http://ru.wikipedia.org/wiki/Printf |
14*.Ввести четырёхзначное число (целиком в одну переменную) и подсчитать сумму первой и третьей цифры,
а также произведение второй и четвертой цифры этого числа. кто наведет на правильное решение, или просто подсказать? Задачка по С |
Booch@rt, цифры получаются элементарно, через комбинацию деления и получения остатка от деления:
Первая цифра = N % 10; Вторая цифра = (N % 100) / 10 Третья цифра = (N % 1000) / 100 Четвертая цифра = (N % 10000) / 1000 Думаю, написать сумму и произведение цифр сами сможете :) P.S. Почему задача со звёздочкой, не понял. Элементарщина. |
pokibor, думал насчет этого деления по модулю, но материала дали мало на эту тему, только на нахождение последней цифры 1927%10 = 7
благодарю |
Привет!
У меня проблема:lamo: VS11 выдает ошибку в программе Скрытый текст: Собственно, сама ошибка Скрытый текст: Понятия не имею, на что ругается, учу С по учебнику. Подскажите, что не так? |
Razor_94, Ты определил функцию power(int x, int y) и забыл ее реализовать.
|
[CCCP] Monster, так ведь в printf она. Разве так она не реализована?
|
Razor_94, она там вызывается. Реализовать - это что-то типа
Код:
int power(int x, int y){ |
Анкар, это пишется как формальность и на результат не влияет?
|
Razor_94, это описывает работу функции, без этого просто ничего работать не будет. А ты случаем не вызываешь функцию возведения в степень в своем примере (pow(a,b))? Т.к. это стандартная функция библиотеки math.h, то описывать ее не нужно.
|
Razor_94, Мне кажется, ты сейчас забрался в середину курса, вместо того, чтобы двигаться последовательно. Возможно, ты движешься последовательно по учебнику, просто он криво составлен. Так или иначе, вот неплохой учебник:
http://cpp.com.ru/lippman/index.html А вот глава про функции: http://cpp.com.ru/lippman/c07.html Там довольно хорошо все описано. |
Не особо посещаемый раздел, но все же: нужно написать программку для построения трехмерных графиков. Мне посоветовали компонент gl.ocx. Подскажите, кто знает как установить его на Builder 6, или какую-нибудь инфу по построению сеток в OpenGL. Заранее спасибо
|
http://www.gamedev.ru/code/articles/OpenGL_Delphi
Вычисляешь набор точек с координатами, соответствующими поверхности графика функции в соответствующих границах, из них строишь треугольники, рисуешь их вместо цилиндра в примере выше, функцией http://www.opengl.org/sdk/docs/man2/...awElements.xml |
Поссаны, а в чем проблема? Я не понимаю. Криво C++ поставился?
Скрин: Скрытый текст: |
Cyclops, лучше быть героиновым наркоманом, чем использовать русскую VS.
http://stackoverflow.com/questions/1...al-studio-2010 Попробуй, может помочь. |
Cyclops, это код из какой-то книги/сайта что ли? Предполагаю, что не хватает #include "stdafx.h" перед #include <iostream>.
|
Homma, тут не в этом дело, тут дело в том, что у меня любой код не запускается, а если создаешь пустое приложение, то некуда код вбивать.
З.Ы Даже лабы, которые с универа приношу. |
Цитата:
И создавать нужно не пустое приложение, а консольное приложение вин32(или как-то так). |
[сдувая пыль с полки]
Хай. Учусь программированию с с++, дома имеется microsoft visual studio 2010. Так вот. Дома когда я пишу код и подключаю директиву #include <, то у меня отображаются все варианты библиотек, ну понятно, т.е. вводишь например после < букву "m" а прога выдает варианты math и тп. А вот в универе имеется среда microsoft visual 2010 (даже еще поздний вроде) ULTIMATE (!!!) активированный и все такое, и вот там у мну подключать эти директивы не получается, программа тупо не выдает варианты, а если так просто написать не работают. Может в самой проге чото там подключить понастроить надо? |
Anonymyx, Нужно проверить параметр Сервис\Параметры\Текстовый редактор\С/С++\Дополнительно\Отключить IntelliSence. Должно быть false. Плюс есть горячие клавиши Ctrl+O и Ctrl+пробел, которые открывают подсказку в любом месте.
Еще можно посмотреть стороннее расширение Visual Assist. Оно добавляет описанный функционал плюс еще много всего, вроде автоформатирования текста и т.п. |
Начнем с того, что я почти полный ноль в программировании. Итак, появилось желание изучить С++. Своей первой целью я поставил разработку небольшого приложения под андроид (оно ещё должно будет иметь связь с сетью для обновления\получения информации). Собственно, вопросы:
1) MSVS или Qt? И чем они вообще отличаются, на чем лучше начинать\кодить? 2) Изучаю сейчас язык и, попутно, пишу легкий код по учебнику "С++ за 21 день. Сиддхартха Рао, 2013". Естественно, начинается все это с консольных приложений, но в дальнейшем я, как уже стало ясно, буду писать графическое приложение. Тут я столкнулся с полным непониманием того, что вообще происходит. Принцип написания консольных приложений и графических одинаковый? Мне стоит пока продолжать изучать язык в общем или лучше найти что-то по поводу конкретно графических приложений? И хватит ли мне полученных знаний от изучения консольных приложений для успешного написания кода для графического приложения? Есть ли вообще между ними связь? 3) Не несу ли я сейчас полный бред? В общем, буду очень признателен за помощь. |
eXotic, Хм. Ну, прежде всего, в отличие от консольного приложения, графическое имеет событийную модель поведения. Означает это примерно следующее. Консольная прога исполняется строго по порядку сверху вниз по функции main. Графическое приложение реагирует на события, о которых ему сообщает операционная система. Ты на них пишешь функции, в которых описывается реакция на событие. Для более детального описания процесса нужно обращаться к API конкретной ОС. В случае с андроидом - не знаю, не писал.
Qt - кроссплатформенная библиотека и среда разработки Qt Creator. Они позволяют создавать приложения, которые можно откомпилировать под нужную ОС (из списка поддерживаемых). У них свой API, который является надстройкой над API других ОС. Своя концепция слотов и сигналов, которые реализуют событийную систему реакции на действия пользователя. Не знаю, поддерживает ли оно андроид - не приходилось такого писать. MSVC позволяет писать приложения только под Windows, поэтому если будешь писать под Андроид, то это не твой вариант. |
Хай. Надо написать небольшой интерпретатор, с помощью map.
Короче, включается консоль, вводим команду и 2 операнда. Сначала присваиваем ячейкам map'а (string, int) значения, и дальше выполянем над ними различные мат. дейсвтия. например: вводим mov A 5, и консоль присваивает ячейке A значение 5. Дальше еще раз вводим и присваиваем еще одной ячейке другое значение. Дальше выполняем над ячейками операции. Например: add A B - прибавляем значение из ячейки А к знач из ячейки B. |Вот что-то напортачил, но чего-то не выходит никак. Раньше с map никогда не работал. Скрытый текст: Буду очень благодарен если поможете! Спасибо! |
Цитата:
Цитата:
Скрытый текст: |
Nebel, все работает! Спасибо огромное! Очень помогли :)
А как сделать допустим команду mul (умножить), т.е. есть 2 ячейки со значениями, вводим mul a b, и программма перемножает значения из этих ячеек. сори за тупость, срочно надо а руки кривые. |
Цитата:
Скрытый текст: в твоем случае должно быть так: Скрытый текст: |
Nebel, надо чтобы ввод был "плавным".
Вот ввели мы mov a 5 потом mov b 2 есть а (5) и b(2) дальше просто вводим mul a b и консоль выдает 10. |
|
Скрытый текст: что не так? после того как ввели значения в 2 ячейки, дальше водим add a b, и прога по идее должна сложить 2 ячейки. Но почему-то выводит значение 1ой. ъ |
deadCoo, конвертация через
Цитата:
лучше а и б сделать однотипными, а потом преобразовывать их или не преобразовывать в зависимости от типа введённой операции. |
SEMsemEncMoz, так и сделал, оба стринг, в общем, решено.
Щяс другой проект: Ну вот не пойму как считать из файла по словам, допустим есть exmpl.txt, в ней есть вот такой набор симоволов: add 2 3 mul 2 3 sub 2 3 div 2 3 надо чтобы каждое слово и каждая цифра былы в своих переменных. типа в стринг str1 было слово add потом int символ 2 и т.д. Цифры из файла пользователь может менять. Добавлено через 8 минут Ну или корочепользователь меняет цифры из файла, и прогамма выдает результат, например в данном случае add 5 mul 6 sub -1 div 0.6 |
Цитата:
Цитата:
потом в цикле посимвольно (через string довольно просто организовывается) читаешь каждую строку и разбираешь на подстроки при совпадении символа с пробелом. |
Скрытый текст: но вот как??? Не ролучается именно разобрать на элементы. |
deadCoo,
Скрытый текст: набросал по быстрому что-то. вроде работает. насколько я помню, вообще можно было без итераторов стринг просто через квадратные скобки перебирать, но мингв, встроенный в кьют креатор на это ошибками плюётся. работает. Скрытый текст: |
SEMsemEncMoz, пишет что input используется без инициализации, without initialization...
|
deadCoo,ну поставь
char input[100]; |
SEMsemEncMoz, да ствил, не компилится.
|
deadCoo, ну присвой значение тогда какое-нибудь. without initialization переводится как не инициализировано, то есть не присвоено значения.
|
ребят, задачку не поможете решить? Изучаю С. В конце очередного раздела учебника такое упражнение:
-Составить прогу, которая просит ввести букву, и при помощи петель сделать такую пирамидку (допустим букву А): ______А _____АВА ____АВСАВ ___ABCDCBA __ABCDEDCBA (в готовом посте пирамидки почему-то не получается, поэтому я заменил пробелы на _) Суть какая. Надо использовать одну петлю для рядов, и три внутренние петли: одна для пробелов, вторая для букв в правильном порядке и третью для букв в обратном порядке. Эта долбаная хрень пропустила мой мозг через шредер. Основная суть ясна. Скрытый текст: Хелп ребяты, я не могу есть, не могу спать, я на грани безумия, говоря словами стивена кинга - это моя ТЕМНАЯ БАШНЯ.. |
Три раза перечитал, и только тогда понял, что такое "петля".
Не понял в чем проблема. В основном цикле будет 3 дополнительных: 1) Печатает пробелы 2) Печатает цифры в прямом порядке 3) Печатает цифры в обратном порядке Дальше основной цикл делает перевод строки и все начинается заново. |
Скрытый текст: Вот эта байда рожает A AB ABC ABCD ABCDE Нетпойму как сделать с пробелами _______A ______AB _____ABC ____ABCD ___ABCDE |
rainwalker,
заводишь переменную, изначально равную количеству выводимых строк деленную пополам. На первой строчке выводишь циклом это количество пробелов. Во второй строчки это количество пробелов минус один. И так далее. |
rainwalker,
Код:
#include <iostream> |
Nebel, спс, дружище, но я так пока не умею
Mad-Dan, Вот смотри. Фиолетовый цикл печатает пробелы. Красный цикл - буквы. Но один перекрывает другой:( Скрытый текст: |
rainwalker,
Держи Скрытый текст: Насчет формулы для количества пробелов в предыдущем посте ошибся. |
Народ, спс всем за поддержку. Все получилось. Подскажите плз с другой задачкой.
Надо посчитать такое выражение 1+2-3+4-5....+n-(n+1). Количество шагов задается самостоятельно. Получилось: Скрытый текст: |
rainwalker, ты все усложняешь. Тебе одного цикла достаточно. Знак можно поменять банальным возведением -1 в степень равную шагу цикла.
В коде у тебя полно бреда. К примеру, зачем ты в batman заводишь переменную x, и затем приравниваешь ее к аргументу функции y? Почему просто не использовать y? Я понимаю, что сейчас памяти много у компа, но к чему лишние переменные? Зачем ты используешь while в супермене? У тебя там один шаг всего же. Достаточно if. И зачем нужно условие t<2? Условия внутри while записаны неправильно. должно быть не while (z<0; t<2), а либо while (z<0 || t<2) или (z<0 && t<2). Почитай про логические операции. Кстати, число можно в легкую посчитать и без компа. Выйдет (1-n) |
Цитата:
Код:
for (i=0;i<n;i++) |
Nebel,
тогда уж Скрытый текст: |
спс. If в следующей теме идет, надо без него просто.
Цитата:
Цитата:
Охренеть... Цитата:
Сейчас все как по маслу пошло!:) Пасиб парни. Хотя в учебнике про это ни слова.. |
Цитата:
Цитата:
или заведи переменную типа bool Цитата:
этот y существует только внутри batman, на n он никак не влияет. Почитай про глобальные и локальные переменные. |
Mad-Dan, я сам обучаюсь по англ учебнику C primer plus. Дорешал задачи к 5ой главе, там как раз были loops (петли, как я их сначала перевел:)): while(), for(). С 6-ой начинаются все то, о чем ты говориш: if, else, break итп. Но задачи то к 5-ой. Поэтому работаю с тем, что есть.
Цитата:
|
rainwalker, можно без всяких while и if
например Скрытый текст: А если всерьез, то не бойся забегать вперед. Тебе часто предстоит лазить в незнакомые дебри |
| Часовой пояс GMT +4, время: 07:49. |
Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.