Перевести с паскаля программу: Все отрицательные элементы переместить в начало массива - 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;
}

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

  1. В начале программы объявляются переменные:
    • size (размер массива),
    • i, j (для циклов),
    • tmp (для временного хранения значения).
  2. Пользователю предлагается ввести размер массива.
  3. Создается массив arr с помощью оператора new в стеке (размер определяется пользователем).
  4. С помощью цикла заполняется массив arr случайными отрицательными числами.
  5. Выводится сгенерированный массив.
  6. Внутренний цикл перебирает массив с начала до конца, проверяет условие: если текущий элемент положительный, а следующий отрицательный, то выполняется обмен элементов.
  7. Выводится измененный массив.
  8. Программа завершается.

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


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

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

5   голосов , оценка 4.6 из 5
Похожие ответы