Структуры данных: массивы (C): различия между версиями
Перейти к навигации
Перейти к поиску
Строка 8: | Строка 8: | ||
=== Вывод всех целых чисел массива через пробел циклом For === | === Вывод всех целых чисел массива через пробел циклом For === | ||
<syntaxhighlight lang="c" line> | <syntaxhighlight lang="c" line> | ||
+ | #include <stdio.h> | ||
+ | |||
+ | int main() { | ||
+ | int a[10] = {1,5,8,3,9,23,15}; | ||
+ | int size = sizeof(a) / sizeof(a[0]); | ||
+ | |||
+ | for (int i = 0; i < size-1; ++i) { | ||
+ | printf("%d ", a[i]); | ||
+ | } | ||
+ | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Сделать массив из первых n нечётных чисел === | === Сделать массив из первых n нечётных чисел === | ||
− | |||
<syntaxhighlight lang="c" line> | <syntaxhighlight lang="c" line> | ||
+ | #include <stdio.h> | ||
+ | |||
+ | int main() { | ||
+ | int a[10]; | ||
+ | int size = sizeof(a) / sizeof(a[0]); | ||
+ | for (int i = 0; i < size-1; ++i) { | ||
+ | a[i] = 2*(i+1)-1; | ||
+ | printf("%d ", a[i]); | ||
+ | } | ||
+ | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | === | + | === Сгенерировать массив случайных чисел === |
<syntaxhighlight lang="c" line> | <syntaxhighlight lang="c" line> | ||
+ | #include <stdio.h> | ||
+ | #include <stdlib.h> | ||
− | + | int main() { | |
+ | int a[10]; | ||
+ | int size = sizeof(a) / sizeof(a[0]); | ||
− | == | + | for (int i = 0; i < size-1; ++i) { |
− | + | a[i] = rand() % 201 - 100; | |
+ | } | ||
+ | for (int i = 0; i < size-1; ++i) { | ||
+ | printf("%d ", a[i]); | ||
+ | } | ||
+ | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Вывести все содержащиеся в массиве нечетные числа в порядке возрастания их индексов, а также их количество === | === Вывести все содержащиеся в массиве нечетные числа в порядке возрастания их индексов, а также их количество === | ||
<syntaxhighlight lang="c" line> | <syntaxhighlight lang="c" line> | ||
+ | #include <stdio.h> | ||
+ | #include <stdlib.h> | ||
+ | |||
+ | int main() { | ||
+ | int a[10]; | ||
+ | int size = sizeof(a) / sizeof(a[0]); | ||
+ | |||
+ | for (int i = 0; i < size-1; ++i) { | ||
+ | a[i] = rand() % 100; | ||
+ | printf("%d ", a[i]); | ||
+ | } | ||
+ | printf("\n"); | ||
+ | |||
+ | int count = 0; | ||
+ | for (int i = 0; i < size-1; ++i) { | ||
+ | if (a[i] % 2 == 1) { | ||
+ | printf("%d ", a[i]); | ||
+ | count++; | ||
+ | } | ||
+ | } | ||
+ | printf("\nOdd numbers count = %d", count); | ||
+ | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Разделить массив на два: на положительные+ноль и отрицательные числа === | === Разделить массив на два: на положительные+ноль и отрицательные числа === | ||
− | |||
<syntaxhighlight lang="c" line> | <syntaxhighlight lang="c" line> | ||
+ | #include <stdio.h> | ||
+ | #include <stdlib.h> | ||
− | + | int main() { | |
+ | int a[10], pos[10], neg[10]; | ||
+ | int size = sizeof(a) / sizeof(a[0]); | ||
− | ==== | + | int posCount = 0; |
− | + | int negCount = 0; | |
+ | for (int i = 0; i < size - 1; ++i) { | ||
+ | a[i] = rand() % 201 - 100; | ||
+ | printf("%d ", a[i]); | ||
+ | if (a[i] >= 0) { | ||
+ | pos[posCount] = a[i]; | ||
+ | posCount++; | ||
+ | } | ||
+ | else { | ||
+ | neg[negCount] = a[i]; | ||
+ | negCount++; | ||
+ | } | ||
+ | } | ||
+ | printf("\n"); | ||
− | < | + | for (int i = 0; i < posCount; ++i) { |
+ | printf("%d ",pos[i]); | ||
+ | } | ||
+ | printf("\n"); | ||
− | = | + | for (int i = 0; i < negCount; ++i) { |
− | + | printf("%d ",neg[i]); | |
+ | } | ||
+ | printf("\n"); | ||
+ | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Версия 13:33, 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-1; ++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-1; ++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-1; ++i) {
9 a[i] = rand() % 201 - 100;
10 }
11
12 for (int i = 0; i < size-1; ++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-1; ++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-1; ++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 - 1; ++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 }