Ввод матрицы с клавиатуры - C (СИ)
Формулировка задачи:
Листинг программы
- #include <stdio.h>
- #include <conio.h>
- #include <math.h>
- #define Max 100
- #define N 5
- int main ()
- {float min;
- int i,j,C[N][N]=
- {{0,100,2,1,2},
- {2,0,100,8,1},
- {100,1,0,1,3},
- {1,100,2,0,1},
- {100,2,5,5,0}},A[N][N],B[N][N],B_new[N][N],k,fl;
- for (i=0;i<N;++i)
- for (j=0;j<N;++j)
- A[i][j]=B[i][j]=C[i][j];
- for (int i=0; i<N; i++)
- for (int j=0; j<N; j++)
- //if ((i==j || i==N-j) && C[i][i]>0) //замена диагональных элементов матрицы на 0
- C[i][i]= A[i][i] =B[i][i]=0;
- //B_new[i][j]
- do{fl=0;
- for (i=0;i<N;++i)
- for (j=0;j<N;++j){
- min = A[i][0]+B[0][j];
- for (k=1;k<N;++k){
- B_new[i][j]=A[i][k]+B[k][j];
- if( min >(A[i][k]+B[k][j]))
- min = A[i][k]+B[k][j];
- B_new[i][j]= min;
- }
- }
- for(i=0;i<N;i++){
- for(j=0;j<N;j++){
- if(B[i][j]!=B_new[i][j])
- {fl=1;
- for (i=0;i<N;++i)
- for (j=0;j<N;++j)
- B[i][j]=B_new[i][j];
- break;
- }}}
- if(fl) break;
- }while(fl);
- //exit
- printf("Matrix B\n");
- for ( i = 0; i < N; i ++ ) {
- for ( j = 0; j < N; j ++ )
- printf ( "\t%d" ,B[i][j] );
- printf("\n");
- }
- return 0;
- }
Решение задачи: «Ввод матрицы с клавиатуры»
textual
Листинг программы
- for (int i = 0; i<n; i++){
- for (int j = 0; j<m; j++){
- scanf_s("%i", &matrica[i][j]);
- }
- }
Объяснение кода листинга программы
- Переменная
n
содержит количество строк в матрице. - Переменная
m
содержит количество столбцов в матрице. - Матрица
matrica
представляет собой двумерный массив, в котором хранятся значения, введенные пользователем. - Ввод значений матрицы осуществляется с помощью функции
scanf_s
, которая считывает целочисленное значение и записывает его в соответствующую ячейку матрицы. - Внешний цикл
for
выполняетсяn
раз, перебирая строки матрицы. - Внутренний цикл
for
выполняетсяm
раз, перебирая столбцы матрицы. - В каждой итерации внутреннего цикла происходит считывание значения из стандартного ввода с помощью функции
scanf_s
и запись его в соответствующую ячейку матрицы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д