0 / 0 / 5
Регистрация: 20.12.2016
Сообщений: 152
|
|
1 | |
Функция: заполнить массив случайными значениями (с использованием указателей)24.06.2017, 21:01. Показов 7755. Ответов 23
Метки нет (Все метки)
подскажите.
есть вот такая задача Написать ф-цию fill, которая принимает указатель на массив и количество элементов. Ф-ция заполняет массив случайными значениями. не могу понять как сделать эту задачу с использованием указателей.только начал их изучать и очень путаюсь
0
|
24.06.2017, 21:01 | |
Ответы с готовыми решениями:
23
Заполнить массив случайными значениями Заполнить массив случайными значениями заполнить массив случайными значениями Заполнить массив случайными значениями |
12 / 12 / 10
Регистрация: 04.06.2017
Сообщений: 99
|
||||||
24.06.2017, 21:46 | 2 | |||||
swswsss, держи, вроде работает
0
|
12 / 12 / 10
Регистрация: 04.06.2017
Сообщений: 99
|
|
24.06.2017, 22:02 | 4 |
nd2,
когда указатель будет равен нулю, а это конец массива
Согласен, return был лишним. Просто быстро написал код, не подумал
0
|
0 / 0 / 5
Регистрация: 20.12.2016
Сообщений: 152
|
|
24.06.2017, 22:09 [ТС] | 6 |
я вот тут тоже не очень понял (while *p)
колмпилятор выдает 1092702417 0 4197213 0 1
0
|
12 / 12 / 10
Регистрация: 04.06.2017
Сообщений: 99
|
|
24.06.2017, 22:14 | 7 |
0
|
12 / 12 / 10
Регистрация: 04.06.2017
Сообщений: 99
|
||||||
24.06.2017, 22:24 | 9 | |||||
Почему это проверяется адрес, если я использую раименование? Да и все работает, цикл прекращается, а это еще одно подтверждение что моя запись верна. Более того, у Страуструпа для копирования массива в другой используется следующая запись
Добавлено через 5 минут nd2, специально для Вас нашол. Откройте Страуструп Язык Программирования С++ стр. 168 и почитайте первое предложения.
0
|
0 / 0 / 5
Регистрация: 20.12.2016
Сообщений: 152
|
||||||
24.06.2017, 22:25 [ТС] | 10 | |||||
savenkodenys спасибо!
переделал чуть не знаю насколько верно
0
|
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
|
|
24.06.2017, 22:29 | 11 |
Читать умеешь?
За Страуструпом не прячься. Разговор о твоём коде.
0
|
12 / 12 / 10
Регистрация: 04.06.2017
Сообщений: 99
|
||||||
24.06.2017, 22:41 | 14 | |||||
swswsss, вот вариант, который в точности вы и просили
0
|
0 / 0 / 5
Регистрация: 20.12.2016
Сообщений: 152
|
|
24.06.2017, 22:45 [ТС] | 16 |
я извиняюсь заранее возможно за глупый вопрос подскажите почему указатель*p не используется в int main ? а создается новый *ptr и используется он же
0
|
12 / 12 / 10
Регистрация: 04.06.2017
Сообщений: 99
|
|||||||||||||||||||||||||||||||||||||||||
24.06.2017, 23:04 | 17 | ||||||||||||||||||||||||||||||||||||||||
обязательно нужно писать так
Добавлено через 8 минут Дело в области видимости переменных. Если переменная, ну или указатель, обьявлен и определен в фигурных скобках {}. То по выходу из них, программа не будет ничего знать и твоей переменной. Приведу яркий пример
Добавлено через 4 минуты А слабо пояснить почему? С первым вариантом согласен. Там сравнение было небезопасным. Он работал, потому что массив не был инициализирован, то есть ему присвоили левые числа, среди которых не было нуля. Конечно, если все элементы массива инициализировать нулем, то функция ничего не сделать. Согласен. Но чем плох второй вариант?
0
|
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
|
|
24.06.2017, 23:09 | 18 |
Тем же, чем и первый: выходом за границу выделенной памяти. Из-за того, что
*p никак не связано с size . Сравнение, в параметрах while(), не имеет никакого смысла. Чистое UB.Добавлено через 2 минуты Сделай вывод в fill(), и всё станет видно.
0
|
12 / 12 / 10
Регистрация: 04.06.2017
Сообщений: 99
|
||||||
24.06.2017, 23:11 | 19 | |||||
Вот дурья бошка И вправду чушь написал. Ну тогда самое простое, что приходит в голову
0
|
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
|
|
24.06.2017, 23:13 | 20 |
0
|
24.06.2017, 23:13 | |
24.06.2017, 23:13 | |
Помогаю со студенческими работами здесь
20
Заполнить массив случайными значениями Заполнить массив случайными значениями Заполнить массив С(10) случайными значениями Заполнить массив случайными значениями Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |