3 / 3 / 0
Регистрация: 26.11.2011
Сообщений: 84
|
||||||
1 | ||||||
Задачи массивы( объяснение)28.11.2011, 20:07. Показов 4702. Ответов 19
Метки нет (Все метки)
Здравствуйте,не могли бы помочь в написании кода и обьяснить некоторые подробности
есть несколько типов задач, по массивам которые хотелось бы разобрать первая это сортировка,но я ее сделал и вышло так
я обращаюсь к памяти динамически через функции malloc/free, как измениться код если через функции new\delete, а так же если статически? далее,есть, типы задач, на сложение/вычитание/умножение(скалярное произведение) двух массивов как я понял, для этого нужно задать три массива, два на вход,один на выход с нужным действием? но вот второй вопрос, как измениться отдельные фрагменты кода ( на примере моего примера с пузырьком) то есть: чтобы шло по схеме 1)Выделяем память под массив(ы) небольшого объема5-10элементов 2)Массив(ы) вводятся с клавиатуры.( желательно на примере cin и cout( до get и printoff не дорос 3)Массив(ы) обрабатываются функцией(сложение и т.д.) 4) Массив(ы) выводятся на экран. и третье, вот тоже самое но для определения минимума(максимума) массива и индекса минимума(максимума) я подумал, что минимум и максимум, можно сделать пузырьком убрав ненужные значения, а оставив первое(последнее)верно ли это? и так же объяснить что измениться в вводе выводе буду очень вам признателен начал разбирать с++ ( а точнее в среде QT) и столкнулся вот с такими проблемами заранее спасибо.
1
|
28.11.2011, 20:07 | |
Ответы с готовыми решениями:
19
Объяснение задачи на шаблоны Объяснение кода (Массивы) Объяснение задачи Напишите, пожалуйста объяснение к каждой строчке кода. Если можно, и объяснение некоторых функций |
84 / 84 / 20
Регистрация: 26.10.2009
Сообщений: 269
|
|
28.11.2011, 20:27 | 2 |
Код никак не измениться, если я ничего не путаю.
Главное не смешивай new и malloc/ Основная проблема, связанная с функциями malloc()/free(), заключается в том, что эти функции ничего не знают о конструкторах и деструкторах. Это на заметку. Все правильно, нужен 3-й. Добавлено через 1 минуту Сортировка 3-х введенных чисел?
1
|
3 / 3 / 0
Регистрация: 26.11.2011
Сообщений: 84
|
||||||||||||||||
28.11.2011, 20:32 [ТС] | 3 | |||||||||||||||
простите
не тот код ввел вот сортировка
как будет изменяться вот эти коды
по поводу malloc/free отличие от new and delete только , что во вторых вместо ( )--[ ]? а как задается обращение к памяти статически?
0
|
84 / 84 / 20
Регистрация: 26.10.2009
Сообщений: 269
|
||||||
28.11.2011, 20:41 | 4 | |||||
Только непонятно что Вам нужно изменить, точнее какой фрагмент кода. Если Вам нужно изменить память, кусок или что-то сделать с ней, добавить.. Тогда почитайте про realloc
1
|
3 / 3 / 0
Регистрация: 26.11.2011
Сообщений: 84
|
||||||
28.11.2011, 20:52 [ТС] | 5 | |||||
я просто по задач однотипным прохожу, там изменяется только сама функция( какие есть я написал),тип данных да способы вызыва памяти
как пример была сортировка пузырьком есть вот такие Напишите функцию, которая вычисляет скалярное произведение двух массивов. Массив ы содержат элементы типа unsigned short. Каждый массив передается в функцию чере з пару параметров - указатель на первый элемент, и размер массива. Также напишите две функции: первая - для вывода элементов массива на экран и вторая - для ввода с клавиатуры. В функции main протестируйте работу Ваших функций. Память под массив(ы), с котор ыми идет работа, выделять/освобождать динамически, через операторы new/delete Напишите функцию, которая вычисляет индекс минимального элемента массива. Массив содержит элементы типа unsigned long long. Массив передается в функцию через дв а параметра - указатель на первый элемент, и размер массива. Также напишите две функции: первая - для вывода элементов массива на экран и вторая - для ввода с клавиатуры. В функции main протестируйте работу Ваших функций. Память под массив(ы), с котор ыми идет работа, выделять статически. Напишите функцию, которая вычисляет максимальный элемент массива. Массив содержи т элементы типа char. Массив передается в функцию через два параметра - указатель на первый элемент, и размер массива. Также напишите две функции: первая - для вывода элементов массива на экран и вторая - для ввода с клавиатуры. В функции main протестируйте работу Ваших функций. Память под массив(ы), с котор ыми идет работа, выделять/освобождать динамически, через операторы new/delete вот они,вроде бы однотипны, но разобраться что будет каждый раз меняться в
схема действий во всех задачах такова: пишем вызов памяти( статик или динамик) потом ввод потом саму функцию(зависит от того что дано) а потом вывод на экран я прав?
0
|
84 / 84 / 20
Регистрация: 26.10.2009
Сообщений: 269
|
||||||
28.11.2011, 21:02 | 6 | |||||
Это если вместо malloc использовать new? ответ: никак Добавлено через 9 минут да, все правильно. > потом саму функцию(передаете в нее параметры)
1
|
3 / 3 / 0
Регистрация: 26.11.2011
Сообщений: 84
|
|
28.11.2011, 21:08 [ТС] | 7 |
я сейчас наберу тут функцию, проверите её на ошибки?
0
|
84 / 84 / 20
Регистрация: 26.10.2009
Сообщений: 269
|
|
28.11.2011, 21:12 | 8 |
1
|
3 / 3 / 0
Регистрация: 26.11.2011
Сообщений: 84
|
|||||||||||
28.11.2011, 21:47 [ТС] | 9 | ||||||||||
вот что вышло на максимальный и индекс максимума боюсь напутал начиная c
0
|
84 / 84 / 20
Регистрация: 26.10.2009
Сообщений: 269
|
||||||
28.11.2011, 22:05 | 10 | |||||
Используйте постфиксный инкримент.
i++; Вам достаточно переменной типа int. Уберите *. И перстанет ругаться Компилятор будет ругаться на
здесь не совсемпонятно что должна делать фун-ция mas_out напишите что должна делать ф-ция mas_out
1
|
3 / 3 / 0
Регистрация: 26.11.2011
Сообщений: 84
|
|||||||||||
28.11.2011, 22:37 [ТС] | 11 | ||||||||||
остальные ошибки ушли спасибо) что-то типо
0
|
84 / 84 / 20
Регистрация: 26.10.2009
Сообщений: 269
|
|||||||||||
29.11.2011, 01:29 | 12 | ||||||||||
Дописать фун-цию mas_out.
Табуляция почему-то сбилась, выровняешь. Будет читабельней и разборчивей.
1
|
3 / 3 / 0
Регистрация: 26.11.2011
Сообщений: 84
|
||||||
29.11.2011, 17:21 [ТС] | 13 | |||||
0
|
84 / 84 / 20
Регистрация: 26.10.2009
Сообщений: 269
|
|
29.11.2011, 17:29 | 14 |
1
|
3 / 3 / 0
Регистрация: 26.11.2011
Сообщений: 84
|
|||||||||||
29.11.2011, 18:32 [ТС] | 15 | ||||||||||
он заполяет если пишу размер допустим 4, то в два раза больше значений, и так далее ошибку нашел,лишний
0
|
84 / 84 / 20
Регистрация: 26.10.2009
Сообщений: 269
|
||||||
29.11.2011, 21:29 | 16 | |||||
Да, можете еще границы рандома задать.
1
|
3 / 3 / 0
Регистрация: 26.11.2011
Сообщений: 84
|
||||||
30.11.2011, 18:15 [ТС] | 17 | |||||
пытался для суммы всех положительных чисел в массиве но увы что то на выходе не то число пишет
0
|
84 / 84 / 20
Регистрация: 26.10.2009
Сообщений: 269
|
||||||
30.11.2011, 20:39 | 18 | |||||
Вывод суммы положительных элементов. Возвращет значение типа float т.е. нашу сумму и в main мы ее выводим
1
|
3 / 3 / 0
Регистрация: 26.11.2011
Сообщений: 84
|
|
30.11.2011, 22:32 [ТС] | 19 |
Последовательность void_sum void_in void_out может любой быть?
0
|
84 / 84 / 20
Регистрация: 26.10.2009
Сообщений: 269
|
||||||
01.12.2011, 14:47 | 20 | |||||
При объявлении прототипа фун-ций(перед main), может быть любой.
А вызов в main должен быть последовательниым, т.е. снчала инициализация. Добавлено через 1 минуту add & sub
1
|
01.12.2011, 14:47 | |
01.12.2011, 14:47 | |
Помогаю со студенческими работами здесь
20
2 задачи на массивы Задачи на массивы Задачи на массивы... Задачи на массивы. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |