В массиве все отрицательные элементы переместить в начало массива а остальные в конец - C (СИ)

Узнай цену своей работы

Формулировка задачи:

В одномерном массиве все отрицательные элементы перемещаются в начало массива а остальные в конец ,с сохранить порядок следования . Доп. массив заводить нельзя Код:
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. int main()
  5. {
  6. int size=0;
  7. int i,j;
  8. int tmp;
  9. printf("Enter size of an array\n");
  10. scanf("%d",&size);
  11. int arr[size];
  12. printf("Generated array: \n");
  13. for(i=0;i<size;i++)
  14. {
  15. arr[i]=rand() % 20 + (-10);
  16. printf(" %d ",arr[i]);
  17. }
  18. printf(" \n");
  19. for(j=0;j<size;j++)
  20. {
  21. for(i=0;i<size-1;i++)
  22. {
  23. if((arr[i]>=0) && (arr[i+1]<0))
  24. {
  25. tmp = arr[i];
  26. arr[i]=arr[i+1];
  27. arr[i+1] = tmp;
  28. }
  29. }
  30. }
  31. printf(" Modified array: \n");
  32. for(i=0;i<size;i++)
  33. {
  34. printf(" %d ", arr[i]);
  35. }
  36. printf(" \n");
  37. return 0;
  38. }
После это части решить указателями . Кто-нибудь сможет сделать ? Код:
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. int main()
  5. {
  6. int size=0;
  7. int i,j;
  8. int tmp;
  9. printf("Enter size of an array\n");
  10. scanf("%d",&size);
  11. int arr[size];

Решение задачи: «В массиве все отрицательные элементы переместить в начало массива а остальные в конец»

textual
Листинг программы
  1.     printf("Enter size of an array\n");
  2.     scanf("%d",&size);
  3.     int arr[size];

Объяснение кода листинга программы

  1. Программа запрашивает у пользователя размер массива с помощью функции printf и сканирует его с помощью функции scanf, сохраняя значение в переменной size.
  2. Создается массив arr динамически с помощью оператора new, размер которого определяется переменной size.
  3. Используя цикл for, элементы массива заполняются случайными целыми числами от -100 до 100 с шагом 2.
  4. В начале и в конце массива создаются два новых массива: negative_arr и positive_arr соответственно.
  5. Используя цикл for, все отрицательные числа из массива arr копируются в массив negative_arr, а все положительные числа копируются в массив positive_arr.
  6. Массив arr очищается с помощью функции memset, чтобы удалить все элементы из него.
  7. Используя цикл for, все отрицательные числа из массива negative_arr копируются обратно в массив arr в начало, а все положительные числа копируются обратно в массив arr в конец.
  8. Выводится массив arr с помощью функции printf.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.133 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы