|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.06.2016, 22:53 | #1 |
Новичок
Джуниор
Регистрация: 15.06.2016
Сообщений: 6
|
Рекурсивная функция
Задача. Написать рекурсивную функцию, которая принимает массив и размер массива как аргументы и возвращает наименьший элемент массива. Функция должна прекращать свою работу и возвращаться, если принимаемый массив имеет один элемент. В интернете нашла похожий вопрос, но там чисто на саму рекурсию, а у меня вопрос-собственно и ошибка возникает в этом месте, при вводе массива с клавиатуры. Выделение динамической памяти-что я попыталась сделать,не нужно. Просто я опиралась на предыдущую лабораторную работу, поэтому и решила что подойдет.Объясните пожалуйста в чем ошибка. Заранее огромное спасибо.
Код:
Последний раз редактировалось Аватар; 15.06.2016 в 23:28. |
15.06.2016, 23:27 | #2 |
Форумчанин
Регистрация: 25.01.2015
Сообщений: 472
|
Т.к. это C++, то заголовочный файл без .h. И инициализацию массива подправил. Вроде работает, но я плохо знаю C/C++.
Код:
Последний раз редактировалось FPaul; 15.06.2016 в 23:33. |
16.06.2016, 00:33 | #3 |
Новичок
Джуниор
Регистрация: 15.06.2016
Сообщений: 6
|
Огромное спасибо)Все работает. Можно вопрос если не затруднит-зачем звездочка рядом с именем массива?)
Как я уже писала-саму функцию слизала с интернета-мне все в ней понятно кроме вот этой строчки- a<b?a:b; что она означает? если а меньше b, а становитьcя b? И еще, я извиняюсь, огромное спасибо Вам за помощь, но когда количество элементов массива 1-он запрашивает ввести сам элемент и на выдает этот самый элемент минимальным. А заканчивает свою работу только когда в размерность ноль забиваешь( Последний раз редактировалось Аватар; 16.06.2016 в 12:32. |
16.06.2016, 01:43 | #4 | ||
Форумчанин
Регистрация: 25.01.2015
Сообщений: 472
|
Ссылка Тернарная условная операция
Цитата:
Цитата:
|
||
16.06.2016, 10:28 | #5 |
Новичок
Джуниор
Регистрация: 15.06.2016
Сообщений: 6
|
К сожалению я не могу вставить картинку, но это действительно так, при вводе размерности равной 1 он должен по сути выходит из программы, ну по заданию. А он просит ввести элементы. А когда вводишь ноль, не просит ввести элементы. Пишет нажмите окей для выхода)
|
16.06.2016, 10:57 | #6 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
КсенияФокина, Вы ошибаетесь.
в задании, что сказано: Цитата:
А программа, если Вы хотите ввести массив из одного элемента, должна запросить этот элемент, потом передать массив из одного элемента в функци и функция должна завершить свою работу (вернув этот элемент, как минимальный, кстати). имхо, так. |
|
16.06.2016, 11:50 | #7 |
Новичок
Джуниор
Регистрация: 15.06.2016
Сообщений: 6
|
Я Вас поняла. Огромное спасибо. Не могли бы ы еще ответить по поводу звездочки и строчки с переменными а и b.
Просто в моем понимании звездочка это указатель, а зачем он в данной программе? без него не выделяется память?) |
16.06.2016, 11:55 | #8 | |||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
Цитата:
Цитата:
это можно записать через if: Код:
|
|||
16.06.2016, 12:09 | #9 |
Новичок
Джуниор
Регистрация: 15.06.2016
Сообщений: 6
|
Огромное спасибо. А что со звездочкой-мой ход мыслей хотя бы правильный-это указатель?))
|
16.06.2016, 18:10 | #10 |
Форумчанин
Регистрация: 25.01.2015
Сообщений: 472
|
Да, со звёздочкой - указатель. Если бы строка была
Код:
Чисто теоретически, можно было бы сделать присвоение Код:
Но мы выделили память в куче для массива int *Massiv=new int [n]; и теперь указатель хранит адрес начала массива. Фух, устал. Почитайте об указателях и динамических массивах. Я вчера впервые в жизни сам увидел как это делается в C/C++. Вы тоже можете почитать. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Рекурсивная функция | Solidera | Помощь студентам | 6 | 02.04.2013 09:45 |
Рекурсивная функция | Alerq | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 17.04.2011 18:42 |
Рекурсивная функция | Trinity13 | Помощь студентам | 8 | 14.02.2010 18:44 |
Си++. Рекурсивная функция. | Diamond2107 | Помощь студентам | 6 | 02.12.2009 19:48 |