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

Вопрос по строкам (string) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Классы. Наследование http://www.cyberforum.ru/cpp-beginners/thread118309.html
Народ, помогите пожалуйста, я в ступоре, понимаю, что дико торможу сейчас... но все же вопрос допустим есть класс class CWindow { // bla bla bla protected: HWND m_hWnd; };
C++ "Сканирование" текста в файле. Доброго времени суток. Нужно вывести текст в файл,после чего "просканировать " текст на предмет слов yes или no и,если таковые имеются,заменить их на no или yes соответственно. Код,выводящий текст в файл я написал,а вот как сделать поиск - понять не могу (( Если я правильно понял задание - новый текст нужно вывести в другой файл. Помогите,пожалуйста. И еще,у меня почему-то из всего... http://www.cyberforum.ru/cpp-beginners/thread118298.html
Лабораторная по структурам и указателям C++
Доброго времени суток. Скорее моя проблема в чем то простом для Вас(сам я никогда до этого не имел дела с С++ ) . После C# мне не понятно как работать здесь с памятью, знаю только что функция не может вернуть массив, попытался выкрутиться с помощью указателя - ошибка выполнения ... Задача такова - определить структуру для сохранения информации об успеваемости студентов первокурсников в течении...
C++ (Двоич. число, тип) => знач.
Доброго времени суток. Помогите пожалуйста вот с такой задачкой: "По заданным двоичному представлению числа и типу данных (минимум - int, float) вывести значение переменной данного типа" Вот мои наметки. Трудность составила функция, никак не могу правильно написать ее =( #include "stdafx.h" #include <iostream> using namespace std; const int n=32; void print(const unsigned char* data, size_t...
C++ Заменить все последовательности символов 'on' на 'online' http://www.cyberforum.ru/cpp-beginners/thread118267.html
Дана символьная строка. Заменить все последовательности символов 'on' на 'online' и вывести новую строку (если искомой последовательности в строке нет, то вывести соответствующее сообщение). Добавлено через 3 минуты #include <iostream> #include <iomanip> #include <cmath> #include <cstring> using namespace std; void Method(char *mas){
C++ не открывается mdi-окно устал уже биться: mdi-приложение запускается, но не запускается дочернее mdi-окно: меню File=>New. Похоже он создается, но его не видно почему-то. Вот код и код ресурса: #include <windows.h> #include "mditest.h" HWND hWndClient = NULL; HINSTANCE hInst; // current instance подробнее

Показать сообщение отдельно
I_like_C++
28 / 28 / 4
Регистрация: 15.03.2010
Сообщений: 146
Завершенные тесты: 1
17.04.2010, 23:16  [ТС]     Вопрос по строкам (string)
вот полная прога на перегруз функций:
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
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
#include <iostream>
#include <vector>
#include <string>
#include <ctime>
#include <iomanip>
using namespace std;
typedef vector<int> vec;
typedef vector<vec> matrix;
int diff(int a, int b)
{
    return (a-b);
}
vec diff(vector<int>f1, int b)
{
    int n=f1.size();
    for(int i=0; i<n;i++)
    {
        f1[i]-=b;
    }
    return f1;
}
matrix vvod(int n) //Функция для создания матрицы mxn
{
    matrix A;
    vec Matr(n,0);
    for (int i=0; i<n; i++)
    {
        for (int j=0; j<n; j++)    
            Matr[j]=i+j;
        A.push_back(Matr);
    }
return A;
}
matrix znach(int n,int k,int l)//заполение матрицы случайными числами
{
    matrix A = vvod(n);
    n=A.size();
    for (int i=0; i<n; i++)
    {
        n=A[i].size();
        for (int j=0; j<n; j++)
            A[i][j]=rand()%(l-k+1)+k;
    }
return A;
}
matrix klava(int n)//заполнение матрицы с клавиатуры
{
    int k;
    matrix A=vvod(n);
    for (int i=0; i<n; i++)
       {
           for (int j=0; j<n; j++)
           {
               cout<<"Введите элемент ("<<i+1<<";"<<j+1<<")матрицы А: ";cin>>k;
               A[i][j]=k;
           }
       }
    return A;
}
matrix diff(matrix A, matrix B)
{
    int n=A.size();
    matrix C=vvod(n);
    for(int i=0; i<n; i++)
    {
        for(int j=0; j<n;j++)
        {
            C[i][j]=A[i][j]-B[i][j];
        }
    }
    return C;
}
int diff(string s1,string  s2)
{
    int m=s1.size();
    int n=s2.size();
    return (m-n);
}
void diff(const matrix &A)
{
    int m=A.size();
    for(int i=0;i<m;i++)
    {
        int n=A[i].size();
        for(int j=0;j<n;j++)
            cout << A[i][j] << '\t';
        cout << endl;
    }
    cout << endl;
}
int main()
{
    setlocale(0,"Russian");
    srand((unsigned)time(NULL));
    int a,b,q;
    cout<<"Задание:\nС помощью механизма перегрузки функций реализовать функции для \nнахождения разности:\n1-двух чисел (результат – число)";
    cout<<"\n2-двух строк (преобразовать строки в числа, результат – число)";
    cout<<"\n3-вектора и числа (результат – вектор, из каждого элемента которого вычитается\n  заданное число)\n";
    cout<<"4-двух квадратных матриц одинаковой размерности\n";
    cout<<"Введите номер задания: ";cin>>q;
    switch(q)
    {
    case 1:
        {
            cout<<"Введите число(через пробел): ";cin>>a>>b;
            cout<<"Разность двух чисел: "<<diff(a,b)<<endl;
        }break;
    case 2:
        {
            string s1, s2;
            cout<<"Введите первую строку: ";
            getline(cin,s1);
            cout<<endl;
            cout<<"Введите вторую строку: ";
            getline(cin,s2);
            cout<<"Разность двух строк: "<<diff(s1, s2)<<endl;
        }break;
    case 3:
        {
            vec f1;
            int n, x;
            cout<<"Задайте число элементов в векторе: ";cin>>n;
            for(int i=0; i<n; i++)
            {
                cout<<"Введите элемент вектора: ";
                cin>>x;
                f1.push_back(x);
            }
            cout<<"Задайте число: ";
            cin>>b;
            f1=diff(f1,b);
            cout<<"Полученный вектор: \n";
            for(int i=0; i<n; i++)
            {
                cout<<f1[i]<<" ";
            }
            cout<<endl;
        }break;
    case 4:
        {
            matrix A, B,C;
            int y, n,k,l;
            bool v=0;
            cout<<"Введите размерность матриц A и B nXn: ";
            cin>>n;
            cout<<"\nСпособ задания матрицы:\n1-случайно\n2-с клавиатуры\nВвод: ";
            cin>>y;
            while (v==0)
            {
                if ((y==1)||(y==2)) 
                {
                    switch(y)
                    {
                    case 1: 
                        {
                            cout<<"Задайте диапозон случайных чисел [a;b] для матрицы A (через пробел): ";cin>>k>>l;
                            A=znach(n,k, l);//заполение матрицы случайными числами
                            cout<<"Матрица А:\n";
                            diff(A);
                            cout<<"Задайте диапозон случайных чисел [a;b] для матрицы B (через пробел): ";cin>>k>>l;
                            B=znach(n, k, l);//заполение матрицы случайными числами
                            cout<<"Матрица В:\n";
                            diff(B);
                        }break;
                    case 2: 
                        {
                            A=klava(n);//заполнение матрицы с клавиатуры
                            cout<<"Матрица А:\n";
                            diff(A);
                            B=klava(n);//заполнение матрицы с клавиатуры
                            cout<<"Матрица В:\n";
                            diff(B);
                        }break;
                    }
                    cout<<"Разность элементов матриц A и В (A-B)\n";
                    C=diff(A,B);
                    diff(C);
                    v++;
                }
                else
                {
                    cout<<"Введите другой способ заполнения\nВвод: ";
                    cin>>y;
                }
            }
        }break;
    default: cout<<"Нет такого задания!\n";
    }
 
system("pause");
return 0;
}
4) istringstream
5) istream::sync
примеры можете привести, с английским не очень я=((

Добавлено через 2 минуты
все равно только 1 строку могу получить=((
как переделать??
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru