Tutorial sobre cómo escribir código para intercambiar valores de matriz en lenguaje C

Una necesidad común al programar en lenguaje C es intercambiar los valores de dos elementos en una matriz. Esta operación se utiliza en muchos algoritmos y programas, por lo que es muy importante aprender a escribir código que intercambie valores de matriz. Este tutorial le presentará cómo utilizar el lenguaje C para implementar esta función.

Antes de comenzar a escribir el código, primero debemos aclarar el propósito del intercambio de valores de elementos de matriz. Intercambiar los valores de los elementos de una matriz significa intercambiar los valores de dos elementos. Para lograr esta función, podemos usar una variable auxiliar para almacenar temporalmente el valor de un elemento, luego asignar el valor de otro elemento a esta variable y finalmente asignar el valor de la variable auxiliar al segundo elemento. Aquí hay un ejemplo de código que intercambia los valores de los elementos de la matriz:

4 Tutorial sobre cómo escribir código para intercambiar valores de matriz en lenguaje C

#incluir

intercambio vacío (int *a, int *b) {

int temperatura = *a;

*a = *b;

*b = temperatura;

}

int principal() {

int arreglo[] = {4, 2, 6, 1, 8};

int tamaño = tamaño de (arr) / tamaño de (arr [0]);

int primer índice = 0;

int segundo índice = 3;

printf(\matriz antes del intercambio:\ for (int i = 0; i < tamaño; i++) {

printf(\d\arr[i]);

}

printf(\n\ swap(&arr[primeríndice], &arr[segundoíndice]);

printf(\Matriz intercambiada:\ for (int i = 0; i < tamaño; i++) {

printf(\d\arr[i]);

}

printf(\n\ retorno 0;

}

En este código, definimos una swapfunción que acepta dos punteros como parámetros. swapLa función utiliza una variable auxiliar temppara almacenar el valor del primer elemento, luego asigna el valor del segundo elemento al primer elemento y finalmente asigna el valor de la variable auxiliar al segundo elemento. En mainla función, definimos una matriz de números enteros arre inicializamos los valores de algunos elementos. Elegimos intercambiar los dos elementos en el índice 0 y el índice 3 en la matriz e swapimplementar el intercambio llamando a una función.

Al ejecutar este código, podemos ver el siguiente resultado:

Matriz antes del intercambio: 4 2 6 1 8

Matriz intercambiada: 1 2 6 4 8

A través de este sencillo ejemplo, aprendimos cómo usar el lenguaje C para escribir código que intercambie los valores de los elementos de una matriz. A continuación, podemos ampliar aún más esta funcionalidad para trabajar con diferentes tipos de matrices.

Para diferentes tipos de matrices, podemos implementar funciones de intercambio universal utilizando métodos de programación genéricos. La programación genérica es un método de programación que nos permite escribir código independiente de tipos específicos. En lenguaje C, podemos usar voidpunteros para implementar programación genérica. A continuación se muestra un ejemplo de código que utiliza programación genérica para implementar una función genérica que intercambia los valores de los elementos de una matriz:

#incluir

intercambio vacío (vacío *a, vacío *b, tamaño_t tamaño) {

temperatura de carbón[tamaño];

memcpy(temperatura, a, tamaño);

memcpy(a, b, tamaño);

memcpy(b, temperatura, tamaño);

}

int principal() {

int arreglo1[] = {4, 2, 6, 1, 8};

int tamaño1 = tamaño de (arr1) / tamaño de (arr1 [0]);

int primerIndice1 = 0;

int segundoIndice1 = 3;

doble arreglo2[] = {3,14, 2,71, 1,41, 2,23};

int tamaño2 = tamaño de (arr2) / tamaño de (arr2 [0]);

int primerIndice2 = 1;

int segundoIndex2 = 2;

printf(\matriz de enteros antes del intercambio:\ for (int i = 0; i < size1; i++) {

printf(\d\arr1[i]);

}

printf(\n\ swap(&arr1[primerÍndice1], &arr1[segundoÍndice1], tamaño de(int));

printf(\Matriz de enteros intercambiados:\ for (int i = 0; i < size1; i++) {

printf(\d\arr1[i]);

}

printf(\n\ printf(\Matriz de punto flotante de doble precisión antes del intercambio:\ for (int i = 0; i < size2; i++) {

printf(\2lf\arr2[i]);

}

printf(\n\ swap(&arr2[primerÍndice2], &arr2[segundoÍndice2], tamaño de(doble));

printf(\Matriz de punto flotante de doble precisión intercambiada:\ for (int i = 0; i < size2; i++) {

printf(\2lf\arr2[i]);

}

printf(\n\ retorno 0;

}

En este código, hemos modificado swapla definición de la función para que acepte un parámetro adicional sizepara especificar el tamaño de bytes del elemento. Dentro de la función, usamos memcpyfunciones para implementar intercambios de valores de elementos genéricos. En mainla función, definimos dos matrices, una es una matriz de números enteros arr1y la otra es una matriz de punto flotante de doble precisión arr2. Intercambiamos diferentes elementos en la matriz respectivamente y generamos la matriz antes y después del intercambio.

Al ejecutar este código, podemos ver el siguiente resultado:

Matriz de enteros antes del intercambio: 4 2 6 1 8

Matriz de enteros intercambiada: 1 2 6 4 8

Matriz de coma flotante de doble precisión antes del intercambio: 3,14 2,71 1,41 2,23

Matriz de punto flotante de doble precisión intercambiada: 3,14 1,41 2,71 2,23

A través de este ejemplo, aprendimos cómo escribir una función de intercambio general que se puede aplicar a diferentes tipos de matrices.

En resumen, este tutorial le presentó cómo escribir código para intercambiar los valores de los elementos de una matriz usando el lenguaje C. Primero usamos una variable auxiliar para implementar el intercambio y luego usamos métodos de programación genéricos para hacer que la función de intercambio sea aplicable a diferentes tipos de matrices. Al aprender este conocimiento, podremos aplicar mejor el lenguaje C para el desarrollo de programación. ¡Espero que este tutorial sea útil para todos!
El código de este artículo se transfiere desde: https://www.wodianping.com/c/2023-08/253940.html

おすすめ

転載: blog.csdn.net/qq_42151074/article/details/132270325