Перевести код из С++ в С - C (СИ) (249407)

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

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

Требуется переписать код, но у меня что-то пошло не так и программа выводит либо несколько десятков рандомных чисел, либо последний элемент массива n-ое количество штук (где n - количество элементов в массиве)
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
#include <cstring>
#include <iostream>
 
using namespace std;
 
int main()
{
    int N;
    cin>>N;
    int A[ N ];
    for (int i=0; i<N; i++)
        cin>>A[i];
 
    for (int j=0; j<N; j++)
        for (int i=0; i<N-1; i++)
            if (abs(A[i])<abs(A[i+1]))
                swap(A[i],A[i+1]);

    for (int i=0; i<N; i++)
        cout << A[i]<<' ';
   return 0;
}

Решение задачи: «Перевести код из С++ в С»

textual
Листинг программы
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
 
void swap(int *var1, int *var2)
{
    int temp = *var1;
    *var1 = *var2;
    *var2 = temp;
}
 
int main()
{
    int N = 0;
    puts("Enter size of array: ");
    scanf("%d", &N);
    int *arrayPtr = (int *)calloc(N, sizeof(int));
    //--------------------------------
    for (int i = 0; i < N; i++) {
        puts("Enter number for array:");
        scanf("%d", &arrayPtr[i]);
    }
    //---------------------------------
    for (int j = 0; j < N; j++) {
        for (int i = 0; i < N - 1; i++) {
            if (abs(arrayPtr[i]) < abs(arrayPtr[i + 1])) {
                swap(&arrayPtr[i], &arrayPtr[i + 1]);
            }
        }
    }
 
    for (int i = 0; i < N; i++) {
        printf("A[%d] = %d\n", i, arrayPtr[i]);
    }
 
    return 0;
}

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

  1. Объявлены функции swap и main.
  2. В функции swap происходит обмен значениями двух указателей на целочисленные переменные.
  3. В функции main считывается размер массива с помощью scanf.
  4. Выделяется память под массив с помощью calloc.
  5. Происходит заполнение массива с помощью scanf.
  6. Производится сортировка массива методом пузырька в функции main.
  7. Выводится отсортированный массив на экран с помощью printf в функции main.
  8. Программа возвращает 0, завершая свою работу.

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


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

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

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