Обсуждение Программирование на C/C++

Бретон

Ословед
Поди что, под BC 3.1, так любимый преподами?
...

не знаю в камом каменном веке живут преподы и институт.:megalol:

у нас в институте везде стоит MSVS 2005/8, Porland какой-то, ну и dev... ну а среду и язык студенты выбирают сами

Бретон
Извени, а ты сам то компилил то что выложил?
Если мне память не изменяет, при объявлении массива, его длинна это константа, поправь меня если это не так...
Код:
//4
    cout <<endl<<" exercize 4 "<<endl;
    cout << endl << "length of array" << endl;   
    int length = 0;
[COLOR=darkred]cin >> length;   ВОТ ЧТО![/COLOR]
 
 
    double arr[[COLOR=darkred]length[/COLOR]];
Дальше что то даже смотреть не хочеца((( //жесть не этично писать подобное

что-что?! считали length с клавиатуры вот вам и длина:D
первый раз такое видите ? :megalol:
ЗЫ: в отличие от преподов в нашем институте компилятор в мою голову не встроен::D, так что результат работы проверял в dev-c++ (и естественно всё работает) ибо сам терпеть не могу c++ и обожаю C#, компилятор которого и стоит ( MSVS2008 XE):p

зы2: 2Arct пержде, чем судить ковчег правды нужно было хотя бы просмотреть последние 2 сезона звёздных врат, ибо он является лишь их сюжетным окончанием, а не полноценным фильмом, о чем я и писал большими жирными буквами в теме про сериал в моей подписи
 

MEGABIT

Ословед
Мне тут выдали в универе написать Сетевые шашки, но я абсолютно не представляю себе как сделать их сетевыми(т.е. чтоб могли два компа цепляться). По идее один типа сервер, другой типа просто игрок... Помоите плз
 

Бретон

Ословед
это через сокеты ... а протокол какой сказали? TCP или UDP?
для нужно написать сами шашки:D(графика, логика),
а потом используя сокеты передавать ходы по сети.

проще и удобнее через проткол TCP:D
очень подробно с примерами написано в MSDN для среды MS Visual Studio 2005/8 , правда там наверное удобнее на C#

ну а если на с++ , используя лишь winSock , то вот например:
[URL="ed2k://|file|%D0%9A%D1%80%D0%B8%D1%81%20%D0%9A%D0%B0%D1%81%D0%BF%D0%B5%D1%80%D1%81%D0%BA%D0%B8%20-%20%D0%A1%D0%B0%D0%BC%D0%BE%D1%83%D1%87%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%20%D0%B8%D0%B3%D1%80%D1%8B%20%D0%BD%D0%B0%20WINSOCK.pdf|193414|E01317E6ADDF4C4AC1594169765CC827|/"]Крис Касперски - Самоучитель игры на WINSOCK.pdf[/URL]
 

MEGABIT

Ословед
TCP
Млин мож есь исходники хотяб любой игры, хоть тетриса, ато ваще не знаю с чего начать:(
 

Бретон

Ословед
ато ваще не знаю с чего начать:(
1. написать просто шашки ( не сетевые ) или скачать с инета:D
2. вносим изменение в логику с помощью сокетов:
ходит сервер---- сделал ход-----получили изменение положение одной шашки----- передали через сокеты это положение на клиент-----
-----клиент принял положение----внёс изменеие на доске клиента-----клиент изменил положение своей шашки ---- опять через сокеты передали изменение положения уже клиентской шашки на сервер----и все повторяется

и всё это например в бесконечном цикле пока у каго-нить не кончаться шашки:D

или опять -таки вообще все скачать с инета: сетевые шашки популярное задание

----------------------------------------------------------------------------------------------------------------------------------------------
мне в универе давали такое задание:нужно было передавать снимок экрана одного компа на другой комп

делал на C#, вот могу дать. снимок идёт на щелчок мышки по форме клиента

про тетрис хз
шашки наверное уже все готовые с сокетами мона в инете найти, ибо задание весьма распространённое

ЗЫ: если честно, то я неи представляю себе сетевой тетрис
 

Arct

Ословед
не знаю в камом каменном веке живут преподы и институт.:megalol:

у нас в институте везде стоит MSVS 2005/8, Porland какой-то, ну и dev... ну а среду и язык студенты выбирают сами
Хотя вопрос не к вам... Уточняю:
Под какой компилятор.
что-что?! считали length с клавиатуры вот вам и длина:D
первый раз такое видите ? :megalol:
ЗЫ: в отличие от преподов в нашем институте компилятор в мою голову не встроен::D, так что результат работы проверял в dev-c++ (и естественно всё работает) ибо сам терпеть не могу c++ и обожаю C#, компилятор которого и стоит ( MSVS2008 XE):p
На с# это может и прокатывает, НО C# ЭТО НЕ С++ И УЖ ТЕМ БОЛЕЕ НЕ С...
В С объявление массива имеет вид
Код:
type name_array[size_array];
Где size_array имет тип const int, т.е. оно должно быть определено на этапе компиляции.
На С# память под массивы выделяется динамически, а в С/С++ статически. Исходник не на С++ а на С#. Ни один компилятор поддерживающий СТАНДАРТ С++ этот исходник не скомпилирует.
 
Как делать задержку? Например в цикле
for (int i =0; i < 100; i++)
{
// задержка
}
 

Бретон

Ословед
Как делать задержку? Например в цикле
for (int i =0; i < 100; i++)
{
// задержка
}
может sleep(число)?? никогда сам так ни делал у кагото видел



вы знаете что такое компилятор dev-cpp??? там 2 типа проектов: с и с++ проекты, с# фаилы он не открывает(!)
Dev-Cpp 4.9.9.2.7z весит копейки не требует установки
создайте пустой проект и вставьте мой файл из вложения main.cpp (обратите внимание на расширение! - это с++ фаил, а C# -фаилы имеют расширение cs) на предыдущей странице
нажмите компилировать ---- наслаждайтеся результатом

поскольку код из dev в порленд обычно переносится без изменений то и там всё должно скомпилиться(возможно слегка поменять синтаксис заголовка функции main)
Исходник не на С++ а на С#.
этот код в принципе не может быть C# - кодом, ибо в нём (c#)всё заключено в классы, а сдеся ниодного класса нет:megalol:

ЗЫ:
НО C# ЭТО НЕ С++ И УЖ ТЕМ БОЛЕЕ НЕ С...
да C# - Это не жалкий С среднего уровня , а полностью ОО язык, вобравший в себя лучшее из С++, с кучей своих фишек

или смотрим вложения:D :
 
Хотя вопрос не к вам... Уточняю:
Под какой компилятор.
На с# это может и прокатывает, НО C# ЭТО НЕ С++ И УЖ ТЕМ БОЛЕЕ НЕ С...
В С объявление массива имеет вид
Код:
type name_array[size_array];
Где size_array имет тип const int, т.е. оно должно быть определено на этапе компиляции.
На С# память под массивы выделяется динамически, а в С/С++ статически. Исходник не на С++ а на С#. Ни один компилятор поддерживающий СТАНДАРТ С++ этот исходник не скомпилирует.


можно и так:
Код:
[COLOR=#0000ff]double[/COLOR] * arr = new double[length];
...
delete[] arr;

Все будет работать, массив просто динамический....
 

Arct

Ословед
можно и так:
Код:
[COLOR=#0000ff]double[/COLOR] * arr = new double[length];
...
delete[] arr;
Все будет работать, массив просто динамический....
Я просто говорю что это не С/С++...
Как в С выделять память динамически я хорошо знаю)))
 

    Бретон

    очки: 7
    успокойтеся уже =) нашли мелочь к котрой прикапаться

Бретон

Ословед
каждый останется при своём мнении . мне абсолютно пофиг на всякие стандарты: мне главное чтобы работало, то бишь интересует лишь конечный результат

как сказал Xen0n добавим лишь слово new и код будет работать в MSVS2005/8, разные компиляторы - разные требования, и если сразу не работает в одном компиляторе, то это не значит весь код полная чушь
 

Shell

Ословед
в последней версии C можно определять массивы как делал Бретон
и все компиляторы поддерживают, если юзать свежие версии

в С++ такое определение является расширением для конкретной реализации и может внезапно исчезнуть как операции <? и >? в четвертом GNU C/C++
 

    Бретон

    очки: 7
    Нет комментариев

Arct

Ословед
Shell
Можешь дать ссылку на борландавский компилятор который это съест?
Бретон
Я тебе не про то...
А про то что, если нужно написать на С то нужно придерживаться стандартов... Если каждый програмер будет писать под свой компилятор((( Стандарты ведь не зря придумывались... Код должен быть переносим. Что бы любой С++ (в нашем случае) компилятор его скушал и еще попросил ))) Это правило хорошего тона в программировании...
 

Shell

Ословед
Можешь дать ссылку на борландавский компилятор который это съест?
конкретно борланд и микрософт C99 не поддерживают
на страничке http://geocities.com/avsharath/c99compilers.htm
указаны с полдюжины компиляторов, где реализована полная поддержка, из знакомых имен Intel, Sun, IBM
в GCC С99 почти полностью, не реализованы только вещи, которые не будут востребованы в реальных программах

Microsoft заявляет следующее:
"Visual C++ 2005 has included a few things from C99, such as better floating point support. Overall, we do not have plans to fully implement C99 as very few customers have expressed interest in that."
Borland imho загибается им не до C99
 

gureedo

Самец :)
борланд продал делфи, продал билдер, продал когдегеар...
остался только компилятор? :)
 
Вообщем я условно хочу реализвовать 2 программы:
Серверную часть и Клиентскую Часть которые будут перекидывать между собой целочисленные значения, однако на данный момент у меня получилось реализвать передачу информации от клиента к серверу при помощи:
Код:
ClientSocket1->Socket->SendBuf(x, sizeof(x));

Аналогичными образом попытался выполнить передачу информации от сервера к клиенту при помощи
ServerSocket1->Socket->SendBuf(x, sizeof(x));
Однако при исполнении данной строки кода вылетает ексепшн.

Вопрос как реализовать передачу информации от сервера к клиенту на основе сокетов?
 

Arct

Ословед
конкретно борланд и микрософт C99 не поддерживают
на страничке http://geocities.com/avsharath/c99compilers.htm
указаны с полдюжины компиляторов, где реализована полная поддержка, из знакомых имен Intel, Sun, IBM
в GCC С99 почти полностью, не реализованы только вещи, которые не будут востребованы в реальных программах

Microsoft заявляет следующее:
"Visual C++ 2005 has included a few things from C99, such as better floating point support. Overall, we do not have plans to fully implement C99 as very few customers have expressed interest in that."
Borland imho загибается им не до C99

Я не в коем случае не против нововведений))) Динамическое выделение памяти под массив хорошая вешь, если правильно использовать ))) Потому что програмер всегда(ну почти) лутше знает где использовать статику а где динамику...
А насчет борланда... Эт сомнительно... Слишком он любим нашей многострадальной родиной... Я впрочем незнаком ни с вер.2006, ни с вер.2007(по моему такая была)))), хотя для BCB++6 у меня выкачены все обновления по сегодня...Может и есть ключ для компиляции С++99 ISO но я токого не нашел...
А насчет моих высказываний Бретон я не старался тебе сказать что не умеешь писать программы, я даже уверен что ты можешь написать прогу на С# ГороздО лутше чем я...Ибо я последние время пишу для Авиэр сиречь микропроцессеров фирмы АТМЕЛ, причем на АСМЕ...Дальше отпишусь в личку)
 

