Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
 Аватар для korep
52 / 45 / 18
Регистрация: 06.01.2013
Сообщений: 626

Обнуление массива

18.01.2013, 20:30. Показов 1505. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
struct TWayBits{
        String way;
        String positions;
        int weight;
};
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int len = Edit1->Text.Length();
int count = 1;
int len1;
TWayBits *ways = new TWayBits[count];
ways[0].way="";
ways[0].positions="1";
ways[0].weight=0;
for(int i = 0; i<len/2; i++){
        TWayBits *nextways = new TWayBits[2*count];
        for(int j = 0; j<count; j++){
 
//здесь выполняется цикл
 
}
        delete ways;
        TWayBits *ways = new TWayBits[2*count];
        for(int j = 0; j < 2*count; j++){
                ways[j].way=nextways[j].way;
                ways[j].positions=nextways[j].positions;
                ways[j].weight=nextways[j].weight;
        }
        //здесь массив ways обновлен и наполнен, но когда когда проиходит переход на внешний цикл масси пустой
        count = 2*count;
}
почему так происходит? как этого избежать?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.01.2013, 20:30
Ответы с готовыми решениями:

Обнуление массива
Есть три массива: AnsiString Q; AnsiString A; int R; И мне их нужно обнулить. Что бы при повторном обращении в них не было...

Обнуление динамического массива
Есть какой-нибудь хитрый способ обнулить динамический массив? Кроме циклов?)

Удаление и обнуление динамического массива
Допустим у меня есть следующие функции void __fastcall TForm1::firstSample(TStringList *allData){ TStringList *tempData = new...

4
 Аватар для Schizorb
512 / 464 / 81
Регистрация: 07.04.2012
Сообщений: 869
Записей в блоге: 1
18.01.2013, 20:46
Потому что объявляется новый указатель в 24 строке?

C++
1
TWayBits *ways
1
 Аватар для korep
52 / 45 / 18
Регистрация: 06.01.2013
Сообщений: 626
18.01.2013, 20:51  [ТС]
я ведь удалял массив, да и данные вношу уже после объявления по новой

Добавлено через 11 секунд
но сейчас попробую исправить!

Добавлено через 2 минуты
спасибо! работает, но возник вопрос как мне в 2 раза расширить массив?
0
 Аватар для Schizorb
512 / 464 / 81
Регистрация: 07.04.2012
Сообщений: 869
Записей в блоге: 1
18.01.2013, 21:04
Цитата Сообщение от korep Посмотреть сообщение
как мне в 2 раза расширить массив
А у вас не расширяется разве?

Ну примерно вот так, в ваш код не вникал, там в принципе в 27 строке и не надо память выделять, просто ways = nextways, и в указателе будет лежать адрес нового блока памяти, который в 2 раза больше.

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
    int size = 5;
    
    // выделили память под массив
    int * arr = new int[size];
    for(int i = 0; i < size; ++i)
    {
        arr[i] = i;
        std::cout << arr[i] << " ";
    }
    
    // выделили память под массив в 2 раза больше
    int * newarr = new int[size*2];
    for(int i = 0; i < size*2; ++i)
    {
        newarr[i] = i;
    }
    
    // удалили старый 'маленький' массив
    delete [] arr;
    
    // присвоили новый адрес указателю arr
    arr = newarr;
    
    // теперь arr указывает на 'большой' массив
    std::cout << "\n";
    for(int i = 0; i < size*2; ++i)
    {
        std::cout << arr[i] << " ";
    }
    
    delete [] arr;
1
 Аватар для korep
52 / 45 / 18
Регистрация: 06.01.2013
Сообщений: 626
18.01.2013, 21:12  [ТС]
Угу спасибо большое) я просто 4 вечер с C++ знаком))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.01.2013, 21:12
Помогаю со студенческими работами здесь

обнуление AnsiString
Всем привет! Что-то я столкнулся с проблемой при обнуление AnsiString есть такое AnsiString Power; memset(Power, 0,...

Обнуление AnsiString
Доброго всем времени суток. Помогите понять/разобраться как так происходит. Есть собственный класс A для работы с ini файлом со...

Обнуление указателя
Здравствуйте! Ребята, подскажите, по такому вопросу. Делаю консольное приложение вот код: #include &lt;tchar.h&gt; #include...

Обнуление Form
Не могу найти как обновить форму. Вот есть например у меня программа тестов, нажимаю в меню пройти тест, он открывает мне форму с тестом, я...

Обнуление структуры
Такой вопросик, есть массив структур из 8 , например, он объявляется, потом в него пишутся данные, потом передаются куда-то, после этого...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru