
[Error] expected declaration or statement at end of input
Publicado por Miguel (1 intervención) el 13/10/2021 09:24:23
Hola comunidad, espero se encuentren bien!!!
Espero puedan ayudarme con el siguiente error se los agradecere mucho.
Les comparto mi codigo, el programa debe calcular el umbral de un numero para obtener su raiz.
El error me lo da en la ultima llave del main. Agradezco mucho su atencion.
Saludos y exito.
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define UMBRAL 0.01
#define N 4
void calculaRaiz(int arreglo[], double raiz[], int nums){
int inicio,medio,fin,i;//declaracion de variables inicio medio fin i
double mediob,error;// mediob para calcular el cuadrado de medio y error para comparar el umbral
int el_num; //variable que adquiere el valor del primer elemento del arreglo
i=0;
el_num=arreglo[i];//se adquiere el primer numero del arreglo a evaluar
inicio=0; //primer punto para determinar punto medio
fin=el_num; //el primer numero del arreglo se asigna como ultimo valor para hacer los calculos
for (i=0;i<nums;){//ciclo FOR para calcular las raices y el umbral
do
{
fflush(stdin); //borrar el buffer despues de cada interacion
medio=(double)(inicio+fin)/2; //obtiene el valor medio entre el primer punto 0 y el num a evaluar
mediob=medio*medio; //medio al cuadrado
error=fabs(el_num-mediob); //se hace la resta de medio^2 con el numero entero
if(mediob>2){// se toma el valor de la izquierda
fin=medio;
}
if(mediob<2){//se toma el valor de la derecha
inicio=medio;
}
} while(error!=UMBRAL);
if(error<=UMBRAL){
raiz[i]=mediob; // se regresa el valor de la raiz que se obtuvo
inicio=0; //se inicializa el valor del inicio
i++; //i++; //se actualiza el contador del ciclo FOR
el_num=arreglo[i]; //se toma el siguiente valor del arreglo para hacer comparacion con el error
fin=el_num; //se actualiza el siguiente num del arreglo a evaluar
}
}
void imprimeRaiz(int *arreglo, double *raiz, int nums){
int i;
for(i=0;i<nums;i++){
printf("Numero %d Raiz %lf",arreglo+i,raiz+i);
}
}
int main(){
int Arreglo[N]={4,5,7,2};
double Raiz[N];
calculaRaiz(Arreglo,Raiz,N);
imprimeRaiz(Arreglo,Raiz,N);
return 0;
}
Espero puedan ayudarme con el siguiente error se los agradecere mucho.
Les comparto mi codigo, el programa debe calcular el umbral de un numero para obtener su raiz.
El error me lo da en la ultima llave del main. Agradezco mucho su atencion.
Saludos y exito.
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define UMBRAL 0.01
#define N 4
void calculaRaiz(int arreglo[], double raiz[], int nums){
int inicio,medio,fin,i;//declaracion de variables inicio medio fin i
double mediob,error;// mediob para calcular el cuadrado de medio y error para comparar el umbral
int el_num; //variable que adquiere el valor del primer elemento del arreglo
i=0;
el_num=arreglo[i];//se adquiere el primer numero del arreglo a evaluar
inicio=0; //primer punto para determinar punto medio
fin=el_num; //el primer numero del arreglo se asigna como ultimo valor para hacer los calculos
for (i=0;i<nums;){//ciclo FOR para calcular las raices y el umbral
do
{
fflush(stdin); //borrar el buffer despues de cada interacion
medio=(double)(inicio+fin)/2; //obtiene el valor medio entre el primer punto 0 y el num a evaluar
mediob=medio*medio; //medio al cuadrado
error=fabs(el_num-mediob); //se hace la resta de medio^2 con el numero entero
if(mediob>2){// se toma el valor de la izquierda
fin=medio;
}
if(mediob<2){//se toma el valor de la derecha
inicio=medio;
}
} while(error!=UMBRAL);
if(error<=UMBRAL){
raiz[i]=mediob; // se regresa el valor de la raiz que se obtuvo
inicio=0; //se inicializa el valor del inicio
i++; //i++; //se actualiza el contador del ciclo FOR
el_num=arreglo[i]; //se toma el siguiente valor del arreglo para hacer comparacion con el error
fin=el_num; //se actualiza el siguiente num del arreglo a evaluar
}
}
void imprimeRaiz(int *arreglo, double *raiz, int nums){
int i;
for(i=0;i<nums;i++){
printf("Numero %d Raiz %lf",arreglo+i,raiz+i);
}
}
int main(){
int Arreglo[N]={4,5,7,2};
double Raiz[N];
calculaRaiz(Arreglo,Raiz,N);
imprimeRaiz(Arreglo,Raiz,N);
return 0;
}
Valora esta pregunta


0