Documente Academic
Documente Profesional
Documente Cultură
mayor.. se que se hace una comparacion entre las posiciones y eso ps... Pero "como se codifica"?
no lo se... osea, como se escribe en lenguaje c para que la compu lo entienda y eso.....
Aunque ya he visto cositas de como es, no entiendo nada nada, porque en una parte del cdigo, se
coloca n-1, por ejemplo aqui "for (i=0;i<=n-1;i++)"..... porque cambia el ciclo for aqui?? miren el
codigo de este programa (que lo entiendo hasta el primer ciclo for, despues me pierdo...):
#include<stdio.h>
void main ()
{
int vector[20];
int n,i,j,aux;
printf ("Cuantos numeros quieres introducir:\n");
scanf ("%i",&n);
printf ("introduce un numero:\n");
if(n>=20){
printf("ingrese menos de 20 numeros\n");
exit(1);
}
for (i=0;i<n;i++){
scanf ("%i",&vector[i]);
}
for (i=0;i<=n-1;i++){
for (j=i+1;j<n;j++){
if (vector[i]>vector[j]){
aux=vector[i];
vector[i]=vector[j];
vector[j]=aux;
}
}
}
for (i=0;i<n;i++){
printf ("%i\n",vector[i]);
}
}
Porque se declaran varias variables? porque se coloca "n-1"?
Porfiiis, ayudenme con esto... :)
??????????????????????????????????
#include<iostream>
using namespace std;
int ordenar(int[],int);
int imprimir(int[]);
int main()
{
int c,lista[9],ord;
for(c=0;c<=9;c++)
{
cout<<"Numero "<<c+1<<": "; cin>>lista[c];
}
cout<<"nAscendente 1nDescendente 2n--> Opcin: "; cin>>ord;
if(ord==1 || ord==2)
{
ordenar(lista,ord);
imprimir(lista);
}
}
int ordenar(int lista[],int ord)
{
int c1,c2,aux;
for(c1=0;c1<=9;c1++)
{
for(c2=0;c2<9;c2++)
{
if(ord==1)
{
if(lista[c2]>lista[c2+1])
{
aux=lista[c2];
lista[c2]=lista[c2+1];
lista[c2+1]=aux;
}
}
else
{
if(lista[c2]<lista[c2+1])
{
aux=lista[c2];
lista[c2]=lista[c2+1];
lista[c2+1]=aux;
}
}
}
}
return 0;
}
int imprimir(int lista[])
{
int c;
for(c=0;c<=9;c++)
cout<<lista[c]<<" ";
cin.get();cin.get();
}
Y TU DUDA:coloca n-1, por ejemplo aqui "for (i=0;i<=n-1;i++)".
n: variable; n-1= son las pasadas que se deben realizar para poder ordenar el vector..
FOR (es el vector) i= tamao del vector donde i debe ser menor o igual a n-1 e i debe
incrementarse...
Espero que te sirva
#include <stdlib.h>
#include <stdio.h>
/*funcion que se encargara de ordenar el arreglo*/
void burbuja(int *item, int cont) {
int i, j, ordenado = 0;
int temp;
for (i = 1; i < cont; i++) {
for (j = cont-1; j >= i; j--) {
ordenado = 0;
if (item[j-1] > item[j]) {
temp = item[j-1];
item[j-1] = item[j];
item[j] = temp;
ordenado++;
}
}
/*cuando la variable ordenado sea igual a 0
significara que el arreglo este ordenado
y no sera necesario seguir recorriendo el
arreglo para hacer comparaciones*/
if (ordenado == 0)
break;
}
}
int main(void) {
int tam, n;
/*definimos el tamao del arreglo*/
printf("Ingrese el tamao del arreglo:n");
scanf("%d", &tam);
int arreglo[tam];
/*ingresamos valores al arreglo*/
printf("Ingrese valores al arreglo:n");
for (n = 0; n < tam; n++)
scanf("%d", &arreglo[n]);
printf("n");
/*mostramos el arreglo original*/
printf("Arreglo Original:n");
for (n = 0; n < tam; n++)
printf("%d ", arreglo[n]);
printf("n");
/*hacemos el llamado a la funcion burbuja, a la cual
le pasamos como parametros el arreglo y el tamao*/
burbuja(arreglo, tam);
/*mostramos el arreglo ordenado*/
printf("Arreglo Ordenado:n");
for (n = 0; n < tam; n++)
printf("%d ", arreglo[n]);
printf("n");
}
Para informacin adicional puede visitar mi weblog - http://jfsalazar.blogspot.com -
Programador:
def.- mquina orgnica que convierte cafena en cdigo fuente