Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Vanya_1234
0 / 0 / 1
Регистрация: 19.05.2013
Сообщений: 33
1

Рекурсия вместо трёх циклов for для генерирования точек внутри сферы

13.10.2014, 09:43. Просмотров 508. Ответов 2
Метки нет (Все метки)

нужно переделать код. Вместо 3 циклов использовать рекурсию.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/*
* File:   main.c
* Author: Admin
*
* Created on 29 сентября 2014 г., 8:14
*/
 
#include <stdafx.h>
#include <stdio.h>
#include <stdlib.h>
 
int Vvid();
int Obrahuvanna(int);
int main() {
    
    int rez = Obrahuvanna(Vvid()); 
    printf("\nKilkist cilyh tochok: %d", rez);
    getchar();
    getchar();
    return 0;
}
 
int Vvid(){
    int r=0;
    printf("Vvedit radius sfery: ");
    while (scanf("%d", &r) == 0){
        printf("Pomylka! Vvedit dodatne chyslo:");
        fflush(stdin);
        continue;
    }
    return r;
}
int Obrahuvanna(int r){
    int rez = 0;
    int x, y, z;
    for (x = -r; x < r; x++){
        for (y = -r; y < r; y++){
            for (z = -r; z < r; z++){
                int x1 = r - abs(x);
                int y1 = r - abs(y);
                int z1 = r - abs(z);
                int r1 = x1*x1 + y1*y1 + z1*z1;
                if (r*r <= r1){
                    rez++;
                    printf("\n%d.  x=%d y=%d z=%d", rez, x, y, z);
                }
            }
        }
    }
 
    return rez;
 
}
Заранее спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2014, 09:43
Ответы с готовыми решениями:

Быстрая генерация случайных точек внутри сферы
Доброго времени суток, Господа. Стесняюсь за такие вопросы, но все же:) ...

Получить координаты точек сферы, равноотстоящие от соседних точек
Здравствуйте. Знает ли кто-нибудь, как это сделать. Сгенерировать сферу я и так...

Из множества точек на плоскости найти точки, образующие параллелограмм с наибольшим количеством точек внутри
&quot;Даны N точек на плоскости. Найти среди них точки являющиеся вершинами фигуры,...

Определить радиус и центр наибольшей окружности в области заданных точек, внутри которой нет точек
Определить радиус и центр наибольшей окружности в области заданных точек,...

Что использовать вместо таймера для множества точек, жизнь которых - 5 секунд
Привет, народ, подскажите пожалуйста, как принято поступать в следующем случае:...

2
semihal
5 / 5 / 3
Регистрация: 04.10.2014
Сообщений: 138
13.10.2014, 10:07 2
Передай в функцию x, y, z.
По условию выполняй рекурсию функции для x++. Когда рекурсия закончится, верни массив данных из 4х элементов, а дальше используй его значения как душе угодно
0
Vanya_1234
0 / 0 / 1
Регистрация: 19.05.2013
Сообщений: 33
13.10.2014, 16:20  [ТС] 3
semihal, Не совсем понял момент с массивом. Можно поподробней?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.10.2014, 16:20

Для заданных точек определите, лежат ли они внутри полосы или на её границе
Имя входного файла: input.txt Имя выходного файла: output.txt Ограничения по...

Произвольное количество вложенных циклов + рекурсия
Привет. Нужен код с++, который позволит вывести все комбинации цифр от 1 до k...

Линейный массив, рекурсия без циклов
Дан линейный массив. Реализовать рекурсивную функцию, печатающую элементы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru