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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
AugenLos
0 / 0 / 0
Регистрация: 07.11.2015
Сообщений: 19
#1

Работа со строками - C++

05.12.2015, 12:10. Просмотров 182. Ответов 15
Метки нет (Все метки)

C++
1
char* stringRes=new char[length];
Почему эта строка работает правильно и не выдает ошибки, хотя переменная length не константа? Почему тут не как с массивами, где только константы? Или это из-за оператора new?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.12.2015, 12:10     Работа со строками
Посмотрите здесь:

Работа с строками - C++
И так дано StrCChar (s, c1, s2, n) надо заменить все символы c1 в строке s, начиная с позиции n, на строку s2. Надо на с++ и желательно...

Работа со строками - C++
Вставить после вхождения строки str подстроку str1. Попытался сам сделать, но дальше этого работа не идёт. Нужна помощь. #include...

Работа со строками - C++
Не могу написать правильно работающую программу для условия: Написать программу, которая к каждому слову в тексте добавляет сочетание...

Работа со строками - C++
Имеется задачка (олимпиадная, но олимпиада уже прошла): Новый кодовый замок для владельцев нетбуков представляет головоломку не только...

Работа со строками - C++
Дан набор слов, разделенных точкой с запятой ";". Набор заканчивается двоеточием ":". Определить, сколько в нем слов, заканчивающихся...

Работа со строками в С++ - C++
Здравствуйте, вы бы не могли мне помочь решить такую задачу: Дана строка, представляющая предложение. Слова в предложении состоят из ...

Работа с строками - C++
Здравствуйте! Есть строка (предложение) надо убрать все пробелы, в т. ч. в начали конце и получить количество слов в этом предложении. ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
GbaLog-
Любитель чаепитий
2619 / 1158 / 284
Регистрация: 24.08.2014
Сообщений: 4,220
Записей в блоге: 1
Завершенные тесты: 2
05.12.2015, 12:22     Работа со строками #2
AugenLos, Я открою вам тайну.
C++
1
2
3
int n; // ne const
cin >> n;
int arr[n];
Вот такая запись уместна.
Dastan4ik
61 / 61 / 31
Регистрация: 18.10.2014
Сообщений: 186
Завершенные тесты: 2
05.12.2015, 12:26     Работа со строками #3
Чтоооо?
Dimension
Dimension
556 / 437 / 135
Регистрация: 08.04.2014
Сообщений: 1,709
Завершенные тесты: 1
05.12.2015, 12:32     Работа со строками #4
Цитата Сообщение от makfak Посмотреть сообщение
Вот такая запись уместна.
смотря какой компилятор
-L
15 / 9 / 10
Регистрация: 03.12.2015
Сообщений: 79
05.12.2015, 12:33     Работа со строками #5
Надо Страуструпу написать про этот "баг"...

AugenLos, почитайте про динамические и статические массивы и в чём между ними отличие
Миниатюры
Работа со строками  
GbaLog-
Любитель чаепитий
2619 / 1158 / 284
Регистрация: 24.08.2014
Сообщений: 4,220
Записей в блоге: 1
Завершенные тесты: 2
05.12.2015, 12:34     Работа со строками #6
Dimension, Сужу по Dev-C++, C::B, QtCreator'y.
-L
15 / 9 / 10
Регистрация: 03.12.2015
Сообщений: 79
05.12.2015, 12:36     Работа со строками #7
makfak, это где такое компилится?

вопрос снят
AugenLos
0 / 0 / 0
Регистрация: 07.11.2015
Сообщений: 19
05.12.2015, 12:37  [ТС]     Работа со строками #8
makfak, такое у меня не работает
GbaLog-
Любитель чаепитий
2619 / 1158 / 284
Регистрация: 24.08.2014
Сообщений: 4,220
Записей в блоге: 1
Завершенные тесты: 2
05.12.2015, 12:37     Работа со строками #9
-L, Я же написал, выше читайте.
AugenLos
0 / 0 / 0
Регистрация: 07.11.2015
Сообщений: 19
05.12.2015, 12:39  [ТС]     Работа со строками #10
-L, Я и не говорю, что это баг. Просто задали вопрос почему такая строка вообще запускается, а не выдает ошибку. Работает и работает

Добавлено через 1 минуту
То что это динамический массив (строка) тоже считается "неправильным" ответом. Поэтому я и не знаю, как еще это объяснить. Возможно как-то потому что там оператор new, но опять же это как и первый ответ.
GbaLog-
Любитель чаепитий
2619 / 1158 / 284
Регистрация: 24.08.2014
Сообщений: 4,220
Записей в блоге: 1
Завершенные тесты: 2
05.12.2015, 12:44     Работа со строками #11
AugenLos, Какой у вас компилятор?
-L, Только что в QtCreator'e вот этот код проверил, всё скомпилилось.
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <conio.h>
 
using namespace std;
 
int main() {
    int n = 10;
    int arr[n];
    getch();
    return 0;
}
Добавлено через 2 минуты
C++
1
int* arr = new int[n];
Тоже всё скомпилилось.
-L
15 / 9 / 10
Регистрация: 03.12.2015
Сообщений: 79
05.12.2015, 12:49     Работа со строками #12
makfak,

я не большой специалист, но у меня вот что в креаторе. Я ничем кроме vs не пользуюсь обычно, поэтому очень удивился
Миниатюры
Работа со строками  
AugenLos
0 / 0 / 0
Регистрация: 07.11.2015
Сообщений: 19
05.12.2015, 12:50  [ТС]     Работа со строками #13
makfak, компилятор в составе VS2012, второе тоже работает, а первое нет
GbaLog-
Любитель чаепитий
2619 / 1158 / 284
Регистрация: 24.08.2014
Сообщений: 4,220
Записей в блоге: 1
Завершенные тесты: 2
05.12.2015, 12:53     Работа со строками #14
-L, Я создаю проект без использования Qt, и какой у вас компилятор там?
nmcf
5251 / 4571 / 1535
Регистрация: 14.04.2014
Сообщений: 18,181
05.12.2015, 13:02     Работа со строками #15
Visual C++ не поддерживает указание размера массива не константой.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.12.2015, 19:33     Работа со строками
Еще ссылки по теме:

Работа со строками - C++
У меня есть есть структурные переменные и указатели на них, естественно. предположим struct name() { char b=&quot;Hello!&quot;; ...

Работа со строками - C++
Доброго времени суток! Пробую создать программу, которая разделяет строку на слова, убирает из них последующие включения первой буквы, и...

Работа со строками - C++
Подсчитать количество вхождений слова «мама» в строку и вывести номера первых позиций этих вхождений. Если этого слова в строке нет, то...

Работа со строками - C++
Написать программу, которая считывает текст и определяет, сколько в нем слов, состоящих не более чем из четырех букв

Работа со строками - C++
char *B = new char ; cout &lt;&lt; &quot;Введите текст произвольной длины: &quot; ; cin.getline( B, 50); cout &lt;&lt; &quot;Введенный текст: &quot; &lt;&lt; B; ...


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

Или воспользуйтесь поиском по форуму:
-L
15 / 9 / 10
Регистрация: 03.12.2015
Сообщений: 79
05.12.2015, 19:33     Работа со строками #16
makfak, ну да. Вы правы. У меня ничего не собирается, потому что везде один и тот же компилятор VC++. А у вас видимо MinGW. Спасибо за ликбез, буду знать
Yandex
Объявления
05.12.2015, 19:33     Работа со строками
Ответ Создать тему
Опции темы

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