Ejercicios y practicas de programación en c resueltos o con solución
El ejercicio planteado es el siguiente:
Ejercicios : Realizar sumatorio de números de un archivo
Realizar la petición de cinco números, alterando su valor de positivo a negativo y viceversa, a la vez que se almacenan en un vector, para posteriormente ordenarlo y visualizar los números ordenados.
La solución de los ejercicios que se plantean es la siguiente:
/*
Programas propuesto por usuarios del blog www.aprendoencasa.com
el cual ha de solicitar cinco numeros y almacenarlos en una matriz
numerico, si el numero es positivo ha de cambiar a negativo y viceversa
visualizando posteriormente los numeros en orden descendente.
Contenido:
Matrices, valores numericos, ordenar, programacion, lenguaje C
www.aprendoencasa.es
www.aprendoencasa.com
Nacho Saez
*/
// Librerias a utilizar
#include <stdio.h>
#include <stdlib.h>
// Definicion de constantes
#define CUANTOS 5
// Funcion Principal
int main(int argc, char *argv[])
{
// Creacion de las variables a utilizar
int Vector[CUANTOS];
int Numero=0;
int Contador=0;
int Elementos=0;
int bandera=0;
int intercambio=0;
// Solicitar los cinco numeros del vector por pantalla
// comprobar su valor positivo o negativo alternando el mismo
// a la hora de almacenarlo en el vector.
for(Contador=0;Contador<CUANTOS;Contador++) {
// Visualizar mensaje de peticion de numero
printf("\nValor Numero...: ");
// Solicitar el numero
scanf(" %d",&Numero);
// Invertir su valor positivo, negativo
Numero*=-1;
// Almacenar en el vector
Vector[Contador]=Numero;
}
// Visualizar el vector de forma ascendente a su introduccion
printf("\nVector Visualizado Ascendentemente Introduccion");
for(Contador=0;Contador<CUANTOS;Contador++) {
printf("\nPosicion : %d Valor : %d ",Contador+1,Vector[Contador]);
}
// Visualizar el vector de forma descendente a su introduccion
printf("\nVector Visualizado Descendentemente Introduccion");
for(Contador=CUANTOS-1;Contador>=0;Contador--) {
printf("\nPosicion : %d Valor : %d ",Contador+1,Vector[Contador]);
}
// Ordenar el vector por el metodo de intercambio directo o burbuja
bandera=1;
for(Elementos=CUANTOS-1;Elementos>0 && bandera==1;Elementos--)
{
bandera = 0;
for(Contador=0;Contador<Elementos;Contador++)
{
if(Vector[Contador]>Vector[Contador+1])
{
intercambio = Vector[Contador];
Vector[Contador] = Vector[Contador+1];
Vector[Contador+1] = intercambio;
bandera = 1;
}
}
}
// Visualizar el vector de forma ascendente a su introduccion
printf("\nVector Visualizado Ascendentemente ordenado");
for(Contador=0;Contador<CUANTOS;Contador++) {
printf("\nPosicion : %d Valor : %d ",Contador+1,Vector[Contador]);
}
// Visualizar el vector de forma descendente a su introduccion
printf("\nVector Visualizado Descendentemente ordenado");
for(Contador=CUANTOS-1;Contador>=0;Contador--) {
printf("\nPosicion : %d Valor : %d ",Contador+1,Vector[Contador]);
}
printf("\n\nFin programa.\n");
system("PAUSE");
return 0;
}
El resultado del ejercicio o práctica que se ha solucionado, ha de ser similar al que se muestra en la siguiente imagen: