C – Saber si dos arreglos o matrices son iguales

Publicado por parzibyte en

En este post te voy a enseñar a comparar arreglos y matrices en el lenguaje de programación C para saber si son iguales o no.

Se dice que dos arreglos o matrices son iguales cuando la longitud de ambos es la misma, y tienen los mismos elementos en las mismas posiciones.

Recomendado: arreglos en C.

Saber si dos arreglos son iguales en C

Para saber si dos arreglos son iguales en C, obtenemos su longitud y la comparamos.

Si la longitud es distinta, obviamente los arreglos no son iguales.

En caso de que la longitud sea la misma, hacemos un ciclo recorriendo el arreglo.

Se supone que los dos arreglos deberían tener los mismos datos, así que simplemente accedemos a ambos arreglos usando el mismo índice y comparamos sus datos.

El siguiente código de C compara dos arreglos y dice si son iguales o no:

Puedes probarlo aquí.

Función que indica si dos arreglos son iguales en C

También podríamos encerrar el comportamiento en una función que regresa 1 en caso de que sean iguales, y 0 en caso de que no.

Necesitamos la longitud de ambos arreglos (además de los arreglos) porque cuando pasamos los arreglos a una función, no es tan fácil obtener la longitud de los mismos.

El código queda así:

Como ves, es una función que indica si dos arreglos son iguales en C. Recibe la longitud de ambos arreglos, y los arreglos.

Recuerda que los arreglos pueden ser llenados por ti o por el usuario usando por ejemplo scanf como veremos en el ejemplo de abajo, en donde comparamos matrices en C.

Puedes probarla aquí.

Saber si dos matrices son iguales

Una matriz es un arreglo de dos dimensiones. Para saber si dos matrices son iguales se sigue el mismo procedimiento, pero mirando ambas dimensiones.

Aquí está el código de ejemplo que pide datos por teclado, rellena las matrices y luego las compara:

Prueba la comparación de matrices aquí.

Recuerda que podríamos encerrar todo en una función, terminar la función principal con return, etcétera.

Todo depende de tus necesidades. Espero que haya servido


parzibyte

He trabajado por más de 4 años en el desarrollo de software con experiencia en Java, PHP, JavaScript, HTML, Node.JS, Python, Android y Go. También he trabajado con bases de datos SQL como MySQL y SQLite, así como con bases de datos NoSQL usando MongoDB.Soy bueno utilizando algunos frameworks y herramientas como Firebase, jQuery, AngularJS, VueJS, CodeIgniter, Laravel, BulmaCSS, Bootstrap y Electron.Otros términos que conozco son: Arduino, GraphQL, API's, REST, AJAX, PouchDB, CouchDB, Experiencia de usuario, buenas prácticas de programación, Webpack, NPM, Administración de servidores y programación de scriptsLa plataforma en la que tengo más experiencia es la web, pero en mis ratos libres realizo unos pequeños ejercicios en C# y C.Estoy aquí para ayudarte a resolver tus problemas de programación y depuración :-)

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

A %d blogueros les gusta esto: