Найти минимальный элемент матрицы - C (СИ) (70560)
Формулировка задачи:
Будьте добры нужна помощь.
Найти минимальный элемент матрицы С (размер m*n), и поменять его местами с первым элементом.
вот все что есть, и то матрицу в конце не выводит
вот все что есть, и то матрицу в конце не выводит
#include "stdafx.h" #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <malloc.h> #include <math.h> #include <Windows.h> #include <locale.h> #include <iostream> #include <iomanip> using namespace std; int main() { setlocale(LC_ALL, "RUS"); int i, j, N, M, с[20][20]; printf ("N="); //ввод количества строк scanf_s("%d" ,& N); printf( "M="); //ввод количества столбцов scanf_s("%d",& M); printf( "Input matrix С \n"); //цикл по переменной i, в которой перебираем строки матрицы for (i = 0; i<N; i++) //цикл по переменной j, в котором перебираем элементы внутри строки for (j = 0; j<M; j++) scanf_s("%i",& с[i][j]); //ввод очередного элемента матрицы printf( "matrix С \n"); for (i = 0; i<N; i++) { //цикл по переменной i, в котором перебираем строки матрицы for (j = 0; j < M; j++) printf("\t",&с[i][j]); //вывод очередного элемента матрицы printf("\n"); //переход на новую строку после вывода всех элементов строки } system("pause"); return 0; }
Решение задачи: «Найти минимальный элемент матрицы»
textual
Листинг программы
#include "stdafx.h" #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <malloc.h> #include <math.h> #include <Windows.h> #include <locale.h> #include <iostream> #include <iomanip> using namespace std; int main() { setlocale(LC_ALL, "RUS"); int i, j, N, M, с[20][20],min ; printf("N="); //ввод количества строк scanf_s("%d", &N); printf("M="); //ввод количества столбцов scanf_s("%d", &M); printf("Input matrix С \n"); //цикл по переменной i, в которой перебираем строки матрицы for (i = 0; i<N; i++) //цикл по переменной j, в котором перебираем элементы внутри строки for (j = 0; j<M; j++) scanf_s("%i", &с[i][j]); //ввод очередного элемента матрицы printf("matrix С \n"); for (i = 0; i<N; i++) { //цикл по переменной i, в котором перебираем строки матрицы for (j = 0; j < M; j++) printf("%d\t", с[i][j]); //вывод очередного элемента матрицы printf("\n"); //переход на новую строку после вывода всех элементов строки } //нахождение минимального min =c[0][0]; for (int i = 0; i < N; i++) { for (int j = 0; j < M; j++) { if (c[i][j] < min) { min = c[i][j]; } } } for (int i = 0; i < N; i++) { for (int j = 0; j < M; j++) { if (c[i][j] = min) { c[i][j] = c[0][0]; } } } c[0][0] = min; system("pause"); return 0; }
Объяснение кода листинга программы
В этом коде выполняются следующие действия:
- Ввод количества строк и столбцов матрицы с помощью функции scanf_s.
- Ввод элементов матрицы с помощью цикла двойной вложенности.
- Вывод матрицы на экран с помощью цикла двойной вложенности и функции printf.
- Инициализация переменной min значением первого элемента первой строки матрицы.
- Поиск минимального элемента матрицы с помощью двух циклов двойной вложенности и условного оператора if.
- Замена всех найденных минимальных элементов на значение первого элемента первой строки матрицы с помощью двух циклов двойной вложенности и оператора присваивания =.
- Вывод матрицы на экран с помощью цикла двойной вложенности и функции printf.
- Ожидание нажатия клавиши с помощью функции system(
pause
). - Возврат 0, что означает успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д