Не могу переделать код (использование printf и scanf вместо cout и cin) - C (СИ)
Формулировка задачи:
Нужно сделать лабораторную работу по C, но у меня вообще ничего не получается с printf и scanf, плюс разбить на отдельные функции(ввод данных, вывод). Помогите пожалуйста!
Задание выглядит примерно так:
Программу изменить так, чтобы:
-исходные данные читались с клавиатуры;
-выдача результирующих данных производилась в консоль.
Вот мой код, который я написал под С++
[code]
#include "stdafx.h" #include <iostream> #include <ctime> #include <iomanip> using namespace std; int main() { srand(time(0)); // генерация случайных чисел int num; cin >> num; float *arr = new float[num]; float **ptrarray = new float*[num]; for (int count = 0; count < num; count++) ptrarray[count] = new float[num]; // заполнение массива for (int count_row = 0; count_row < num; count_row++) for (int count_column = 0; count_column < num; count_column++) ptrarray[count_row][count_column] = (rand() % 100 + 1) / float((rand() % 100 + 1)); //заполнение массива случайными числами с масштабированием от 1 до 1000 // вывод массива for (int count_row = 0; count_row < num; count_row++) { for (int count_column = 0; count_column < num; count_column++) cout << setw(4) << setprecision(2) << ptrarray[count_row][count_column] << " "; cout << endl; } int i, j; float min; for (i = 0; i < num; i++) { min = ptrarray[i][0]; for (j = 1; j < num; j++) { if (ptrarray[i][j]<min) min = ptrarray[i][j]; } arr[i] = min; cout << arr[i] << " "; } //удаление из памяти for (int count = 0; count < num; count++) delete[]ptrarray[count]; delete[] arr; system("pause"); return 0; }
Решение задачи: «Не могу переделать код (использование printf и scanf вместо cout и cin)»
textual
Листинг программы
//#include "stdafx.h" #include <iostream> #include <ctime> #include <iomanip> //using namespace std; int main() { srand(time(0)); // генерация случайных чисел int num; scanf("%d", &num); //cin >> num; float *arr = new float[num]; float **ptrarray = new float*[num]; for (int count = 0; count < num; count++) ptrarray[count] = new float[num]; // заполнение массива for (int count_row = 0; count_row < num; count_row++) for (int count_column = 0; count_column < num; count_column++) ptrarray[count_row][count_column] = (rand() % 100 + 1) / float((rand() % 100 + 1)); //заполнение массива случайными числами с масштабированием от 1 до 1000 // вывод массива for (int count_row = 0; count_row < num; count_row++) { for (int count_column = 0; count_column < num; count_column++) printf("%0.2f ", ptrarray[count_row][count_column]); printf("\n"); //cout << setw(4) << setprecision(2) << ptrarray[count_row][count_column] << " "; //cout << endl; } printf("\n"); int i, j; float min; for (i = 0; i < num; i++) { min = ptrarray[i][0]; for (j = 1; j < num; j++) { if (ptrarray[i][j]<min) min = ptrarray[i][j]; } arr[i] = min; printf("%0.2f ", arr[i]); //cout << arr[i] << " "; } //удаление из памяти for (int count = 0; count < num; count++) delete[]ptrarray[count]; delete[] arr; system("pause"); return 0; }
Объяснение кода листинга программы
- Начало работы программы
- Генерация случайных чисел
- Ввод количества строк для матрицы
- Выделение памяти под матрицу
- Заполнение матрицы случайными числами
- Вывод матрицы на экран
- Поиск минимального элемента в каждой строке матрицы и его сохранение в отдельном массиве
- Вывод минимальных значений на экран
- Удаление выделенной памяти
- Ожидание нажатия клавиши для завершения работы программы
- Возврат 0, что означает успешное завершение работы программы В данном коде используется два массива: массив-матрица с случайными числами и массив для хранения минимальных значений в каждой строке. С помощью функции scanf вводится количество строк для матрицы. Далее с помощью двух вложенных циклов заполняется матрица случайными числами. Затем с помощью двух вложенных циклов выводятся значения матрицы на экран. Далее с помощью двух вложенных циклов находится минимальное значение в каждой строке матрицы и сохраняется в отдельном массиве. Затем с помощью одного цикла выводятся минимальные значения на экран. После этого освобождается выделенная память и ожидается нажатие клавиши для завершения работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д