Найти минимальный элемент матрицы - 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, что означает успешный конец работы программы.