Вопрос-Ответ (C++)
|
|
Kornival | Дата: Воскресенье, 04 Сентября 2011, 19:10 | Сообщение # 1 |
The Witcher
Сейчас нет на сайте
| Чтобы не создавать отдельную тему на каждый глупый вопрос, предлагаю задавать их здесь.
Saitei: все вопросы по С задаём в теме Вопрос-Ответ (С). Благодарю за внимание!
|
|
| |
gtasa_love | Дата: Воскресенье, 09 Декабря 2012, 07:34 | Сообщение # 741 |
частый гость
Сейчас нет на сайте
| Quote (masb8ly-GC) gtasa_love, читаешь все строки последовательно, посимвольно разбиваешь и проверяешь на наличие символа G, в случае если он имеется, то выводишь строку. спс сам забыл про функцию string.find
|
|
| |
sem6666 | Дата: Воскресенье, 09 Декабря 2012, 13:24 | Сообщение # 742 |
участник
Сейчас нет на сайте
| Помогите хоть чем нибудь с вопросом выше( 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; int n=[0]; m=[0]; for {i=0; i<n; i++) for (j=0; j<m; j++) a[i][j]=(n=m); return 0; } даже так, всё равно ошибки. Хотя бы алгоритм подскажите
|
|
| |
Apati | Дата: Воскресенье, 09 Декабря 2012, 13:53 | Сообщение # 743 |
заслуженный участник
Сейчас нет на сайте
| sem6666, Code #include <iostream>
#define N 4
int main() { int m[N][N]; for (int i=0; i<N; ++i) for (int j=0; j<N; ++j) m[i][j] = i+j; std::cout << "K:" << std::endl; for (int i=0; i<N; ++i) { for (int j=0; j<N; ++j) { while( m[i][j] - m[j][i] ) { j=N; break; } while(j == N-1) { std::cout << i << std::endl; break; } } } std::cout << "Average:" << std::endl; for (int i=0; i<N; ++i) { while(i%2) { int ave = 0; for (int j=0; j<N; ++j) { ave += m[i][j]; } std::cout << i << ": " << (float)ave/(float)N << std::endl; break; } } return 0; }
|
|
| |
sem6666 | Дата: Воскресенье, 09 Декабря 2012, 14:52 | Сообщение # 744 |
участник
Сейчас нет на сайте
| Apati, спасибо. Попробую переделать, до завтра время есть ещё. вся проблема в том, что нельзя подключать #include <iostream>, только #include <stdio.h>
|
|
| |
gtasa_love | Дата: Воскресенье, 09 Декабря 2012, 16:38 | Сообщение # 745 |
частый гость
Сейчас нет на сайте
| Quote (sem6666) опробую переделать, до завтра время есть ещё. вся проблема в том, что нельзя подключать #include <iostream>, только #include <stdio.h> попробуй iostream.h
|
|
| |
Levrite | Дата: Воскресенье, 09 Декабря 2012, 16:56 | Сообщение # 746 |
участник
Сейчас нет на сайте
| sem6666, ну что теперь не жить? Переделай cout на print'ы и юзай своё stdio.h
|
|
| |
sem6666 | Дата: Воскресенье, 09 Декабря 2012, 17:50 | Сообщение # 747 |
участник
Сейчас нет на сайте
| Levrite, простая переделка под printf не помогает:( Code #include "stdafx.h" #include <stdio.h>
#define N 4
int main() { int m[N][N]; for (int i=0; i<N; ++i) for (int j=0; j<N; ++j) m[i][j] = i+j; std::printf("K:") std::endl; for (int i=0; i<N; ++i) { for (int j=0; j<N; ++j) { while( m[i][j] - m[j][i] ) { j=N; break; } while(j == N-1) { std::printf(i) std::endl; break; } } } std::printf("Average:") std::endl; for (int i=0; i<N; ++i) { while(i%2) { int ave = 0; for (int j=0; j<N; ++j) { ave += m[i][j]; } std::printf(i ": ") (float)ave/(float)N << std::endl; break; } } return 0; } Результат 18 ошибок. Вот это надо ещё на что то заменить std.
Сообщение отредактировал sem6666 - Воскресенье, 09 Декабря 2012, 18:02 |
|
| |
Saitei | Дата: Воскресенье, 09 Декабря 2012, 17:59 | Сообщение # 748 |
старожил
Сейчас нет на сайте
| здравствуйте! Я использую для ввода значений переменным cin. Часто так бывает, что пользователь вводит некорректные данные с точки зрения компьютера. Например в int a кто-то пытается запихнуть "пвып" или "2,2". Скажите пожалуйста, как "ограничить" и "наладить" всё это дело? Не думаю, что всё очень сложно, но для меня это будет очень полезно. Заранее спасибо - жду с нетерпением!
|
|
| |
RUNGOGET2THECHOPAH | Дата: Воскресенье, 09 Декабря 2012, 19:22 | Сообщение # 749 |
участник
Сейчас нет на сайте
| Saitei, можно считывать то, что ввел пользователь, как строку. А после этого посимвольно проверять, нет ли в ней запрещенных символов (в твоем примере - это все символы, кроме цифровых). Code #include <stdio.h> #include <iostream>
using namespace std;
bool ReadInt(int* n) { char buf[256]; cin>>buf; for (unsigned int i = 0; i < strlen(buf); i++) { if (buf[i]!='0'&&buf[i]!='1'&&buf[i]!='2'&&buf[i]!='3'&&buf[i]!='4'&&buf[i]!='5'&&buf[i]!='6'&&buf[i]!='7'&&buf[i]!='8'&&buf[i]!='9') { return false; } } (*n) = atoi(buf); return true; }
int main() { int num = 0;
if (ReadInt(&num)) cout<<"You entered: "<<num<<endl; else cout<<"Error!"<<endl;
return 0; }
|
|
| |
goldsphere | Дата: Понедельник, 10 Декабря 2012, 08:42 | Сообщение # 750 |
заслуженный участник
Сейчас нет на сайте
| sem6666, Эм, сударь, вы скрестили Си и Си++ грязнейшим образом std::printf("K:") std::endl;
std - это пространство имён Си++, в Си вроде как даже не было понятия такого, endl - объект Си++ он находится там же где и cout, в iostream.
printf("K: \n");
насчёт /n не уверен есть ли оно в Си
FinderX - Android Аркада
|
|
| |
sem6666 | Дата: Понедельник, 10 Декабря 2012, 14:37 | Сообщение # 751 |
участник
Сейчас нет на сайте
| Честно, в си не разбираюсь. Мне нужно только для зачёта:(чуть выше дали пример, но как переделать, не знаю. У меня инфрматика не основной предмет, а сдать всё равно надо. И вот #include <iostream> подключать нельзя, #include <stdio.h> только это. И это и вызывает затруднение std, endl, cout - как правильно их перевести.
|
|
| |
goldsphere | Дата: Понедельник, 10 Декабря 2012, 15:20 | Сообщение # 752 |
заслуженный участник
Сейчас нет на сайте
| std::cout<<"text or var"; или cout = printf("text or var"); std::cout<<"text or var"; std::endl или endl = printf("text or var \n");
FinderX - Android Аркада
|
|
| |
Levrite | Дата: Понедельник, 10 Декабря 2012, 16:15 | Сообщение # 753 |
участник
Сейчас нет на сайте
| goldsphere, cout и cin это операторы из библиотеки iostream на сколько мне известно. sem6666, читай синтаксис по print\f.
|
|
| |
Aed_Mindgart | Дата: Понедельник, 10 Декабря 2012, 22:46 | Сообщение # 754 |
участник
Сейчас нет на сайте
| Помогите решить проблему. Она касается скорее не самого языка; есть такой код Code #include "TitleScene.h" using namespace cocos2d;
TitleScene::~TitleScene() { } TitleScene::TitleScene(){ } и есть такая ошибка :D Code ------ Построение начато: проект: cute_w_vc10, Конфигурация: X86 Debug Win32 ------ 1> TitleScene.cpp 1>d:\help\bb\cppsht\cutew\cute_w\classes\titlescene.cpp(2): error C2143: синтаксическая ошибка: отсутствие ";" перед "using"
И так почти во всех файлах. Часть кода я копипастил построчно, сами файлы создавал вручную в блокноте. Может быть ошибка кодирования? visual studio 2010
|
|
| |
Saitei | Дата: Вторник, 11 Декабря 2012, 00:01 | Сообщение # 755 |
старожил
Сейчас нет на сайте
| Quote (Aed_Mindgart) using namespace cocos2d; <cocos2d.h>Добавлено (11.12.2012, 00:01) ---------------------------------------------
Quote (Saitei) <cocos2d.h> p.s. его подключал?
|
|
| |
Aed_Mindgart | Дата: Вторник, 11 Декабря 2012, 00:11 | Сообщение # 756 |
участник
Сейчас нет на сайте
| Quote (Saitei) p.s. его подключал? в header-файле. Буду строить проект заново, надеюсь не повторится. Если бы просто кокос, так надо поверх мармелада ставить D:
|
|
| |
ad141 | Дата: Пятница, 14 Декабря 2012, 16:15 | Сообщение # 757 |
почетный гость
Сейчас нет на сайте
| Как сделать в начале код так чтобы например:
если Unix то #include <GL/freeglut.h> если Win32 то #include <GL\freeglut.h>
Извиняюсь... Оказывается всё работает... Но всё ровно научите работать с #if #end if
Баблосы здесь... Зарегестрируйся и начни получать деньги... Платят мало, но стабильно, а самое главное платят! а не обещают...
Сообщение отредактировал ad141 - Пятница, 14 Декабря 2012, 16:19 |
|
| |
Aed_Mindgart | Дата: Пятница, 14 Декабря 2012, 16:43 | Сообщение # 758 |
участник
Сейчас нет на сайте
| Code #ifdef __unix #include <GL/freeglut.h>
#elif _WIN32 #include <GL\freeglut.h>
#endif
Макрос может отличаться в зависимости от компилятора.
|
|
| |
ad141 | Дата: Суббота, 15 Декабря 2012, 14:50 | Сообщение # 759 |
почетный гость
Сейчас нет на сайте
| Как вращать куб по двум осям?
X и Z оси...
К примеру с помощью клавиш стрелок...
Как бы куб перекатывается... Как реализовать? Получается только независимое вращение по одной оси...
Баблосы здесь... Зарегестрируйся и начни получать деньги... Платят мало, но стабильно, а самое главное платят! а не обещают...
|
|
| |
goldsphere | Дата: Суббота, 15 Декабря 2012, 15:51 | Сообщение # 760 |
заслуженный участник
Сейчас нет на сайте
| glRotatef(angel, x, y, z); Выбираешь оси которые нужные и ставишь туда 1, пример glRotatef(30, 1, 1, 0);
Добавлено (15.12.2012, 15:50) --------------------------------------------- Сори не так вопрос прочёл; void Timer(int value) { glColor3f(1.0, 1.0, 1.0); glutPostRedisplay(); glutTimerFunc(50, Timer, 0); }
void Keyboard(unsigned char key) { switch(key) { case GLUT_KEY_LEFT: angle++; break; case GLUT_KEY_RIGHT: angle--; break; } }Добавлено (15.12.2012, 15:51) --------------------------------------------- Вообще давно OpenGL не занимался могу быть не прав
FinderX - Android Аркада
Сообщение отредактировал goldsphere - Суббота, 15 Декабря 2012, 15:51 |
|
| |