В массиве все отрицательные элементы переместить в начало массива а остальные в конец - 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д