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