@lemegeton
2931 / 1360 / 136
Регистрация: 29.11.2010
Сообщений: 2,725
|
14.04.2011, 01:24
|
|
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
| #include <stdio.h>
#include <time.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
size_t array_size = 15;
size_t i, j;
int result = 0;
srand(time(NULL));
int *array_1d = (int*)malloc(sizeof(int) * array_size);
for (i = 0; i < array_size; ++i) {
printf("%5d", array_1d[i] = rand() % 101 - 50);
if (array_1d[i] > 0)
++result;
}
printf("\nArray has %d positive(s).\n\n", result);
free(array_1d);
result = 0;
int **array_2d = (int**)malloc(sizeof(int*) * array_size);
for (i = 0; i < array_size; ++i) {
array_2d[i] = (int*)malloc(sizeof(int) * array_size);
for (j = 0; j < array_size; ++j) {
printf("%5d", array_2d[i][j] = rand() % 101 - 50);
if (i == j && array_2d[i][j] < 0)
result += array_2d[i][j];
}
printf("\n");
free(array_2d[i]);
}
printf("Sum of negatives on diagonal = %d.\n", result);
free(array_2d);
return 0;
} |
|
1
|