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

Удаление начальных и конечных пробелов в строке - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Шифровать методом Магического квадрата (размер квадрата 9х9) С++ http://www.cyberforum.ru/cpp-beginners/thread673762.html
Шифровать методом Магического квадрата (размер квадрата 9х9) С++ Дана таблица 9х9. Надо реализовать программу на С++ шифрующий/дешифрующий вводимый текст методом Магического квадрата. Откликнитесь...:( #include <iostream> #include <conio.h> #include "string.h" using namespace std;
C++ Создание начальных последовательностей методом выбора с замещением Всем привет!!! Помогите кто чем сможет с тем как мне написать эту прогу на данную тему, в инете никакой литературы полезной не нашё?????:( http://www.cyberforum.ru/cpp-beginners/thread673757.html
C++ Сформировать вектор из средних арифметических значений по строкам матрицы
Доброго времени суток, подскажите пожалуйста есть задание: Дана действительная матрица размера m×n. Определить числа b1....bm равные значениям средних арифметических элементов строк. Может кто расписать задачу? Вот что удалось придумать.... #include <stdlib.h> #include <iostream.h> #include <time.h> #include <stdio.h> void main(void)
C++ Анализ топологии сети
нужно написать прогу Анализ топологии сети В текстовом файле задана топология сети в виде рисунка. # – сервер, О – рабочая станция ..................... .O..+--O.....O..O..O. .|..|........|..|..|. .|..|........|..|..|. .+--+.....+--+--+--+. .|........|..........
C++ Решение неравенства http://www.cyberforum.ru/cpp-beginners/thread673749.html
Помогите пожалуйста с задачкой. Мне нужно решить неравенство (a+bx)/(c+dx) > 0, причем a,b,c,d не равны 0. Я сделал решение на бумаге, у меня получилось два промежутка с двумя условиями в каждом: 1) если -a/b < -c/d, то x принадлежит (-c/d;+∞), иначе x принадлежит (-a/b;+∞). 2) если -a/b < -c/d, то x принадлежит (-∞;-a/b), иначе x принадлежит (-∞;-c/d). Я не понимаю, как задать промежуток...
C++ Блок-схема Доброго времени суток нужно в редакторе блок-схем отобрать такое подмножество точек, соединение которых замкнутой ломаной линией образует выпуклый многоугольник, охватывающий все остальные точки. Текст в паскале var i, j, m: integer; begin m:=1; for i:= 2 to n do if a.y < a.y подробнее

Показать сообщение отдельно
zerO2hacK
1 / 1 / 0
Регистрация: 06.03.2012
Сообщений: 72
13.12.2012, 21:41  [ТС]     Удаление начальных и конечных пробелов в строке
вот, все сделал:

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
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
 
bool check()
{
    int a;
    cout << "1й или 2й вариант функции?" << endl;
    cin >> a;
    switch(a)
    {
    case 1:
        return true;
    case 2:
        return false;
    default:
        system("color 0e");
        cout<<"error!"<<endl;
        exit(1);
    }
}
void first()
{
    string str, gap(" ");
    int i,gap_begin=0,gap_end=0;
    cout << "введите строку - ";
    cin.get();
    getline(cin, str);
    cout << "до*_" << str << "_*" << endl;
    for (i=0;i<str.length();i++)    { // удаляем вначале
        if (str[i] != gap[0])
            break;
        if (str[i] == gap[0])
            gap_begin++;
    }
    str.erase(0,gap_begin);
    for (i=str.length()-1;i>-1;i--) { // вконце
        if (str[i] != gap[0])
            break;
        if (str[i] == gap[0])
            gap_end++;
    }
    str.erase( str.length()-gap_end, gap_end);
    //
 
    cout << endl << "после*_" << str << "_*" << endl;
    cout << endl << "нулей вначале - " << gap_begin << endl;
    cout << "нулей вконце - " << gap_end << endl << endl;
}
void second()
{
    string str, gap(" ");
    int i,gap_begin=0,gap_end=0,length_str=0;
    size_t length;
    char buffer[20];
    cout << "введите строку - ";
    cin.get();
    getline(cin, str);
    cout << "до*_" << str << "_*" << endl;
    //
    for (i=0;i<str.length();i++)    { // ищем начало строки
        if (str[i] != gap[0])
            break;
        if (str[i] == gap[0])
            gap_begin++;
    }
    cout << endl << "нулей вначале - " << gap_begin << endl;
    for (i=gap_begin;i<str.length();i++)    {
        if ((i>1) && (str[i]==gap[0]) && (str[i-1]==gap[0]))
            break;
        if (str[i] != gap[0])
            length_str++;
    }
 
    //
    length=str.copy(buffer,length_str,gap_begin);
    buffer[length]=NULL; //'\0'
    cout << endl << "после*_" << buffer << "_*" << endl<<endl;
}
void main()
{
    setlocale(0,"");
    if (check() == true)
        first();
    else
        second();
    system("pause");
}
 
Текущее время: 18:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru