Структуры данных: массивы (C)
Версия от 15:35, 17 июня 2021; Безуглов Сергей (обсуждение | вклад) (→Разделить массив на два: на положительные+ноль и отрицательные числа)
Массивы
Задачи
Вывод всех целых чисел массива через пробел циклом For
1 #include <stdio.h>
2
3 int main() {
4 int a[10] = {1,5,8,3,9,23,15};
5 int size = sizeof(a) / sizeof(a[0]);
6
7 for (int i = 0; i < size; ++i) {
8 printf("%d ", a[i]);
9 }
10 }
Сделать массив из первых n нечётных чисел
1 #include <stdio.h>
2
3 int main() {
4 int a[10];
5 int size = sizeof(a) / sizeof(a[0]);
6
7 for (int i = 0; i < size; ++i) {
8 a[i] = 2*(i+1)-1;
9 printf("%d ", a[i]);
10 }
11 }
Сгенерировать массив случайных чисел
1 #include <stdio.h>
2 #include <stdlib.h>
3
4 int main() {
5 int a[10];
6 int size = sizeof(a) / sizeof(a[0]);
7
8 for (int i = 0; i < size; ++i) {
9 a[i] = rand() % 201 - 100;
10 }
11
12 for (int i = 0; i < size; ++i) {
13 printf("%d ", a[i]);
14 }
15 }
Вывести все содержащиеся в массиве нечетные числа в порядке возрастания их индексов, а также их количество
1 #include <stdio.h>
2 #include <stdlib.h>
3
4 int main() {
5 int a[10];
6 int size = sizeof(a) / sizeof(a[0]);
7
8 for (int i = 0; i < size; ++i) {
9 a[i] = rand() % 100;
10 printf("%d ", a[i]);
11 }
12 printf("\n");
13
14 int count = 0;
15 for (int i = 0; i < size; ++i) {
16 if (a[i] % 2 == 1) {
17 printf("%d ", a[i]);
18 count++;
19 }
20 }
21
22 printf("\nOdd numbers count = %d", count);
23 }
Разделить массив на два: на положительные+ноль и отрицательные числа
1 #include <stdio.h>
2 #include <stdlib.h>
3
4 int main() {
5 int a[10], pos[10], neg[10];
6 int size = sizeof(a) / sizeof(a[0]);
7
8 int posCount = 0;
9 int negCount = 0;
10 for (int i = 0; i < size; ++i) {
11 a[i] = rand() % 201 - 100;
12 printf("%d ", a[i]);
13 if (a[i] >= 0) {
14 pos[posCount] = a[i];
15 posCount++;
16 }
17 else {
18 neg[negCount] = a[i];
19 negCount++;
20 }
21 }
22 printf("\n");
23
24 for (int i = 0; i < posCount; ++i) {
25 printf("%d ",pos[i]);
26 }
27 printf("\n");
28
29 for (int i = 0; i < negCount; ++i) {
30 printf("%d ",neg[i]);
31 }
32 printf("\n");
33
34 }