0 / 0 / 0
Регистрация: 22.06.2010
Сообщений: 12
|
|
1 | |
Алгоритм (псевдокод) одномерного динамического массива10.07.2010, 16:30. Показов 8865. Ответов 12
Метки нет (Все метки)
Суть проблемы такова:
Задан массив – А(10). Получить из него массив В, состоящий из элементов массива А, которые меньше 0. Массивы создаются с использованием операций NEW и DELETE. Ввод исходных данных: реальный размер массивов и их значения. Обращение к элементам массива – через косвенную адресацию. (да и ведь динамические масивы нельзя при создании инициализировать - тут тоже много непонтяного(( ) Перерыл кучу ссылок, книгу Павлоской, но более-менее работоспосбных идей так и не появилось( Код хочу написать сам, знать бы только алгоритм) Помогите пожалуйста)
0
|
10.07.2010, 16:30 | |
Ответы с готовыми решениями:
12
Метод-член класса для создания одномерного массива из отрицательных элементов двумерного динамического массива Объявление динамического одномерного массива. Из динамического одномерного массива в статический Удаление динамического одномерного массива |
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
10.07.2010, 16:49 | 2 |
Создаешь два массива. int*A, int*B; Вводишь кол-во элем в первом массиве. Вводишь кол-во элем во втором массиве. Пишешь A=new int[кол-во элем в первом]. B=new int[кол-во элем во втором].
А затем цикл. От 0 до кол-во элем в первом введите значение элем массива. Потом от 0 до кол-во элем во втором введите значение элем массива. Косвенная адрессация это -> Хотя. Можно только A. Потом заполняешь массив. Если i-ый элемент массива меньше 0, счетчик++. Потом B=new int[счетчик]. Затем цикл от 0 до кол-во элем в первом массиве. если a[i]<0 то b[i]=a[i]. Ну и далее... Вроде так
1
|
0 / 0 / 0
Регистрация: 22.06.2010
Сообщений: 12
|
|
10.07.2010, 16:55 [ТС] | 3 |
Ещё вопрос ... каким образом в таких случаях массив заполняется? (второй вариант)
0
|
3954 / 1809 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
|
|
10.07.2010, 17:01 | 4 |
andreip, я себе вижу эту задачу так:
1. Вывод на экран запроса на ввод размера массива (можно не делать, т.к. у вас даже явно задано значение). Запись значения в переменную size 2. Выделение памяти для массива А, используя переменную size в качестве размера массива. 3. Вывод на экран запроса на ввод элементов массива (не более, size штук). 4. Запись значений в массив А. 5. Обнуление переменной size. 6. Проход по значениям массива А: если элемент меньше нуля - инкрементируем переменную size. 7. Выделение памяти для массива B, используя переменную size в качестве размера массива. 8. Проход по значениям массива A с переносом положительных в массив B. 9. Печать массива B
1
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|||||||||||
10.07.2010, 17:05 | 5 | ||||||||||
Размер массива А известен - 10 элементов. Значит, динамически выделять ему память не нужно, объявляешь так:
Потом выделяешь память операцией new для массива В с числом элементов, которое ты подсчитал на предыдущем этапе. - пример:
1
|
0 / 0 / 0
Регистрация: 22.06.2010
Сообщений: 12
|
|
10.07.2010, 17:08 [ТС] | 6 |
Всем спасибо!
Идей предостаточно, буду писать)
0
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
10.07.2010, 17:14 | 7 | |||||
Что-то мозг от жары совсем не варит... Попытался написать по своему же псевдокоду. Вот что вышло:
Что тут не так?
0
|
3954 / 1809 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
|
|
10.07.2010, 17:16 | 8 |
0
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
||||||
10.07.2010, 17:18 | 9 | |||||
1
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
10.07.2010, 17:20 | 10 |
MikeSoft, Да. И как тогда быть? А то я что-то ноль сейчас совсем(
Добавлено через 52 секунды Nameless One, Спасибо.)
0
|
3954 / 1809 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
|
|
10.07.2010, 17:22 | 11 |
1
|
Модератор
12832 / 7569 / 1764
Регистрация: 25.07.2009
Сообщений: 13,965
|
||||||
10.07.2010, 17:24 | 12 | |||||
1
|
3954 / 1809 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
|
||||||
10.07.2010, 17:29 | 13 | |||||
0
|
10.07.2010, 17:29 | |
10.07.2010, 17:29 | |
Помогаю со студенческими работами здесь
13
Обработка одномерного динамического массива Сортировка динамического одномерного массива Список на основе одномерного динамического массива Некорректный вывод одномерного динамического массива Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |