Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.86/14: Рейтинг темы: голосов - 14, средняя оценка - 4.86
 Аватар для asm0deus
2 / 2 / 0
Регистрация: 07.04.2023
Сообщений: 4

Динамические двумерные массивы, переназначение указателя на исходный массив на новый массив

07.04.2023, 12:08. Показов 3461. Ответов 41

Студворк — интернет-сервис помощи студентам
при решении задачи необходимо обеспечить перераспределение динамической памяти под массив нового размера и перенаправить адрес исходного массива на полученный блок данных. пользоваться можно ТОЛЬКО циклами

1. Дан массив действительных чисел. Необходимо:
А) Выполнить сортировку массива по возрастанию методом выбора.
Б) Положительные элементы массива умножить на 5, а отрицательные –
удалить.
________________________________________ ________
проблем с сортировкой нет, с изменением чисел в массиве тоже, но.. VS Ругается на двойной делит сразу, поэтому я попыталась приравнять через цикл, а потом и удалить, но лучше не стало. выскакивает "Вызвано исключение по адресу 0x00007FF61FD7289E в 22.exe: 0xC0000005: нарушение прав доступа при записи по адресу 0x0000000000008123."

в чём ошибка?? помогите первокурснице ахах, я совсем потерялась в этом коде
____________

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
#include <iostream> 
using namespace std;
int main()
{
    unsigned n;
    cout << "Input array size: ";
    cin >> n;
    cout << "Input array values " << "(" << n << "): ";
 
    float* arr = new float[n];
    for (unsigned i = 0; i < n; i++) {
        cin >> arr[i];
    }
 
    //Сортировка
    for (unsigned i = 0; i < n - 1; i++) {
        int temp_ind = i;
        for (unsigned j = i + 1; j < n; j++)
            if (arr[j] < arr[temp_ind])
                temp_ind = j;
        if (i != temp_ind) {
            float temp = arr[i];
            arr[i] = arr[temp_ind];
            arr[temp_ind] = temp;
        }
    }
 
    //Вывод отсортированного массива
    cout << "Sorted array: ";
    for (unsigned i = 0; i < n; i++) {
        cout << arr[i] << " ";
    }
 
    //Умножение положительных чисел на 5 + создание нового массива
    int cnt = 0;
    float* arr2 = new float[cnt];
    for (unsigned i = 0; i < n; i++) {
        if (arr[i] > 0) {
            arr2[cnt] = arr[i] * 5;
            cnt++;
        }
    }
 
 
    delete[] arr;
 
    //Вывод отсортированного массива c доп. условиями
    cout << "\nSorted and modified array: ";
    for (int i = 0; i < cnt; i++) {
        arr[i] = arr2[i];
        cout << arr[i] << " ";
    }
    cout << endl;
 
    delete[] arr2;
    delete[] arr;  
    return 0;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.04.2023, 12:08
Ответы с готовыми решениями:

Динамические массивы: разбить исходный массив на два - с четными и нечетными элементами
Доброе время суток ! Подскажите пожалуйста как создать динамический масив в таком случае : У меня есть исходный массив...

...динамические переменные, двумерные массивы, файл, одномерный массив, сортировка массива, текст...
Может кто-нибудь помочь с задачками? Буду рад любой помощи:) 1. Описать процедуру, которая вставляет: а) в непустой список L,...

Динамические массивы: сформировать новый массив из двух исходных
1-Выполнить задачи, динамично распределив память используемых в программе одномерных массивов. 2 Выходные данные ввести из текстового...

41
 Аватар для asm0deus
