Форум программистов, компьютерный форум CyberForum.ru

Покритикуйте код - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ правильно записать выражения арифметические http://www.cyberforum.ru/cpp-beginners/thread359628.html
суть задания по фортрану и си записать выражения и посчитать их..я записала но результаты выходят разные.. помогите пожалуйста записать правильно задание моя запись на фортран Код:
C++ исправить функцию нахождения гласных букв в массиве Помогите,пожалуйста, исправить функцию, которая суммирует вероятности нахождения букв в строке(строка массив типа char,слова разделены пробелами). Если хотя бы в одном слове нет гласных букв,то вероятность строки считаем 0. Если во всех словах есть гласные буквы,то вероятность равна сумме вероятностей всех букв в строке. вроде просто сделать, но как только не пробовал - не получается. исправить... http://www.cyberforum.ru/cpp-beginners/thread359623.html
C++ Найти все простые числа на отрезке [a,b].
Изучаем C++ месяц. Сейчас сидим на циклах. Условие задачи, собственно, и есть название темы. К сожалению, справиться с ней у меня не получается. Нашел только в гугле программу которая выводит простые числа в интервале от 1 до 100, но там присутствуют операторы, которых мы еще не изучали. Вообщем, буду очень признателен, если кто-нибудь поможет с решением задачи.
ln - ряд Тейлора C++
double ln(double x, double eps) { double T,S; int K; T=x; K=1; S=T; do{ K=K+1; T=-T*x/K; S=S+T;
C++ printf и scanf против cin и cout http://www.cyberforum.ru/cpp-beginners/thread359575.html
Друзья мои,стал учить плюсы и столкнулся с кучей противоречий. То что в С нет cin/cout я знаю. Но вот в С++ возможно использование printf/scanf. Объясните мне разницу этих операторов. Из того,что я находил,говорилось,что cin/cout - сам понимает что и как принимать/выводить и что-то о скорости вывода,но ничего дельного. Объясните пожалуйста на более достойном уровне разницу. Спасибо)
C++ Помогите с макросом нужно написать макрос(если это возможно) сейчас у меня код выглядит так: std::cin<<a<<b<<c; а после обработки должно выглядить так if(read)std::cout<<a<<b<<c; write(a);write(b);write(с); причем букв a b с может быть любое количество(от одного до 5) подробнее

Показать сообщение отдельно
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,512
05.10.2011, 23:55  [ТС]     Покритикуйте код
ForEveR, правда-правда
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
class CStudent
{
public:
    string fname;
    string sname;
    string tname;
    string group;
    int year;
    float average;
 
    CStudent(){};
 
    CStudent(const CStudent& right)
    {
        CStudent(right).swap(*this);
    }
 
    CStudent& operator=(const CStudent &_v)
    {
        if(this != &_v)
         CStudent(_v).swap(*this);
        return *this;
    }
    void swap(CStudent &_v)
    {
        std::swap(fname,_v.fname);
        std::swap(sname,_v.sname);
        std::swap(tname,_v.tname);
        std::swap (group,_v.group);
        std::swap(year,_v.year);
        std::swap(average,_v.average);
    }
 
};
 
 
int main ()
{
    CStudent a;
    string str="this";
    a.fname=str;
    cout<<a.fname;
    cout<<endl;
    CStudent *b=new CStudent(a);
    cout<<b->fname;
}
Компилируется, конструктор копирования работает и всё нормально инициализируется и выводится, хотя мне непонятно почему так как конструкцию типа
C++
1
CStudent(_v).swap(*this);
я не понял, я понял что она работает, но не понял как и зачем дописывается ещё раз CStudent при вызове.

Добавлено через 1 минуту
Хм, перекомпилировал и получил что программа экстренно завершается, странно, а до этого ведь компилировалась, нука ...

Добавлено через 1 минуту
Мда, и впрямь вылет идёт, хотя рекурсии не наблюдается.
 
Текущее время: 17:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru