Перевести из С++ в Си - 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;
}
Объяснение кода листинга программы
- Устанавливается локальная настройка для вывода русского языка.
- Выводится сообщение с просьбой ввести количество элементов массива.
- Считывается количество элементов массива с помощью функции scanf.
- Выделяется память под массив с помощью функции malloc.
- Происходит заполнение массива с помощью цикла for и функции scanf.
- Происходит подсчет количества элементов массива, меньших нуля, с помощью цикла for и условного оператора if.
- Выводится сообщение с количеством элементов массива, меньших нуля.
- Освобождается память, выделенная под массив, с помощью функции free.
- Программа возвращает 0, завершая свое выполнение.