MEGABIT

Ословед
Я ща работаю на Borland С++ и мне оооочь нужно узнать
во-первых: есть ли что-то типа Mouse->CursorPos, но только чтоб оно определяло позицию внутри формочки, а не ваще на всём экране...
в0-вторых: как сделать так чтоб копии одной кртинки появлялись в конкретных точках(например еси выполнены опред. условия), белые шашки например...
Помогите плиз, репкой не обделю:)...
 
Я ща работаю на Borland С++ и мне оооочь нужно узнать
во-первых: есть ли что-то типа Mouse->CursorPos, но только чтоб оно определяло позицию внутри формочки, а не ваще на всём экране...

А какие проблемы? Вычитаешь из глобальных координат оординаты формы, на крайняк...

в0-вторых: как сделать так чтоб копии одной кртинки появлялись в конкретных точках(например еси выполнены опред. условия), белые шашки например...

Всмысле? Просто один раз загрузить, потом несколько раз вставить? Если да - могу через ВинАПИ описать.
 

MEGABIT

Ословед
А какие проблемы? Вычитаешь из глобальных координат оординаты формы, на крайняк...

Всмысле? Просто один раз загрузить, потом несколько раз вставить? Если да - могу через ВинАПИ описать.

Насчёт вычитания, это то понятно, но вот еси юзверь решит окно перетащить куда-нить... или можт мона сделать формачку неподвижной???

Ну тип да, вот умя типа игра Шашки, я тут думаю: мне загружать картинки сразу всех 12 белых 12 черных шашек(ну типа просто накидать в формочку) или вот можна как-нить чтоб еси есть на клетке шашка, то там картинка появлялась еси нету - то исчезала...

P.S. опиши черезе ВинАПИ, можт пойму:)
 
Сверху