Перевести с паскаля программу: Все отрицательные элементы переместить в начало массива - C (СИ)
Формулировка задачи:
Помогите перевести из паскаля в с
В одномерном массиве все отрицательные элементы перемещаются в начало массива а остальные в конец ,с сохранить порядок следования . Доп. массив заводить нельзя
Листинг программы
- var
- a:array[1..100]of integer;
- i,j,t,n:integer;
- begin
- randomize;
- writeln('vvedite kol-vo elementov');
- readln(n);
- writeln('ishodnyj massiv');
- for i:=1 to n do
- begin
- a[i]:=random(20)-10;
- write(a[i],' ');
- end;
- writeln;
- for i:=1 to n do
- for j:=1 to n-1 do
- if (a[j]>=0)and(a[j+1]<0)then
- begin
- t:=a[j];
- a[j]:=a[j+1];
- a[j+1]:=t;
- end;
- writeln('novyj massiv');
- for i:=1 to n do
- write(a[i],' ');
- readln;
- end.
Решение задачи: «Перевести с паскаля программу: Все отрицательные элементы переместить в начало массива»
textual
Листинг программы
- #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;
- }
Объяснение кода листинга программы
- В начале программы объявляются переменные:
- size (размер массива),
- i, j (для циклов),
- tmp (для временного хранения значения).
- Пользователю предлагается ввести размер массива.
- Создается массив arr с помощью оператора new в стеке (размер определяется пользователем).
- С помощью цикла заполняется массив arr случайными отрицательными числами.
- Выводится сгенерированный массив.
- Внутренний цикл перебирает массив с начала до конца, проверяет условие: если текущий элемент положительный, а следующий отрицательный, то выполняется обмен элементов.
- Выводится измененный массив.
- Программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д