Я начинающий, подскажите как...(Все вопросы начинающих - постить только здесь!!!)
хм.. я пишу в студии (MS Visual Studio 2005), можно в блокноте, а потом собирать их, скажем, gss... кому как больше нравится =)
удобнее, конечно, писать в каких-то пакетах. самый удачный, на мой взгляд, это Borland Builder. но он не подходит для программирования на C#. но, с другой стороны, нужна лицензия и для написания официального софта (на продажу итп) не подходит сломанная версия.
удобнее, конечно, писать в каких-то пакетах. самый удачный, на мой взгляд, это Borland Builder. но он не подходит для программирования на C#. но, с другой стороны, нужна лицензия и для написания официального софта (на продажу итп) не подходит сломанная версия.
ну, попробуй в gss чтонибудь собрать... удачи :)
народ, если вы пишете, то пишите ясно и понятно, без ошибок в названиях продуктов или, как в данном случае, компилятора =)
без всяких слов типа "режу отдубпялюсь" (2 minicooper82) и тд. тогда и мнение о вас будет соответствующее, и отношение к вашим постам.
начать лучше всего с бумажной книжки, типа освой (C++,Delphi,ASM) за 21 день.
да.. согласен ghost script-ом ничего не собрать :)
прошу прощения, имелся ввиду gcc :)
помогите, я в С++ новичок. Решаю задачу "нахождение суммы четных чисел в массиве".
Вот моё решение
#include <iostream.h>
main ()
{
int k,a[6],s;
double b;
s=0;
for (k=0;k<6;k++)
cin>>a[k];
b=a[6]%2;
if (b==0)
{
for (k=0;k<6;k++)
s+=a[k];}
cout<<s;
}
------------------
Результат = 0 Как мне исправить программу чтобы давала верный результат?
Правильно ли я поставил условие через "%"? Что в начале числа проверяются делением на 2 и если остаток равен нулю, то число четное.
-----------------
Также просьба обьяснить решение нахождения простых чисел. Есть уже готовая программа:
#include <iostream.h>
main ()
{
int t,s,i,k;
for (k=1; k<=50; k++)
{
s=0;
for (i=1; i<=k; i++)
{
t=k/i;
if (k==t*i) s++;
}
if (s<3) cout<<k;
}
}
Но я не могу разобраться как она работает. Можно ли представить её в виде нахождения просто "нечетных чисел" (ведь в "простых числах" - там только их них идёт последовательность")?
main ()
{
int s=0;
for(int k=0; k<6; k++)
{
int a;
cin >> a;
if(a % 2 == 0)
s += a;
}
cout<<s;
}
http://www.sgi.com/tech/stl/stl_index_cat.html как по мне наиболее удобное руководство, но на англ
char str[]="p1,p2, p3 , p4;"
подскажите, плз, как проще всего ее распознать, что бы получить в итоге четыре строки
str1 = "p1"
str2 = "p2"
str3 = "p3"
str4 = "p4"
пробовал
sscanf(str,"%s,%s,%s,%s;",&str1 ,&str2 ,&str3 ,&str4);
но str1 получалось "p1,p2,". Т.е. читает до пробела :(
работы)
вот например:
#include <fstream.h>
int main()
{
const int len=80;
char word[len], line[len];
cout<<"Vvedite slovo dla poiska "; cin>>word;
ifstream fin("text.txt", ios::in | ios::nocreate);
if(!fin) {cout<<"ERROR open file"<<endl; return 1;}
getch();
return 0;
}
выдаёт: ... `nocreate' is not a member of `std::ios'
компилирую на DEV-C++
:(
работы)
вот например:
#include <fstream.h>
int main()
{
const int len=80;
char word[len], line[len];
cout<<"Vvedite slovo dla poiska "; cin>>word;
ifstream fin("text.txt", ios::in | ios::nocreate);
if(!fin) {cout<<"ERROR open file"<<endl; return 1;}
getch();
return 0;
}
выдаёт: ... `nocreate' is not a member of `std::ios'
компилирую на DEV-C++
:(
FILE* f = fopen("fileName", "w");
// use file
fclose(f);
#include <fstream.h>
int main()
{
const int len=80;
char word[len], line[len];
cout<<"Vvedite slovo dla poiska "; cin>>word;
ifstream fin("text.txt", ios::in | ios::nocreate);
if(!fin) {cout<<"ERROR open file"<<endl; return 1;}
getch();
return 0;
}
выдаёт: ... `nocreate' is not a member of `std::ios'
компилирую на DEV-C++
:(
class ios_base {
...
enum open_mode {
app = 0x01,
binary = 0x02,
in = 0x04,
out = 0x08,
trunc = 0x10,
ate = 0x20
};
...
}
openmode
The type openmode is a bitmask type. Setting its elements has the following effects:
app Seeks to the end before writing.
ate Opens and seeks to the end immediately after opening.
binary Performs input and output in binary mode.
in Opens for input.
out Opens for output.
trunc Truncates an existing stream when opening.
RTFM. `nocreate' is not a member of `std::ios'
работы)
вот например:
#include <fstream.h>
int main()
{
const int len=80;
char word[len], line[len];
cout<<"Vvedite slovo dla poiska "; cin>>word;
ifstream fin("text.txt", ios::in | ios::nocreate);
if(!fin) {cout<<"ERROR open file"<<endl; return 1;}
getch();
return 0;
}
выдаёт: ... `nocreate' is not a member of `std::ios'
компилирую на DEV-C++
:(
Поиск по форуму почему не используем?
Если нужно писать в файл:
if(!fout) {cout<<"ERROR open file"<<endl; return 1;}
fout.write(line,len);
return 0;
или
if(!fout) {cout<<"ERROR open file"<<endl; return 1;}
fout << line<<endl;
return 0;
или
if(!fout) {cout<<"ERROR open file"<<endl; return 1;}
fout << line<<endl;
return 0;
По nocreate
здесь
2oxotnik333
За ответы не по теме буду выдавать нарушения. Уже предупреждал ведь.
public:
Object()
{
/*посылаем сообщение о добавлении себя в список объектов*/
SendMessage(MSG_CORE_BORN,0,0,this);
}
virtual ~Object()
{
/*посылаем сообщение об удалении себя из списка*/
SendMessage(MSG_CORE_KILL,0,0,this);
}
void SendMessage(int _code,char _x,char _y,void *_ext)
{
/*Отправляем сообщение через сервер app*/
if(app) {
Message *msg=new Message(_code,_x,_y,_ext);
app->HandleMessage(msg);
}
}
virtual int GetMessage(Message *msg) {return 0;} /*обрабатываем сообщение*/
Object*& GetNext() {return next;}
Object*& GetPrev() {return prev;}
private:
Object *prev,*next;
};
структура сообщений Message:
Message(int _code,int _x,int _y,void *_ext):code(_code),x(_x),y(_y),ext(_ext) {}
~Message() {}
int code;
int x,y;
void *ext;
};
и класс приложения App который также занимается обработкой и, если надо, дальнейшей рассылкой сообщений:
public:
App();
~App();
int IsRun();
void Loop();
int HandleMessage(Message *msg) /*обработка сообщений*/
{
switch(msg->code) {
case MSG_CORE_NULL:
break;
case MSG_CORE_BORN:
AddToList((Object*)msg->ext);
break;
case MSG_CORE_KILL:
DelFromList((Object*)msg->ext);
break;
case MSG_CORE_ERROR:
ferr.open("debug.log",ios::app);
ferr << "Error:" << (char*)msg->ext << endl;
ferr.close();
if(msg->x)
run=0;
break;
default:
delete msg;
return 1;
}
delete msg;
return 0;
}
private:
void AddToList(Object *obj); /*добавление в двусвязный список в начало*/
void DelFromList(Object *obj); /*удаление из списка*/
int run;
Object *first,*last;
ofstream ferr;
};
В качестве объектов используются совершенно различные объекты: графика, элементы двухмерной матрицы поля, расположенные на поле предметы. Как передать сообщение нужному объекту, если не известны ни его номер в списке, ни адрес в памяти? Может не хватает чего?
#include<iostream.h>
main ()
{
int a[5][4],i,k,s,p;
s=0;
p=1;
for (i=0;i<5;i++)
{
for (k=0;k<4;k++)
{
p*=a[5][4];
}
s+=p;
}
cout<<s;
}
---------------------
Также не компилируется следующая программа с функцией:
#include<iostream.h>
int fun(int k);
{
int i,p; p=1;
for (i=1;i<=k;i++)
p*=i;
return p;
}
main ()
{
int n,m,s;
cin>>n>>m;
s=(fun(n)/fun(m))*(fun(n-m));
cout<<s;
}
Выдаёт ошибку "Declaration terminated incorrectly"
int fun(int k);
{
int i,p; p=1;
for (i=1;i<=k;i++)
p*=i;
return p;
}
ты уж разберись, ты функцию описываешь или объявляешь;) как я понял, ты её опиысваешь, тк что точку с запятой в строке
int fun(int k);
надо убрать
По С++ вопрос:
Надо преобразовать строку в число. Пишу:
string s1;
int k
k = atoi(&s1);
Компилятор выдает ворнинг, но компилирует. В k ничего не возвращается. Что я делаю не правильно, и как правильно? :)
Заранее благодарен.
По С++ вопрос:
Надо преобразовать строку в число. Пишу:
string s1;
int k
k = atoi(&s1);
Компилятор выдает ворнинг, но компилирует. В k ничего не возвращается. Что я делаю не правильно, и как правильно? :)
Заранее благодарен.
во-первых - функция atoi в качестве параметра принимает указатель на массив символов(С-строку, с нулевым символом в конце NB!), string требует преобразования - это метод c_str.
Во вторых - если строка пустая - то и чему удивляться что ничего не возвращает?
надеюсь я в теме со своим вопросом: уважаемые граждане - не подскажите страничку с информацией по этой теме
заранее благодарю
У меня такои вопрос, например есть сервер а к нему подключится клиент, как узнат IP адрес того клиента.Программу пишу на C.
Спасибо за внимание.
если честно - она выглядит как обычный ехе-файл.
З.Ы. Поиск на форуме еще никто не отменял. За подобную формулировку вопроса впредь буду выдавать нарушение.
У меня такои вопрос, например есть сервер а к нему подключится клиент, как узнат IP адрес того клиента.Программу пишу на C.
Спасибо за внимание.
getpeername
надеюсь я в теме со своим вопросом: уважаемые граждане - не подскажите страничку с информацией по этой теме
заранее благодарю
поиском в интернете умеют пользоваться только уважаемые форумчане? Для все остальных это не доступно?
http://www.objectmentor.com/resources/articles/lsp.pdf
или первая же ссылка в гугле
http://rsdn.ru/forum/message/2282886.flat.aspx#2282886
#include <conio.h>
#include <iostream.h>
#pragma hdrstop
int main()
{
randomize();
int N;
int num=200;
cout << "1 - HIT \n2 - DEF\nENTER NUMBER: ";
cin >> N;
if(N==1){
cout << "\nHIT";
}
if(N==2){
cout << "\nDEF";
}
if(random(num)<=100){
cout << "\nRAND - HIT";
}
if(random(num)>=101){
cout << "\nRAND - DEF";
}
getch();
}
Иногда выдаёт примерно через 2-3 запуска выдаёт сразу две строки.Некоректный ответ выглядит так.
RAND - HIT
RAND - DEF
Хотя всегда по идее должен выдавать только одну строку одного ответа.Непонимаю из за чего.
С Уважением!
cout << "\nRAND - HIT";
}
else{
cout << "\nRAND - DEF";
}
в теле условия if какждый раз заново вызывается ф-я random(int)
Можно.
Подобное поведение расценивается как хамство.
За это данный пользователь получает понижение репутации и бессрочное нарушение в 5 баллов. Если вы обращаетесь на форум с просьбой о помощи - то будьте добры - оказывайте помощь другим, таким же как вы.
Вот пространства имен:
System.Web.Service
System.Web.Service.Description
System.Web.Service.Directory
System.Web.Service.Protocols
:)