Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - aisak77

#1
***SOLUCIONADO***

Era debido a que se realizarían infinitas llamadas recursivas puesto que no es correcto asignar los sucesores con un postincremento (i++), se solucionaría simplemente cambiando dicho incremento por (i+1) o (++i).

Un Saludo!.
#2
#include <stdio.h>
#include <stdlib.h>

int f1 (int *A, int n, int i);

int main(){
   
   int n = 4,a = 1;
   int i = 1;
   
   f1(&a,n,i);
   
   printf("LISTO");
   
}

int f1 (int *A, int n, int i)
{
   
   if (i == n)
      return 0;
   else
   {
   return f1(A, n, i++);
   }
}

Me da el siguiente error de compilación [Error] invalid conversion from 'int' to 'int*' [-fpermissive], no entiendo cual puede ser el problema :huh:, gracias.
#3
Resumiendo, quedaría tal que así:

Según las declaraciones int *dx = &x, **ddx = &dx;
i. x es de tipo:Entero
ii. dx es de tipo:Puntero
iii. ddx es de tipo:Puntero a Puntero
iv. *dx es de tipo:Entero
v. *ddx es de tipo:Puntero
vi. **dx es de tipo:Entero

Dadas las siguientes declaraciones int V[4] = 1, 3, 4, 5, *p; Qué valor
contiene:
i. V + 3:Dirección de memoria del cuarto elemento del vector.
ii. p después de la asignación p = &v[0]:Dirección de memoria de la primera posición del vector
iii. *(p+3):5
iv. p después de la asignación p = v:Dirección de memoria de la primera posición del vector
v. p+3:Dirección de memoria del cuarto elemento del vector.

Muchas gracias, Un saludo.
#4
Según las declaraciones int *dx = &x, **ddx = &dx;
i. x es de tipo: Entero
ii. dx es de tipo: Puntero
iii. ddx es de tipo: Puntero a Puntero
iv. *dx es de tipo: Entero ( ¿valor de x?
v. *ddx es de tipo: Puntero
vi. **dx es de tipo: Este ya no estoy seguro.., no sé, si es una errata del ejercicio

Dadas las siguientes declaraciones int V[4] = 1, 3, 4, 5, *p; Qué valor
contiene:
i. V + 3: v[3]
ii. p después de la asignación p = &v[0]: Dirección de memoria del primer elemento del vector. "v"
iii. *(p+3): 5
iv. p después de la asignación p = v: DIreccion de memoria del primer elemento del vector. "v"
v. p+3: v[3]

Muchas graccias por tu ayuda ivan, tengo un examen el miercoles, y quiero que estos conceptos me queden bien claros, aunque aún hay algunos que no los consigo comprender bien, aquí te dejo las respuestas según he entendido lo que me has explicado, gracias de nuevo.
#5
Según las declaraciones int *dx = &x, **ddx = &dx;
i. x es de tipo: Entero
ii. dx es de tipo: Entero
iii. ddx es de tipo: Entero
iv. *dx es de tipo: Puntero a Entero
v. *ddx es de tipo: Puntero de Entero
vi. **dx es de tipo: Puntero a Puntero a Entero

Dadas las siguientes declaraciones int V[4] = 1, 3, 4, 5, *p; Qué valor
contiene:
i. V + 3: 5
ii. p después de la asignación p = &v[0]: 1
iii. *(p+3): 5
iv. p después de la asignación p = v: 1
v. p+3: 5

Aquí expongo las posibles respuestas, os agradezco que me corrigieseis, gracias.
#6
Según las declaraciones int *dx = &x, **ddx = &dx;
i. x es de tipo:
ii. dx es de tipo:
iii. ddx es de tipo:
iv. *dx es de tipo:
v. *ddx es de tipo:
vi. **dx es de tipo:

Dadas las siguientes declaraciones int V[4] = 1, 3, 4, 5, *p; Qué valor
contiene:
i. V + 3:
ii. p después de la asignación p = &v[0]:
iii. *(p+3):
iv. p después de la asignación p = v:
v. p+3: