Programación General > C/C++
Rotar un arreglo arriba o abajo y hallar la moda.
david_lomber:
La verdad no se para que agregaste estas lineas a las funciones :S :
v[n-1]=aux;
v[0] = aux;
Ya que como estaba no necesitaba que le agragaras nada, ya lo acomodaba (a como entendi que lo qerias xD).
Y yo solo le habia puesto como parametro el tamaño ya que el vector lo habia hecho como global, bueno aqui te lo dejo como lo puse en c++, si tu lo ocupas en c lo conviertes :P (puede que encuentres raras algunas cabeceras :P esas se las pone el Builder c++):
//---------------------------------------------------------------------------
#include <vcl.h>
#include <iostream.h>
#include <conio.h>
#define tam 5
void rotarArriba(int, int vec[]);
void rotarAbajo(int, int vec[]);
void mostrar(int, int vec[]);
//vec[5] = {1,2,3,4,5};
//---------------------------------------------------------------------------
int main(int argc, char* argv[])
{
char opc;
int vec[tam] = {1,2,3,4,5};
do{
clrscr();
cout<<"1.- Rotar Arriba"<<endl
<<"2.- Rotar Abajo"<<endl
<<"3.- Mostrar"<<endl
<<"4.- Salir"<<endl;
cin>>opc;
if (opc < '1' || opc > '4'){
cout<<"opcion no valida..."<<endl;
getch();
}else{
switch (opc){
case '1':
rotarArriba(tam, vec);
break;
case '2':
rotarAbajo(tam, vec);
break;
case '3':
mostrar(tam, vec);
getch();
break;
}
}
}while(opc != '4');
return 0;
}
//---------------------------------------------------------------------------
void mostrar(int n, int vec[]){
for (int i=0; i<n; i++) cout<<vec[i]<<"\t";
}
//---------------------------------------------------------------------------
void rotarArriba(int n, int vec[]){
int aux = vec[0];
for (int i=1; i<n; i++)
vec[i-1] = vec[i];
vec[n-1] = aux;
}
//---------------------------------------------------------------------------
void rotarAbajo(int n, int vec[]){
int aux = vec[n-1];
for (int i=n-2; i>=0; i--)
vec[i+1] = vec[i];
vec[0] = aux;
}
Saludos!!
EDITO: Ahora me di cuenta que las lineas son las mismas que puse yo xDDD, nada más que tu las metiste dentro de los for y yo las tenia fuera :P
v[n-1]=aux;
v[0] = aux;
Eriol:
David, muchas gracias por ayudar.
Mira, el programa en C Borland corre normalmente aunque no reconoce la librería #include <vcl.h> en el Visual C++ que es el que utilizo normalmente no me reconoce además de esa, la iostream.h
Sin embargo, es perfectamente adaptable, pero la cosa es que mi menú solo debe tener 3 opciones.
Rotar Arriba, Rotar Abajo y Salir.
Una cosa que no comenté antes, es que además de eso, al momento de hacer la rotación, apenas seleccione una de las 2 opciones, el programa debe mostrar en pantalla la rotación sin que el usuario tenga que escoger verla.
david_lomber:
Solo borra la opcion Mostrar del menu y del switch su correspondienta opcion (case '3') y en los case de rotarArriba y rotarAbajo despues de llamar esas funciones, abajo haz una llamada a la funcion mostrar.
Saludos!!
Eriol:
David, :gracias:
Navegación
[*] Página Anterior
Ir a la versión completa