Перевести из С++ в Си - C (СИ)

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

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

Нужно перевести код из С++ в Си.
#include <iostream>
#include <ctime>
using std::cout;
using std::cin;
using std::endl;
 
int main()
{
    setlocale( LC_ALL,"Russian" );
    int i,size=0,count=0;
    int* mas;
    cout<<"Введите количество елементов масива: ";
    cin>>size;
    cout<<endl;
    mas = new int[size];
    for(i=0;i<size;i++)
    {
        cout<<"mas["<<i+1<<"]=";
        cin>>mas[i];
        cout<<endl;
    }
    for(i=0; i<size; i++)
     {
         if(mas[i]<0)
         count++;
     }
     cout<<endl;
     cout<<"Количество елементов, менше 0 - "<<count;
     delete [] mas;
 return 0;
}

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

textual
Листинг программы
int main(int argc,char* argv[])
{   
    int i,size,count;
    int *mas;
    
    setlocale( LC_ALL,"Russian" );
    printf("Введите количество елементов масива: ");
    scanf("%d",&size);
    mas = (int*)malloc(size*sizeof(int));
    for(i=0; i<size; i++)
    {
        printf("mas[%d]=",i+1);
        scanf("%d",mas+i);
    }
    for(count=i=0; i<size; i++)
         if(mas[i]<0) count++;
    printf("\nКоличество елементов, менше 0 - %d\n",count);
    free(mas);
    return 0;
}

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

  1. Устанавливается локальная настройка для вывода русского языка.
  2. Выводится сообщение с просьбой ввести количество элементов массива.
  3. Считывается количество элементов массива с помощью функции scanf.
  4. Выделяется память под массив с помощью функции malloc.
  5. Происходит заполнение массива с помощью цикла for и функции scanf.
  6. Происходит подсчет количества элементов массива, меньших нуля, с помощью цикла for и условного оператора if.
  7. Выводится сообщение с количеством элементов массива, меньших нуля.
  8. Освобождается память, выделенная под массив, с помощью функции free.
  9. Программа возвращает 0, завершая свое выполнение.

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

7   голосов , оценка 3.571 из 5