Из языка С++ перевести в Си - C (СИ)
Формулировка задачи:
/* * Ввести целочисленный массив из N целых чисел. * Найти максимальный элемент массива */ #include <iostream> using namespace std; int main() { int *arr; // указатель для выделения памяти под массив int size; // размер массива // Ввод количества элементов массива cout << "n = "; cin >> size; if (size <= 0) { // Размер масива должен быть положитлеьным cerr << "Invalid size" << endl; return 1; } arr = new int[size]; // выделение памяти под массив // заполнение массива for (int i = 0; i < size; i++) { cout << "arr[" << i << "] = "; cin >> arr[i]; } // Нахождение максимального элемента int max = arr[0]; for (int i = 1; i < size; i++) { if (arr[i] > max) { max = arr[i]; } } // Вывод результата на экран cout << "max = " << max << endl; delete [] arr; // освобождение памяти return 0; }
Решение задачи: «Из языка С++ перевести в Си»
textual
Листинг программы
#include <stdio.h> #include <malloc.h> int main(void) { int* arr; // указатель для выделения памяти под массив int i, max, size; // размер массива // Ввод количества элементов массива printf("n = "); scanf("%d", &size); if (size <= 0) { // Размер масива должен быть положительным fputs("Invalid size", stderr); return 1; } arr = (int*)malloc((size_t)size * sizeof(int)); // выделение памяти под массив // заполнение массива for (i = 0; i < size; i++) { printf("arr[%d] = ", i); scanf("%d", &arr[i]); } // Нахождение максимального элемента max = arr[0]; for(i = 1; i < size; i++) { if(arr[i] > max) max = arr[i]; } // Вывод результата на экран printf("max = %d\n", max); free(arr); // освобождение памяти return 0; }
Объяснение кода листинга программы
- Объявлены переменные: указатель arr, переменные i, max, size.
- Пользователю предлагается ввести количество элементов массива.
- Проверка: если размер массива отрицательный или равен нулю, выводится сообщение об ошибке и возвращается 1.
- Выделение памяти под массив с помощью malloc.
- Цикл: заполнение массива с помощью scanf.
- Цикл: поиск максимального элемента, начиная со второго элемента массива.
- Вывод максимального элемента на экран с помощью printf.
- Освобождение памяти с помощью free.
- Возвращение 0, означающее успешный завершение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д