Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Найти минимум элементов массива с помощью рекурсивной функции min1(k) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ В заданной строке определить количество слов http://www.cyberforum.ru/cpp-beginners/thread696245.html
В заданной строке определить количество слов.C учетом что слова отделены пробелом
C++ Объясните понятно пожалуйста float и double Для чего они и как ими пользоваться? http://www.cyberforum.ru/cpp-beginners/thread696236.html
C++ Обыкновенные дроби
Составить программу выполняющая арифметические операции над обыкновенными дробями,результат должен быть несократимой дробью
Как провести сравнение числа в Edit1 и числ в столбик в Memo1 C++
Немного запнулся на этом месте. Есть число в Edit1 и числа, написанные в столбик, в Memo1. Нужно провести сравнение числа в Edit1 и всех чисел в Memo1. Требуется посчитать кол-во чисел, больше...
C++ Возврат ссылок в C/C++ http://www.cyberforum.ru/cpp-beginners/thread696220.html
Этот код отлично работает в файлах с расширением cpp, а вот с расширение .с никак не компилируется. Помогите решить проблему #include <iostream> using namespace std; int &f(); int...
C++ Периметр равнобедренной трапеции Вот такое вот здание: дано основание и высота равнобедренной трапеции. Нужно найти её периметр. Нужно написать под него программу на с++. Если кому не лень напишите пожалуйста код и желательно... подробнее

Показать сообщение отдельно
Michail1994
1 / 1 / 0
Регистрация: 01.03.2012
Сообщений: 78

Найти минимум элементов массива с помощью рекурсивной функции min1(k) - C++

13.11.2012, 12:00. Просмотров 877. Ответов 1
Метки (Все метки)

Есть небольшая задача: Дан массив целых чисел. Найти минимум его элементов с помощью рекурсивной функции min1(k), возвращающей минимум последних элементов, начиная с k-го. Надо создать к ней рекурсивный алгоритм и написать программу на С++. По-моему программа выглядит так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <conio.h>
 
int x[] = {1, 2, 1, 3, 12, 2};
 
int min1(int k)
{
int s;
if( k == (sizeof(x)/2 - 1))       // если k = n - 1
return x[sizeof(x)/2 - 1];
else
   {
      s = min1(k+1);
if( x[k] < s ) return x[k]; // возврат минимума чисел
else return s;      // min1(k+1) и x[k]
   } }
 
void main()
{   printf("\n min = %d", min1(0)); getch();} // вывод минимума элементов массива
По идее ответ должен быть min=1, но почему-то выдается min=0. Помогите разобраться с задачей.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru