Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <locale.h>
- int main()
- {
- setlocale(LC_ALL, "rus");
- int M = 0, N = 0, P = 0;
- int i = 0, j = 0, k = 0;
- char isFound = 0;
- int count = 0;
- printf("Задайте размеры параллелепипеда в формате 1x1x1: ");
- scanf("%dx%dx%d", &M, &N, &P);
- int*** A = calloc(M, sizeof(int**));
- for (i = 0; i < M; i++) {
- A[i] = calloc(N, sizeof(int*));
- for (j = 0; j < N; j++)
- A[i][j] = calloc(P, sizeof(int));
- }
- for (i = 0; i < M; i++)
- for (j = 0; j < N; j++)
- for (k = 0; k < P; k++) {
- printf("(%d;%d;%d): ", i, j, k);
- scanf("%d", &A[i][j][k]);
- }
- for (i = 0; i < M; i++) {
- isFound = 1;
- for (j = 0; j < N && isFound != 0; j++) {
- for (k = 0; k < N && isFound != 0; k++) {
- if (A[i][j][k] != A[i][0][0]) {
- isFound = 0;
- break;
- }
- }
- }
- if (isFound == 1)
- count++;
- }
- for (j = 0; j < N; j++) {
- isFound = 1;
- for (i = 0; i < N && isFound != 0; i++) {
- for (k = 0; k < N && isFound != 0; k++) {
- if (A[i][j][k] != A[0][j][0])
- isFound = 0;
- }
- }
- if (isFound == 1)
- count++;
- }
- for (k = 0; k < P; k++) {
- isFound = 1;
- for (i = 0; i < M && isFound != 0; i++) {
- for (j = 0; j < N && isFound != 0; j++) {
- if (A[i][j][k] != A[0][0][k])
- isFound = 0;
- }
- }
- if (isFound == 1)
- count++;
- }
- for (i = 0; i < M; i++) {
- for (j = 0; j < N; j++)
- free(A[i][j]);
- free(A[i]);
- }
- free(A);
- printf("Найдено искомых слоев: %d", count);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment