Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
1 / 1 / 1
Регистрация: 22.02.2011
Сообщений: 27
1

Тени в трехмерном массиве.

16.05.2011, 18:24. Просмотров 832. Ответов 1
Метки нет (Все метки)

Тени. В трехмерном массиве k(l, m, n), состоящем из нулей и единиц,
хранится сеточное изображение некоторого трехмерного тела.
Получить в двумерных массивах три проекции (тени) этого тела.

Вот у меня есть код , но он не пашет как надо , народ может кто-нибудь сможет исправить, зарание спасибо.

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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <Windows.h>
#include <time.h>
#include <stdlib.h>
 
int ** make2d(int x, int y)
{
        int ** ta = new int*[x];
        for(int i = 0; i < x; i++){
                ta[i] = new int [y];
                for(int j = 0; j < y; j++)
                        ta[i][j] = 0;
        }
        return ta;
}
void random(int *** cube, int x, int y, int z)
{
    srand(GetTickCount());
    for (int i = 0; i < x; i++)
    {
        for (int j = 0; j < y; j++)
        {
            for (int k = 0; k < z; k++)
            {
                if ((rand() % 20) == 0)
                    cube [i][j][k] = 1;
            }
        }
    }
}
 
 
void print(int ** matrix, int p1, int p2)
{
    for (int i = 0; i < p1; i++)
    {
        for(int j = 0; j < p2; j++)
            printf ("%d ",matrix[i][j]);
        printf("\n");
    }
    printf("\n");
}
 
 
int *** make3d(int MX,int MY, int MZ)
{
    int *** xyz = new int**[MX];
 
    for (int i = 0; i < MX; i++)
    {
        xyz [i] = new int *[MY];
        for (int j = 0; j < MY; j++)
        {
            xyz [i][j] = new int [MZ];
            for (int k = 0; k < MZ; k++)
            {
                xyz [i][j][k] = 0;
            }
        }
    }
    return xyz;
}
void del2d(int ** a, int x)
{
        for(int i = 0; i < x; i++)
                delete[]  a[i];
        delete[] a;
}
 
 
 
#define Ox 5
#define Oy 5
#define Oz 5
 
void main(void)
{
int ***xyz;
xyz = make3d(5,5,5);
//создание 2d массивов
int **xy = make2d(Ox, Oy);
int **xz = make2d(Ox, Oz);
int **yz = make2d(Oy, Oz);
 
random(xyz,Ox,Oy,Oz); 
//обход всех точек 3d массива
for(int x = 0; x < Ox; x++)
        for(int y = 0; y < Oy; y++)
                for(int z = 0; z < Oz; z++)
                {
                        if(xyz[x][y][z] == 0) continue;
                        xy[x][y] = 1;
                        xz[x][z] = 1;
                        yz[y][z] = 1;
                }
print(xy,Ox,Oy);
print(xz,Ox,Oz);
print(yz,Oy,Oz);
getch();
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.05.2011, 18:24
Ответы с готовыми решениями:

Создать ключи в трехмерном массиве
Есть массив struct, кот. заполняется следующим образом: $struct = array(); $struct =...

Динамическое программирование в трёхмерном массиве
Здравствуйте Имеется классическая задача дп, только в трёхмерном массиве. В нём нужно найти...

Найти min в трехмерном массиве
Помогите доработать программу чтобы выводился min в трёхмерном массиве(сейчас ищет максимальное)...

Наименьшее значение в трехмерном массиве
Подскажите,пожалуйста, как написать код к заданию:написать программу поиска минимального элемента в...

1
Эксперт С++
4709 / 2534 / 753
Регистрация: 18.08.2009
Сообщений: 4,550
16.05.2011, 22:10 2
Цитата Сообщение от dubfire Посмотреть сообщение
но он не пашет как надо
а что именно не так?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.05.2011, 22:10

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Как записать Z в трёхмерном массиве
ребята, простите за дурной вопрос, но не могу разобраться. есть массив const int Y = 2, X = 2,...

Двоичный поиск в трехмерном массиве
В трехмерном массиве найти заданный Х, использовав алгоритм двоичного поиска, который находит самый...

Работа с индексами в Трёхмерном массиве
Доброго времени суток, на курсах задали такое задание: &quot;Создайте программу, которая содержит...

Нахождение наибольшего числа в трехмерном массиве
Где ошибка?? Код попросту не компилится после вывода массива. Сразу крашится, не понимаю в чем...


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

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

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