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

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

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

Динамическое выделение памяти. - C++

02.12.2010, 19:31. Просмотров 539. Ответов 4
Метки нет (Все метки)

Доброго времени суток.
Помогите, пожалуйста, решить задачу.
Задача тривиальна - поиск и замена подстроки. Суть в чем: необходимо реализовать динамическое выделение памяти, то есть строка может быть довольно большой. Никак не разберусь с malloc. Итак, когда если я задам, например, строку (char s[100]), то в тестах может встретиться строка большей длины. Как сделать так, чтобы этого не произошло.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2010, 19:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Динамическое выделение памяти. (C++):

Распределение памяти. Динамическое выделение памяти - C++
an-1 an-2 ... a2

Динамическое выделение памяти - C++
создать динамический масив, создать функцию, которая сумирует все елементы масива, и функцию, которая печатает содержимое масива и...

Динамическое выделение памяти - C++
Создайте динамический массив, хранящий в первой строке имя, а во второй - телефон. Организуйте поиск по имени и по номеру телефона и...

Динамическое выделение памяти - C++
У меня есть двумерный булевый квадратный массив. После запуска программы, я получаю переменную size, это то, сколько элементов должно быть...

Динамическое выделение памяти - C++
Имеется такая вот задача ! Нужно сделать что бы память выделялась динамически,а не на этапе компиляции!!! Какие будут предложения ??? ...

Динамическое выделение памяти - C++
Здраствуйте. Собственно сам код и вопрос: почему могу свободно выходить за границы массива? Для чего тогда размерность указывается......

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
02.12.2010, 20:01 #2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
#include <malloc.h>
 
int main(void)
{
    int N;
    char *str;
    printf("enter n: ");
    scanf("%d", &N);//Задаем размер строки
    str = (char *)malloc(N*sizeof(char));
    //...
    return 0;
}
starikNAD
11 / 11 / 3
Регистрация: 01.12.2010
Сообщений: 80
02.12.2010, 20:16 #3
попробуй такое (вчера мне помогли аналогично с двумерным массивом):
C
1
2
3
4
5
char *s;
int N,N1;
s = (char *) calloc(N, sizeof(char));
// если нужно увеличить размер массива
s=(char *) realloc(s,N+N1)
только проверь - попробовать сейчас не могу
fireresist
0 / 0 / 0
Регистрация: 26.11.2010
Сообщений: 14
03.12.2010, 01:05  [ТС] #4
да не, там размер входящей строки неизвестен.)
собственно, спасибо, снова уже додумался сам)
vani2
0 / 0 / 0
Регистрация: 05.12.2010
Сообщений: 20
10.12.2010, 19:19 #5
Напиши как, мне очень самому нужно, спасибо заранее.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.12.2010, 19:19
Привет! Вот еще темы с ответами:

Динамическое выделение памяти - C++
Добрый день. Возник вопрос: Как мне узнать адрес последнего байта в выделенной памяти? Я выделил память (массив нулей и единиц): ...

Динамическое выделение памяти - C++
Добрый день! пытаюсь освоить С++ и дошёл до раздела динамического выделения памяти. Беру пример с сайта cppstudio.com всё работает ...

Динамическое выделение памяти - C++
Доброго времени суток. Пытаюсь разобраться с динамическим выделением память. Суть: Есть структура с двумя полями: 1. Указатель...

Динамическое выделение памяти - C++
Почему распечатка матрицы Matr1 в f2 дает матрицу из ед., а в f1 матрицу из нулей? Ведь адрес первого эл. массива Matr2 сохранен в...


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

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

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