Сформировать новый массив из положительных нечетных элементов заданного массива Р - C (СИ)
Формулировка задачи:
Сформировать новый массив из положительных нечетных элементов заданного массива Р (20). Использую генератор случайных чисел.
Пробовал, но ничего не получается...
#include <stdlib.h> #include <stdio.h> #include <time.h> #define N 20 int main() { int i; int m[N]; srand(time(NULL)); printf("m: "); for(i = 0; i < N; i++) { m[i] = rand()%100+1; printf("%i ",m[i]); } //Нахождение элементов массива m, у которых остаток от деления на 2 не равняется 0// for(i=0;i<N;i++) { if (m[i]%2!=0&&m[i]>0) k+=1; printf("%d",k); } //Формируем новый массив из нечетных элементов k// int p[K]; for (i=1;i<K;i++) { if (m[i]%2!=0,m[i]>0) { p[K]=m[i]; K+=1;} for(i = 0; i < K; i++) printf("p: "); } return 0; }
Решение задачи: «Сформировать новый массив из положительных нечетных элементов заданного массива Р»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <time.h> #define N 20 int main() { int P[N], *tmp, size = 0; for (int i = 0; i < N; ++i) { P[ i ] = rand() % 100; if(P[ i ] % 2) { ++size; if (size == 1) { tmp = malloc(sizeof(int)); if ( !tmp ) exit( -1 ); tmp[ size - 1] = P[ i ]; } else { tmp = realloc(tmp, size * sizeof(int)); if ( !tmp ) exit( -1 ); tmp[ size - 1] = P[ i ]; } } printf("%d ", P[ i ]); } puts(""); for (int i = 0; i < size; ++i) printf("%d ", tmp[ i ]); puts(""); return 0; }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с консолью, генерацией случайных чисел и управлением памятью.
- Определяем константу N, которая задает размер массива P.
- В цикле формируем массив P из N элементов, используя генератор случайных чисел.
- Проверяем каждый элемент массива на нечетность и если элемент нечетный, то сохраняем его в динамически выделяемом массиве tmp.
- Увеличиваем размер массива tmp на 1 и проверяем, достаточно ли выделенной памяти.
- Если размер массива tmp становится равным N, то выводим все его элементы на экран.
- Выводим на экран все элементы массива P.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д