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

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

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

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

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

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

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

Работа со строками - C++
Даны строки S1 и S2. Удалить из строки S1 последнюю подстроку, совпадающую с S2. Если совпадающих подстрок нет, то вывести строку S1 без...

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

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

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

Работа со строками - C++
Дана последовательность, содержащая от 2 до 50 слов, в каждом из которых от 1 до 8 строчных (маленьких) латинских букв; между соседними...

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

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

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

Добавлено через 1 минуту
То что это динамический массив (строка) тоже считается "неправильным" ответом. Поэтому я и не знаю, как еще это объяснить. Возможно как-то потому что там оператор new, но опять же это как и первый ответ.
0
GbaLog-
Любитель чаепитий
2769 / 1291 / 311
Регистрация: 24.08.2014
Сообщений: 4,581
Записей в блоге: 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];
Тоже всё скомпилилось.
0
-L
15 / 9 / 10
Регистрация: 03.12.2015
Сообщений: 79
05.12.2015, 12:49 #12
makfak,

я не большой специалист, но у меня вот что в креаторе. Я ничем кроме vs не пользуюсь обычно, поэтому очень удивился
0
Миниатюры
Работа со строками  
AugenLos
0 / 0 / 0
Регистрация: 07.11.2015
Сообщений: 19
05.12.2015, 12:50  [ТС] #13
makfak, компилятор в составе VS2012, второе тоже работает, а первое нет
0
GbaLog-
Любитель чаепитий
2769 / 1291 / 311
Регистрация: 24.08.2014
Сообщений: 4,581
Записей в блоге: 1
Завершенные тесты: 2
05.12.2015, 12:53 #14
-L, Я создаю проект без использования Qt, и какой у вас компилятор там?
0
nmcf
5319 / 4639 / 1551
Регистрация: 14.04.2014
Сообщений: 18,452
05.12.2015, 13:02 #15
Visual C++ не поддерживает указание размера массива не константой.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.12.2015, 13:02
Привет! Вот еще темы с ответами:

Работа со строками C++ - C++
Задание: Запросить у пользователя массив из 10 строк и вывести на экран те, которые равны слову «Ура». #include &quot;stdafx.h&quot; #include...

Работа со строками C++ - C++
Решил посвятить этой проблеме отдельную тему. В попытке написать ответ к этой задаче на С++ запнулся на работе со строками. Собственно...

Работа со строками - C++
Подскажите пожалуйсто!!! Как удалить часть строки не создавая при этом новой строки?

Работа со строками - C++
Помогите пожалуйста нужна функция копирования из одной строки в другую начиная с к символов.Вот прототип void copy(char *str1,int k,char...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
05.12.2015, 13:02
Ответ Создать тему
Опции темы

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