Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 29.05.2012
Сообщений: 4

работа со строками, ошибка в коде

24.09.2013, 19:07. Показов 615. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
#include <iostream>
#include <cstring>
using namespace std;
class str{
    char *a;
    int n;
public:
    str();
    str(int k);
    str(const str &z);
    ~str();
    str operator =(const str &p);
    str operator +(str z);
    void in();
    void out();
    void del(int k);
    int sr(str z);
};
str str:: operator=(const str &p){
    if(this!=&p){
        delete[]a;
        n=p.n;
    a=new char[p.n];
    for(int i=0;i<p.n;++i)
        a[i]=p.a[i];
    }
    return *this;
}
str::str(int k){
    n=k;
a=new char[n];
for(int i=0;i<n;++i)
    a[i]=1;
}
str::str(const str &z){
    n=z.n;
    a=new char[n];
    for(int i=0; i<n;++i)
        a[i]=z.a[i];
}
str::~str(){
    for(int i=0;i<n;++i){
        a[i]=0;
    }
    delete[]a;
    a=0;
    n=0;
}
void str::in(){
    char str[512];
    cin.getline(str,512);
    delete [] a;
    n=strlen(str);
    a=new char[n];
    memcpy(a,str,n);
    
}
void str::out(){
    int i,j;
    for(i=0;a[i]!=1;++i){}
    for(j=0;j<i;++j)
        cout<<a[j];
}
 void str::del(int k){
    int i=k-1;
    for(i;i<n-1;++i)
        a[i]=a[i+1];
 }
 str str::operator + ( str z){
    str c(n+z.n);
    int i,j,q;
    for(i=0;a[i]!=1;++i);
    for(j=0;z.a[j]!=1;++j);
    for(q=0;q<i;++q){
        c.a[q]=a[q];
    }
    for(q=0,i;q<j;++q,++i){
        c.a[i]=z.a[q];
    }
    
    return c;}
 
 int str::sr(str z){
     return strcmp(a,z.a);
 }
 void main(){
     str x, b;
     int k, p;
     b.in();
     x=b+b;
     b.out();
     cout<<endl;
     x.out();
     cout<<endl;
     cout<<"nomer- ";
     cin>>k;
     b.del(k);
     b.out();
     cout<<endl;
     p=b.sr(x);
     if(p)
         cout<<"false"<<endl;
     else
         cout<<"true"<<endl;
     system("pause");
 }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.09.2013, 19:07
Ответы с готовыми решениями:

Ошибка в коде со строками
#include &lt;iostream.h&gt; #include &lt;istream.h&gt; #include &lt;string.h&gt; /////////////////////////////////////// const int MAX=255; ...

Все та же работа со строками (ошибка)
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; using namespace std; int Proc(char *main) { ...

Работа со строками, вылетает ошибка
Здравствуйте товарищи! В общем задание такого, посчитать слова в строке, у которых первая и последняя буква одинаковы (Привер: faaaaf) ...

6
544 / 93 / 49
Регистрация: 16.12.2011
Сообщений: 317
24.09.2013, 20:04
А что вы пытаетесь сделать в этой строчке?
C++
1
str x, b;
Чтобы обращаться к методам этих объектов нужно выделить под них память в Вашем случае.

C++
1
2
str *x = new str();
str *b = new str();
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
24.09.2013, 21:00
Цитата Сообщение от MCKLAS Посмотреть сообщение
Чтобы обращаться к методам этих объектов нужно выделить под них память в Вашем случае.
Необязательно. В данном случае, объекты создаются на стеке.
0
544 / 93 / 49
Регистрация: 16.12.2011
Сообщений: 317
24.09.2013, 23:43
alsav22, они не создаются, потому что код не компилируется..
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
25.09.2013, 01:02
Цитата Сообщение от MCKLAS Посмотреть сообщение
alsav22, они не создаются, потому что код не компилируется..
И что? Какое это имеет отношение к способам созданий объектов? Компилируется, не компилируется (чтобы этот код компилировался, достаточно определить конструктор по умолчанию) - это один вопрос, а как можно создавать объекты класса - это другой вопрос. Вот об этом я и написал.
0
544 / 93 / 49
Регистрация: 16.12.2011
Сообщений: 317
25.09.2013, 01:23
alsav22, Вы пишите, "в данном случае" , в данном случае код не компилируется. Не знаю, чем Ваш пост может помочь ТС.
0
25.09.2013, 01:30

Не по теме:

Цитата Сообщение от MCKLAS Посмотреть сообщение
Не знаю, чем Ваш пост может помочь ТС.
Я не ТС написал, а вам.
Цитата Сообщение от MCKLAS Посмотреть сообщение
А что вы пытаетесь сделать в этой строчке?
В этой строчке создаются два объекта класса str.
Цитата Сообщение от MCKLAS Посмотреть сообщение
Чтобы обращаться к методам этих объектов нужно выделить под них память в Вашем случае.
Это про что, вообще? Чушь не пишие. Память под объекты x и b выделена.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.09.2013, 01:30
Помогаю со студенческими работами здесь

Ошибка в коде (работа с массивами)
помогите исправить ошибку в коде немогу понять в чем проблема #include &lt;iostream&gt; #include &lt;string&gt; #include...

Работа со структурой. Ошибка в коде
Задача: Отсортировать студентов по оценке по первому предмету. Вывести на экран фамилии и даты рождения студентов, не получивших за все...

Работа со строками. Функции работы со строками
Дана строка символов. В заданном тексте определить позицию первой точки ‘ . ‘.

Бинарное дерево и работа с текстами. В коде возникает ошибка с работой памяти
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;map&gt; #include &lt;string&gt; int main() { setlocale(LC_ALL, &quot;Russian&quot;); ...

работа со строками, ошибка
2.Строка содержит английский текст. Подсчитать количество слов, начинающихся на заданную букву Ошибку выдает в условии import...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru