Preguntas de programación en lenguaje C: utilice funciones para resolver la suma, resta y multiplicación de matrices cuadradas de orden N (1 - suma, 2 - resta, 3 - multiplicación, 0 - salida, otro - error )
El problema se divide en dos pasos,
1 Diseño de interfaz, como se mencionó anteriormente
Utilice getchar() para obtener una entrada y luego compile un conmutador. declaración y luego escriba cuatro declaraciones de caso más una predeterminada. Se llaman diferentes funciones según los caracteres ingresados. La salida es salida (0).
2 Diseño de funciones
(1) Esto implica una matriz de orden n. Puede utilizar un puntero a una matriz unidimensional para aplicar dinámicamente la longitud de la memoria,
Por ejemplo, int *p ;p=(int)malloc(sizeof(int)*n*n);//Aplicación para n×n ints
Luego asigne valores uno por uno Al hacer suma, resta y multiplicación, la suma y la resta son buenos ejemplos de cálculo, pero la operación de multiplicación debe ser el resultado de multiplicar y sumar p [i*n+j] = p1 y la i-ésima fila y la j-. aésima columna de p2 respectivamente. Es más complicado
La cuestión que hay que considerar es si los órdenes de las dos matrices de la izquierda y la derecha son consistentes
(2) La principal dificultad del programa radica en la multiplicación de las dos matrices p1 y p2. Algoritmo, el resultado se coloca en p, la idea es la siguiente
for(int i=0;i for(int j=0;j { int suma=0 for(int k=0;k for (int l=0;l suma+=p1(i*n+k)*p2(l*n+j );//Pon la i-ésima línea de p1 y p2 Agrega la j-ésima columna p[i*n+j]= sum }