Cómo escribir un programa que ingrese n números y diga el más pequeño y el más grande

El elemento más pequeño y más grande se puede encontrar en un solo recorrido de una matriz. i .e. en O (N). La idea es usar dos variables min y max que realicen un seguimiento del elemento mínimo y máximo encontrado hasta un índice particular en la matriz respectivamente. Inicialmente podemos inicializar min a un número grande arbitrario y max a un número menor. Luego, a medida que recorremos la matriz, si encontramos un elemento menor que min o mayor que max, podemos hacer un seguimiento de ellos y finalmente imprimir los resultados. A continuación se muestra el código C para el mismo

#include
#include // para INT_MIN e INT_MAX
int a [10000]; // matriz para almacenar los números
int main () {

int min, max, n, i;
min = INT_MAX; // almacenará el elemento mínimo
max = INT_MIN; // almacenará el elemento máximo

printf (“Ingrese el valor de n:”);
scanf (“% d”, & n);
printf (“Ingrese n números:”);
para (i = 0; i <n; i ++) {
scanf (“% d”, a + i);

si (a [i] <min)
min = a [i];

if (a [i]> max)
max = a [i];
}
printf (“Elemento mínimo =% d \ nElemento máximo =% d”, min, max);

devuelve 0;
}

Espero que ayude 🙂

Depende de en qué idioma tiene que escribir el programa.

En lenguaje C, el programa sería:

/ **
* Programa C para encontrar el elemento máximo y mínimo en la matriz
* /

#include

int main ()
{
int arr [100];
int i, max, min, tamaño;

/ *
* Lee matriz de tamaño y elementos en la matriz
* /
printf (“Ingrese el tamaño de la matriz:”);
scanf (“% d”, y tamaño);
printf (“Ingrese elementos en la matriz:”);
para (i = 0; i {
scanf (“% d”, & arr [i]);
}

/ * Supone el primer elemento como máximo y mínimo * /
max = arr [0];
min = arr [0];

/ *
* Encuentra máximo y mínimo en todos los elementos de la matriz.
* /
para (i = 1; i {
/ * Si el elemento actual de la matriz es mayor que max * /
if (arr [i]> max)
{
max = arr [i];
}

/ * Si el elemento actual de la matriz es menor que min * /
si (arr [i] {
min = arr [i];
}
}

/ *
* Imprime el elemento máximo y mínimo
* /
printf (“Elemento máximo =% d \ n”, max);
printf (“Elemento mínimo =% d”, min);

devuelve 0;
}

Para este problema, no se necesita almacenamiento adicional ni algoritmos de clasificación .

Solo sigue los pasos a continuación,

1. Obtenga el valor de n del usuario.

Al obtener n números,

2.set primer número como min y max.

3. Desde el segundo número en las salas verifique los valores mínimo y máximo y actualice los valores.

Como abajo,

#include

int main ()
{
int n, max, min, i, num;

scanf (“% d”, & n); // obtener número de elementos

para (i = 1; i <= n; i ++)
{
scanf (“% d”, & num);

if (i == 1) // establece el primer valor como min y max
{
max = num;
min = num;
}
más // desde el segundo valor en adelante
{
if (num min = num;
if (num> max) // if num mayor que max, establezca max = num
max = num;
}
}

printf (“Max =% d \ nMin =% d \ n”, max, min); // imprime max y min

devuelve 0;
}

No necesita aplicar ningún algoritmo de ordenación para indicar solo los números más grandes y más pequeños de la lista. Eso aumentaría su complejidad ya que incluso el mejor algoritmo de ordenación necesita un tiempo nlog (n) para ordenar n números y también aumentará las líneas de su código.

Entonces, todo lo que necesita hacer es ingresar el primer número, simplemente almacenarlo en dos variables diferentes, digamos min y max (una para el número más pequeño y la otra para el más grande). Desde el segundo número en adelante hasta el enésimo número, simplemente compare los números con max primero. Y si es más pequeño que max, compárelo con min. Y siga actualizando los valores de min y max en consecuencia. Tan pronto como termine de ingresar números, tendrá su número más pequeño y más grande.

si estás usando C entonces

#include

vacío principal();

{

printf (“ingrese el primer no”);

scanf (“% d”, & a);

max = a;

para (i = 1; i <= n-1; i ++)

{printf (“ingrese el no posterior”);

scanf (“% d”, & b);

si (b> max)

{max = b;

}

}

Printf (“max”);

}

simplemente puede usar cualquiera de los métodos de clasificación, como clasificación de burbujas, clasificación de selección, clasificación, etc. entonces el primer y último elemento se convierte en su resultado resultante. supongamos que está ordenando en orden ascendente, ya que el primer elemento será el número más pequeño y el último elemento será el número más grande.

Se puede hacer mediante la clasificación de una matriz, ya sea en orden ascendente o descendente.

  1. Ingrese los números en una matriz de n elementos.
  2. Ordenar los elementos en orden ascendente (u orden descendente).
  3. Ahora el índice 0 contiene el elemento más pequeño y el índice (n-1) contiene el elemento más grande.

More Interesting

¿Cuál es el enfoque para resolver GSS1 y GSS3 en SPOJ usando árboles de segmentos?

¿Cuál es la mejor manera de aprender algoritmos de informática?

Dos conjuntos finitos tienen elementos myn cada uno. El número total de subconjuntos del primer conjunto es 56 más que el número total de subconjuntos del segundo conjunto. ¿Cuáles son los valores de myn?

¿Cómo funciona la búsqueda 'YouTube'? ¿Cómo te señala con precisión una canción con solo unas pocas palabras de la letra?

Cómo calcular coeficientes binomiales para números muy grandes

¿Es difícil implementar un árbol de radix? Si es así, ¿por qué?

¿Cuál es más rápido: clasificación rápida o burbuja, y por qué?

¿Por qué las estructuras de datos y los algoritmos son tan importantes en informática?

¿Tengo que hacer programación competitiva si estoy aprendiendo la estructura de datos y los algoritmos, mientras que la programación competitiva me distrae o primero tengo que aprender la estructura de datos y el algoritmo por completo y luego saltar a la programación competitiva?

¿Qué es un algoritmo basado en población? ¿Cuál es el propósito de esto?

¿Cuál es la diferencia entre los cursos avanzados de algoritmos 6.046 y 6.854 en el MIT?

Si tengo una matriz compuesta de cadenas de dígitos y guiones, ¿cómo puedo usar Javascript para agregar la suma de cada dígito mientras omito los guiones?

Matemáticas generales que uno debe saber antes de tomar la clase de algoritmo? Especialmente para estudiantes con antecedentes no informáticos.

¿Cuáles son algunos conceptos erróneos comunes sobre los algoritmos?

¿Qué es un algoritmo para una solución aproximada al problema del vendedor ambulante?