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

Конструктор - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вывод строк фиксированной длины из входного потока http://www.cyberforum.ru/cpp-beginners/thread22021.html
Задача организовать цикл по входному потоку и вывести полученные getchar'ом символы в виде строк некоторой длины N. Допустим, если длина строки превышает N, тогда печатаем ее с переносом на следующую строку. Пример из книги Кернигана & Ритчи. Написать надо на обычном Си и без использования строковых функций. Как брать символы из вх. потока это все понятно, но не получается именно алгоритм...
C++ Сформировать список, в котором хранится информация о заболеваниях сотрудников Сформировать список, в котором хранится информация о заболеваниях сотрудников: ФИО, год рождения, заболевание, продолжительность болезни. Определить сотрудников, которые перенесли одно и тоже заболевание; заболевания с максимальной продолжительностью болезни; количество больничных каждого сотрудника; количество дней, пропущенных по болезни каждым сотрудником Если можно напишите пожалуйста... http://www.cyberforum.ru/cpp-beginners/thread21976.html
Решение системы уравнений компактным методом исключений C++
На С++ надо решить систему уравнений компактным методом исключений. Элементы матрицы- комплексные числа, введенные в символьной форме. Числа обязательно должны быть представлены структурой. Ввод идет из файла txt потоками данных (ifstream, ofstream). Кто хоть что-нибудь может сказать по этому поводу, откликнитесь пожалуйста!
C++ Необходимо создать функцию для обработки символьных рядов
Потрібно створити функцію для обробки символьних рядків. За зразок брати функцію WordIndex(s,n)(Призначення: визначення позиції початку в рядку s слова з номером n) обробки рядків мови C, але не застосовувати її в своїй функції. Передбачити обробку помилок в параметрів і особливі випадки. Розробити два варіанти заданої функції - використовуючи традиційну обробку масивів і використовуючи адресну...
C++ ввод-вывод текста http://www.cyberforum.ru/cpp-beginners/thread21933.html
как с помощью массива можно вводить и выводить текст в Си, если в тексте есть пробелы?
C++ Заменить в строках первое слово на другое задание такое: задан текст, содержащий произвольное кол-во строк, в которых отдельные слова могут разделяться одним или несколькими пробелами и знаками пунктуации(перенос слов не используется). Сформировать новый текст, который является результатом след. преобразования исходного текста: заменить в строках (содержащих заданное слово) первое слово на другое заданное слово. попыталась написать... подробнее

Показать сообщение отдельно
Ammaximus
3 / 3 / 1
Регистрация: 15.01.2009
Сообщений: 26
08.02.2009, 18:55  [ТС]     Конструктор
Не выходит

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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
#include <iostream.h>
#define standart 13
 
class  vector {
    float *p;
    int number;
    int flag;
 
public:
    vector(){
        p=new float[1];
        p[0]=0;
        number=1;
        flag=0;
    }
 
    vector(int num){
        p=new float[num];
        for (int i=0; i<num; i++) p[i]= static_cast<float>(i);
        number=num;
        flag=0;
    }
 
    vector(int num, float vect){
        p=new float[num];
        for (int i=0; i<num; i++) p[i]=vect;
        number=num;
        flag=0;
    }
    
    ~vector(){
        delete [] p;
    }
    
    vector(const vector &vec)  
    {  
        p = new float[vec.getCount()];  
        for(int i=0;i < vec.getCount();i++) p[i] = vec.get(i);  
  . }  
 
    
    void set(int num, float vect){
        if (number<=num) {
            flag=1;
            return;
        }
        p[num]=vect;
        return;
    }
 
    void set(int num){
        if (number<=num) {
            flag=1;
            return;
        }
        p[num]=standart; // Г‡Г*Г*Г·ГҐГ*ГЁГҐ ГЇГ® óìîë÷Г*Г*ГЁГѕ
        return;
    }
 
    float get(int num){
        if (number<=num) {
            flag=1;
            return 0;
        }
        return p[num];
    }
    int getCount() const  
    {  
        return this->number;  
    }  
      
    
    void print(int num){
        if (number<=num) {
            flag=1;
            return;
        }
        cout << *(p+num);
    };
 
    void print(){
        for (int i=0; i<number; i++) cout << "  " << *(p+i);
        cout << endl;
    }
 
    // ÔóГ*êöèè ðåГ*ëèçîâГ*Г*Г» Гў ñòèëå Г*ññåìáëåðГ*. Ïðè ýòîì ГҐГ±ГІГј âîçìîæГ*îñòü Г°Г*áîòГ*ГІГј ГЄГ*ГЄ Г±Г® ГўГ±ГҐГ¬ âåêòîðîì, ГІГ*ГЄ ГЁ Г± îòäåëüГ*ûìè ýëåìåГ*ГІГ*ìè.
    // ГЊГ*Г±Г±ГЁГўГ» Г°Г*Г§Г*ûõ Г°Г*çìåðîâ ìîãóò ГіГ·Г*ñòâîâГ*ГІГј Гў îïåðГ*öèÿõ, ïðè ýòîì ëèøГ*ГЁГҐ ýëåìåГ*ГІГ» áîëüøåãî Г¬Г*Г±Г±ГЁГўГ* Г*ГҐ ГіГ·Г*Г±ГІГўГіГѕГІ.
 
    void add(vector target_vector, int pos_source, int pos_target){
        if (control(*this, pos_target) && control(target_vector, pos_source))
            this->p[pos_target]+=target_vector.p[pos_source];
        else this-> flag=1;
    };
 
    void sub(vector target_vector, int pos_source, int pos_target){
        if (control(*this, pos_target) && control(target_vector, pos_source))
            this->p[pos_target]-=target_vector.p[pos_source];
        else this-> flag=1;
    };
    void mul(vector target_vector, int pos_source, int pos_target){
        if (control(*this, pos_target) && control(target_vector, pos_source))
            this->p[pos_target]*=target_vector.p[pos_source];
        else this-> flag=1;
    };
 
 
    void add(vector target_vector){
        for (int i=0; i<(this->number>target_vector.number?target_vector.number:this->number); i++){
            this->p[i]+=target_vector.p[i];
        }
    }
    void sub(vector target_vector){
        for (int i=0; i<(this->number>target_vector.number?target_vector.number:this->number); i++){
            this->p[i]-=target_vector.p[i];
        }
    }
    void mul(vector target_vector){
        for (int i=0; i<(this->number>target_vector.number?target_vector.number:this->number); i++){
            this->p[i]*=target_vector.p[i];
        }
    }
 
    //ÂîçâðГ*Г№Г*ГҐГІ 1, åñëè áîëüøå, -1, åñëè ìåГ*ГјГёГҐ ГЁ 0 åñëè Г°Г*ГўГ*Г»
    int diff(vector target_vector, int pos_source, int pos_target){
        if (this->p[pos_target]>target_vector.get(pos_source)) return 1;
        if (this->p[pos_target]<target_vector.get(pos_source)) return -1;
        return 0;
 
    };
 
    int control(vector &chk, int pos){
        if (chk.number>pos) return 1;
        return 0;
    }
 
 
 
};
 
int main(){
    vector a;
    vector b(7);
    vector c(4,8);
    a.print();
    b.print();
    c.print();
    b.add(c,1,1);
    b.print();
    b.sub(c,1,1);
    b.print();
    b.mul(c);
    b.mul(c,1,1);
    b.print();  
    a.print();
    
    return 0;
}
 
Текущее время: 22:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru