С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Класс строки (удаление из строки слова с заданным номером и символа с заданным номером) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Расставить n ладей на шахматной доске n*n http://www.cyberforum.ru/cpp-beginners/thread853468.html
Вообщем нужно расставить n ладей на шахматной доске n*n Вот то что у меня получилось: #pragma argsused #include<iostream.h> int main(int argc, char* argv) {int const n=3; int A, i, j, z=0;...
C++ Массив: Поменять местами первую строку с последней, вторую строку с предпоследней и т.д. Дан квадратный массив порядка 2n(т.е. четный). Поменять местами первую строку с последней, вторую строку с предпоследней и т.д. http://www.cyberforum.ru/cpp-beginners/thread853458.html
Перевод из инфиксной формы в постфиксную и вычисление выражения C++
Помогите пожалуйста, выдает ошибки в 46 и 52 строках. не пойму в чем дело. и извините за наглость, но эта программа она только переводит из инфиксной формы в постфиксную, а как сделать чтобы она...
разработать не рекурсивную функцию,возвращающее значение: C++
для вычисления количества цифр в строке;с помощью данной функции определить,в каком из двух предложений цифр больше
C++ для задачи нужно использовать,структуру содержащую члены-данные и члены-функции http://www.cyberforum.ru/cpp-beginners/thread853426.html
на основе данных входного файла составить инвентарную ведомость игрушек,включив следующие данные:название игрушки,её стоимость (в руб.) возрастные границы детей ,для которых предназначена игрушка....
C++ Поменять местами значения целых переменных A и B Поменять местами значения целых переменных. А и B, не используя дополнительные переменные. подробнее

Показать сообщение отдельно
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
04.05.2013, 19:46
Myptuk,

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#pragma once
 
class Stroka
{
    //приватные поля класса
    public:
        char *str;              //наша строка
 
    public:
        Stroka(void);           //конструктор по умолчанию
        ~Stroka(void);          //деструктор
 
        void Input(void);           //метод ввода строки
        char *Print(void);          //метод вывода строки
        char *del_symbol(int);      //метод удаления заданного символа
        char *del_word(int);        //метод удаления заданного слова
};
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
#include "StdAfx.h"
#include "Stroka.h"
#include "iostream"
#include <conio.h>
#include <stdio.h>
#include <ctype.h>
using namespace std;
 
Stroka::Stroka(void)        //конструктор по умолчанию
{
    str = NULL;         //строка пустая
}
 
Stroka::~Stroka(void)       //деструктор
{ 
    delete[]str;            //освобождаем выделенную память
}
 
void Stroka::Input(void)        //метод ввода строки
{
    str = new char[100];        //выделяем память
 
    cout << "Введите строку: ";
        cin.getline(str, 100);      //вводим строку но не более 100 символов
}
 
char *Stroka::Print(void)
{
    return str;
}
 
char *Stroka::del_symbol(int number)        //процедура удаления символа
{
    int size = strlen(str);                 //размер строки
    char *_str = new char[size];            //выделяем память
 
    for(unsigned i = 0, k = 0; i < strlen(_str); ++i)
        //копируем в новую строку все символы кроме указанного
        if(i != number){
             _str[k] = str[i];
            ++k;
        }
 
    return _str;                        //возвращаем новую строку
}
 
char *Stroka::del_word(int number)      //процедура удаления слова
{
    int size = strlen(str);             //размер строки
    char *_str = new char[size];            //выделяем память
    int count = 1;                      //счетчик слов
 
    char *token = strtok (str, "!;:,.?- ");     //возможные разделители слов
 
    _str[0] = '\0';
    while(token != NULL)
    {   
        if(count != number)         //копируем в новую строку все слова
        {                           //кроме указанного
            strcat(_str, token); 
            strcat(_str, " "); 
        }
 
        token = strtok(NULL,"`!;:,.?- ");
        ++count;
    }
 
    return _str;                    //возвращаем новую строку
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "stdafx.h"
#include "Stroka.h"
#include "IOstream"
#include <Windows.h>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    //для отображения кириллицы в консоли
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    Stroka s1;          //создаем объект класса
    s1.Input();         //вводим строку
 
    cout << s1.del_symbol(3) << endl;       //удаляем 3 символ в строке
    cout << s1.del_word(3) << endl;         //удаляем 3 слово в строке
    cout << s1.Print() << endl;             //выводим исходную строку
 
    cout << endl;
    return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.