2 / 2 / 0
Регистрация: 07.04.2023
Сообщений: 4
08.04.2023, 21:46  [ТС]
Студворк — интернет-сервис помощи студентам
я решила задачу
к сожалению, никто не помог....но ничего!! видать, разборки float или double намного полезнее и интереснее))
я сама справилась. вот рабочий код

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
[CODE]#include <iostream>
using namespace std;
int main()
{
    unsigned n;
    cout << "Input array size: ";
    cin >> n;
    cout << "Input array values " << "(" << n << "): ";
 
    float* arr = new float[n];
    for (unsigned i = 0; i < n; i++) {
        cin >> arr[i];
    }
 
    //Сортировка
    for (unsigned i = 0; i < n - 1; i++) {
        int temp_ind = i;
        for (unsigned j = i + 1; j < n; j++)
            if (arr[j] < arr[temp_ind])
                temp_ind = j;
        if (i != temp_ind) {
            float temp = arr[i];
            arr[i] = arr[temp_ind];
            arr[temp_ind] = temp;
        }
    }
 
    //Вывод отсортированного массива
    cout << "Sorted array: ";
    for (unsigned i = 0; i < n; i++) {
        cout << arr[i] << " ";
    }
 
    //Умножение положительных чисел на 5 + создание нового массива
    int cnt = 0;
    for (unsigned i = 0; i < n; i++) {
        if (arr[i] < 0) {
            cnt++;
        }
    }
    float* arr2 = new float[n - cnt];
    cnt = 0;
    for (unsigned i = 0; i < n; i++) {
        if (arr[i] > 0) {
            arr2[cnt] = arr[i] * 5;
            cnt++;
        }
    }
 
    //Переназначение указателя на исходный массив на новый массив
    delete[] arr;
    arr = arr2;
 
    //Вывод отсортированного массива c доп. условиями
    cout << "\nSorted and modified array: ";
    for (unsigned i = 0; i < cnt; i++) {
        cout << arr[i] << " ";
    }
    cout << endl;
    delete[] arr2;
    return 0;
}
 
[/CODE]
2
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
09.04.2023, 09:31
Цитата Сообщение от asm0deus Посмотреть сообщение
я решила задачу
Как-то не все чисто с размерами массивов о обращением к ним:

Цитата Сообщение от asm0deus Посмотреть сообщение
float* arr2 = new float[n - cnt];
Цитата Сообщение от asm0deus Посмотреть сообщение
arr = arr2;
Цитата Сообщение от asm0deus Посмотреть сообщение
for (unsigned i = 0; i < cnt; i++) {
        cout << arr[i] << " ";
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.04.2023, 09:31

Двумерные массивы: Получить из исходного новый массив путем деления элементов
Задан массив А. Получить из него новый массив путем деления элементов каждой из строк первого массива на элемент этой строки, стоящий по...

Динамические массивы: получить новый массив, состоящий из половины элементов исходного массива
Дан массив случайных вещественных чисел. Размерность массива вводить с клавиатуры. Получить новый массив, состоящий из половины элементов...

Задан массив из N чисел. Алгоритм и программа должна выводить исходный и новый массив
Задан массив из N чисел. Алгоритм и программа должна выводить исходный и новый массив, полученный в результате выполнения требований...

Перенести в новый массив только положительные элементы исходного, и отсортировать исходный массив
Ребята кто нибудь может помочь? Дан одномерный целочисленный массив B. Организовать новый массив A,a={b,eсли b&gt;0; 0,ecли...

Считать исходный массив из файла и скопировать его в новый массив, упорядочив элементы по убыванию
Ребята помогите переписать программу, чтобы после считывания массива в файле он его записывал в другой в порядке убывания... Это...


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

Или воспользуйтесь поиском по форуму:
42
Ответ Создать тему
Новые блоги и статьи
Знаете, от чего появляется стресс?
kumehtar 15.07.2026
Стресс появляется оттого, что вы, зная как поступить правильно, делаете наоборот. Ларри Уингет
Нас бьют, а мы крепчаем? Какая чушь!
kumehtar 15.07.2026
Вот это вот бытующее мнение, что человек меняется только под действием проблем, всегда считал вредоносным. Поверь, от проблем у людей появляются не изменения, а нервное расстройство и ПТСР. А. . .
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров В текущей версии модели успешно реализован ключевой механизм. . .
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям Реализованные компоненты: Механизм закисления почвы через протонную помпу Конкуренция между типами микориз pH как триггер сукцессии C/ P соотношение. . .
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы ## О чём эта статья В процессе построения ОДУ-модели (система дифференциальных. . .
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет) Содержание проекта Симуляция вековой (50 лет) экологической сукцессии в почве леса Основные участники: АМ-гриб, ЭКМ-гриб,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru