Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: Patoscu1 en 10 Mayo 2017, 00:20 AM

Título: Implementar la versión recursiva
Publicado por: Patoscu1 en 10 Mayo 2017, 00:20 AM
hola necesito ayuda con este ejercicio, no lo eh podido hacer.
alguna ayuda porfavor


Implemente la versión recursiva para la siguiente función, indique condición de caso
base y general:
void fx(int m[maxfilas][maxcolumnas])
{
int i,j;
for(i=0;i<maxfilas;i++)
for(j=0;j<maxcolumnas;j++)
m[i][j] = i*j;
}



· Los códigos deben ir en etiquetas GeSHi
· Los titulos deben ser descriptivos
· Movido a C/C++
· El otro tema borrado, no hagas doble post
>aquí las reglas del foro (http://foro.elhacker.net/reglas.htm)
-Engel Lex
Título: Re: Implementar la versión recursiva
Publicado por: engel lex en 10 Mayo 2017, 00:23 AM
dices que no has podido hacerlo, pero no indicas tus dudas

por favor aclara que no sabes o en que te trancas
Título: Re: Implementar la versión recursiva
Publicado por: Patoscu1 en 10 Mayo 2017, 00:25 AM
Cita de: engel lex en 10 Mayo 2017, 00:23 AM
dices que no has podido hacerlo, pero no indicas tus dudas

por favor aclara que no sabes o en que te trancas

la verdad es que no se por donde empezar, y no se como hacer recursiva una matriz
Título: Re: Implementar la versión recursiva
Publicado por: engel lex en 10 Mayo 2017, 00:49 AM
lo que tienes que hacer recursiva no es la matriz, es la función, aquí un ejemplo (lo hice en C++ pero a tus efectos es lo mismo)

Código (cpp) [Seleccionar]
#include <iostream>

void recursiva(int* array, int largo);

int main(){
  int elementos[10];
 
  recursiva(elementos, 10);
 
  int i;
  for(i=0;i<10;i++){
    std::cout << elementos[i] << std::endl;
  }
 
  return 0;
}

void recursiva(int* array, int largo){
  if(largo>0){
    largo--;
    array[largo] = largo*largo;
    recursiva(array, largo);
  }
}
Título: Re: Implementar la versión recursiva
Publicado por: Patoscu1 en 10 Mayo 2017, 00:56 AM
Cita de: engel lex en 10 Mayo 2017, 00:49 AM
lo que tienes que hacer recursiva no es la matriz, es la función, aquí un ejemplo (lo hice en C++ pero a tus efectos es lo mismo)

Código (cpp) [Seleccionar]
#include <iostream>

void recursiva(int* array, int largo);

int main(){
  int elementos[10];
 
  recursiva(elementos, 10);
 
  int i;
  for(i=0;i<10;i++){
    std::cout << elementos[i] << std::endl;
  }
 
  return 0;
}

void recursiva(int* array, int largo){
  if(largo>0){
    largo--;
    array[largo] = largo*largo;
    recursiva(array, largo);
  }
}


por que escribes void recursiva(int* array, int largo); antes y despues de la main?
Título: Re: Implementar la versión recursiva
Publicado por: engel lex en 10 Mayo 2017, 00:59 AM
ufff estás empezando desde 0... recomiendo tutoriales y entender punteros

void porque no retorna valor (ya que manejo directamente el puntero) y antes del main es el prototipo (la declaración para no tener que hacer el código de void recursiva antes que main, eso se hace comúnmente y ayuda a la legibilidad del código) y el después del main es la función como tal