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

Рекурсия и массивы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти определитель матрицы http://www.cyberforum.ru/cpp-beginners/thread515771.html
Написать прогу на с++ : нахождение определителя матрицы методом квадратного корня. Кто сможет помогите пожалуйста((
C++ Динамический массив Дана прямоугольная матрица вещественных чисел порядка m*n . Узнать, имеется ли в данной матрице хотя бы одна строка, в которой расположены подряд не менее k элементов, равных заданному числу х. Вывести исходную матрицу и индекс найденной строки. в программе использовать два варианта доступа к элементам массивов во вспомогательной функции: с помощью приведенного индекса и с использованием двух... http://www.cyberforum.ru/cpp-beginners/thread515761.html
Помогите понять и исправить ошибку... C++
#include <iostream> using namespace std; int main () { char cc = "Число"; // Массив автоматической памяти float pi = 3.1415926; // Переменная типа float
как пробежаться по массиву указателей не зная количество его элементов? C++
собственно код из книги Шилдта int search(char *p, const char *name) { for (int i = 0; p; i++) { if (!strcmp(p, name)) return i; } return -1;
C++ Ошибка: Run-Time Check Failure #3 - The variable 'zero' is being used without being initialized. http://www.cyberforum.ru/cpp-beginners/thread515716.html
int fun_mult(int *mas) { int zero; for (int i=0; i<10; i++){ if (mas=0) zero=i; else break; }
C++ Храним пароли в переменной Задался вопросом, как правильно хранить строку с приватной информацией в программе (переменной). Пример: TCHAR szComrnandLine = TEXT("\"C:\\Program Files\\Microsoft Office\\OFFICE11\\MSACCESS.EXE\" \"C:\\Prg\\db.mde\" /runtime /user GaDs /pwd password"); if(CreateProcessWithLogonW( TEXT("test"), NULL, TEXT("password"), LOGON_WITH_PROFILE, подробнее

Показать сообщение отдельно
Rusl_v
 Аватар для Rusl_v
13 / 12 / 1
Регистрация: 22.12.2010
Сообщений: 67
11.03.2012, 01:58     Рекурсия и массивы
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "stdafx.h"
#include <iostream>
using namespace std;
void func(int [],int);
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL,"Russian");
    int a[10]={32,27,64,18,95,14,90,70,60,37};
 
    cout<<"Значение массива:"<<endl;
    func(a,10);
    cout<<endl;
    system("pause");
    return 0;
}
void func(int b[],int size){
    if (size>0){
        func(&b[1],size-1);
        cout<<b[0]<<" ";
    }
}
Объясните пожалуйста как она робит!!!

Как я понимаю:
1.В ф-цию передаётся массив(т.е. адрес на 1 эл-т) и кол-во эл-тов
2.Вызывается рекурсивная ф-ция которой передаётся по ссылке элемент с индексом 1 (&b[1] )
3.пока size>0 передаётся всё время элемент с индексом 1 что ли???А печатается получается эл-т с индексом 0???
Помогите разобратся с
func(&b[1],size-1);
cout<<b[0]<<" ";

Приблизительно я понимаю что когда size будет 1 начнётся печать с последних эл-тов массива,но я не могу понять как (&b[1] ) перебирает эл-ты в рекурсии
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru