В массиве все отрицательные элементы переместить в начало массива а остальные в конец - C (СИ)
Формулировка задачи:
В одномерном массиве все отрицательные элементы перемещаются в начало массива а остальные в конец ,с сохранить порядок следования . Доп. массив заводить нельзя
Код:
После это части решить указателями . Кто-нибудь сможет сделать ?
Код:
#include <stdio.h> #include <stdlib.h> #include <time.h> int main() { int size=0; int i,j; int tmp; printf("Enter size of an array\n"); scanf("%d",&size); int arr[size]; printf("Generated array: \n"); for(i=0;i<size;i++) { arr[i]=rand() % 20 + (-10); printf(" %d ",arr[i]); } printf(" \n"); for(j=0;j<size;j++) { for(i=0;i<size-1;i++) { if((arr[i]>=0) && (arr[i+1]<0)) { tmp = arr[i]; arr[i]=arr[i+1]; arr[i+1] = tmp; } } } printf(" Modified array: \n"); for(i=0;i<size;i++) { printf(" %d ", arr[i]); } printf(" \n"); return 0; }
#include <stdio.h> #include <stdlib.h> #include <time.h> int main() { int size=0; int i,j; int tmp; printf("Enter size of an array\n"); scanf("%d",&size); int arr[size];
Решение задачи: «В массиве все отрицательные элементы переместить в начало массива а остальные в конец»
textual
Листинг программы
printf("Enter size of an array\n"); scanf("%d",&size); int arr[size];
Объяснение кода листинга программы
- Программа запрашивает у пользователя размер массива с помощью функции printf и сканирует его с помощью функции scanf, сохраняя значение в переменной size.
- Создается массив arr динамически с помощью оператора new, размер которого определяется переменной size.
- Используя цикл for, элементы массива заполняются случайными целыми числами от -100 до 100 с шагом 2.
- В начале и в конце массива создаются два новых массива: negative_arr и positive_arr соответственно.
- Используя цикл for, все отрицательные числа из массива arr копируются в массив negative_arr, а все положительные числа копируются в массив positive_arr.
- Массив arr очищается с помощью функции memset, чтобы удалить все элементы из него.
- Используя цикл for, все отрицательные числа из массива negative_arr копируются обратно в массив arr в начало, а все положительные числа копируются обратно в массив arr в конец.
- Выводится массив arr с помощью функции printf.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д