Foros del Web » Programación para mayores de 30 ;) » C/C++ »

c++ recursividad

Estas en el tema de c++ recursividad en el foro de C/C++ en Foros del Web. Hola! Soy nuevo en estos foros y me gustaria que alguien me ayudara con un ejercicio que me han dado en clase. El ejercicio dice ...
  #1 (permalink)  
Antiguo 05/02/2008, 11:16
 
Fecha de Ingreso: febrero-2008
Mensajes: 1
Antigüedad: 16 años, 11 meses
Puntos: 0
c++ recursividad

Hola! Soy nuevo en estos foros y me gustaria que alguien me ayudara con un ejercicio que me han dado en clase. El ejercicio dice lo siguiente:

Programa un metodo recursivo que invierta el orden de un vector de números enteros.

Mi problema es que el profesor nos ha pedido que lo hagamos con dos matrices, pero no me ha salido y en cambio de otro modo si. Aquí os pongo lo que tengo hecho de mientras en el otro modo:

#include <stdio.h>
#include <stdlib.h>

int invertir(int incvec[], int pos){

if(pos==0){

return 0;

}else{

while(pos>=0){


printf("%d ",incvec[pos]);
pos--;
}
return incvec[pos];
}
}

int main10(){

int incvec[20];
int cont, cont2, *resultat;

cont=0;
cont2=0;

do{

printf("Si vols sortir de possar valors teclejar el 0.\n");
printf("Posa un valor al vector: \n");
scanf("%d",&incvec[cont]);
cont++;

}while(incvec[cont-1]!=0);

cont=cont-2;

invertir(incvec,cont);

}

Muchas gracias a todos!

Saludos,
  #2 (permalink)  
Antiguo 06/02/2008, 03:25
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 17 años
Puntos: 606
Re: c++ recursividad

No escribas el código, simplemente di como lo quieres plantear (el de dos matrices) y si tienes dificultades para escribirlo ya entonces te ayudaremos, pero lo mínimo que puedes hacer es decir como plantearlo.
  #3 (permalink)  
Antiguo 09/02/2008, 18:34
Avatar de m4xp0wer  
Fecha de Ingreso: septiembre-2007
Mensajes: 66
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: c++ recursividad

Puedes probar con algo así:
Código PHP:
invertir(vector,posicion,tamanho)
{
aux=vector[posicion]
vector[posicion]=vector[tamanho-posicion-1];
vector[tamanho-posicion-1]=aux;
if (
posicion+1<tamanho/2invertir(vector,posicion+1,tamanho//la comprobación no sé si está bien, pero consiste en mirar si ya llegaste a la mitad del array

para hacerlo con dos matrices se me ocurre lo siguiente:

Código PHP:
invertir(vorigen,vdestino,pos,tamanho)
{
vdestino[pos]=vorigen[tamanho-pos-1]; //intercambiamos
if (pos+1!=tamanhoinvertir(vorigen,vdestino,pos+1,tamanho//miramos si ya acabamos

No sé si los índices de los arrays son correctos (creo que la comprobación de los índices del primero no es correcta...), pero el tema es que pilles la idea
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:07.