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 - Noob_boy

#1
ya veo que efectivamente coinciden. Gracias de nuevo por la lección  :D
#2
Muchas gracias ivancea96 y MAFUS :), ahora no entiendo porque el tamaño del vector es diferente en la función que en main :-X
#3
Buenas a todos, pues os explico estaba intentando hacer una función que realice el algoritmo de ordenación burbuja, pero me salta un error de compilación en la línea 5 que no entiendo, dice " invalid type argument of unary '*' (have 'int')"
El código es
#include <stdio.h>

void orden(int arr){
int aux,i,j;
int tam=sizeof(arr)/sizeof(*arr);

for(i=0;i<tam;i++){
for(j=0;tam-i;j++){
if (arr[j]>arr[j+1]){
aux=arr[j];
arr[j]=arr[j+1];
arr[j+1]=aux;
}
}
}
}

int main(){
int vec[]={9,3,5,7,1};
orden(vec);
}


Gracias por adelantado.
#4
yo lo que haría seria hacer el logaritmo en base 10 en entero del numero con sus decimales y así obtendría la parte entera, luego se la restas al numero original y obtienes la parte fraccionaria.

mira yo lo utilice para obtener el reverso de un numero
int reverso(int num){
int reverso=0,exp=log10(num);
while(num>0){
reverso = reverso + (num%10)*pow(10,exp);
exp--;
num=num/10;
}
return reverso;


edito:

He probado ha hacerlo y he visto una manera más simple de hacerlo

#include <stdio.h>

int main(){
float num=44.5;
int entera=num;
float fracionaria=num-entera;
}
   

creo que era eso lo que se buscaba
#5
gracias por la ayuda he modificado el programa y ya hace su funcion  :D

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int reverso(int num){
int reverso=0,exp=log10(num);
while(num>0){
reverso = reverso + (num%10)*pow(10,exp);
exp--;
num=num/10;
}
return reverso;
}
int palindromo(int num){
if (num-reverso(num)==0)
return 0;
else return -1;
}


int main( )
{
int num;
printf("Ingrese un numero\n");
scanf("%d", &num);
while ((palindromo(num)!=0)){
num=num+reverso(num);
}
printf("su palindromo es %d",num);

}
#6
Buenas he estado intentando hacer un programa basandome en una conjetuera matemática que se usa para obtener números palíndromos. En el programa por ejemplo se teclea el 59, entonces 59 + 95 = 154, 154+451=605, 605+ 506= 1111 que es palíndromo.
El caso es que con el codigo que he generado me da un error y se cierra la ventana


#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int reverso(int num){
int reverso=0,exp=log10(num);
while(num>0){
reverso = reverso + (num%10)*pow(10,exp);
exp--;
num=num/10;
}
return reverso;
}
int palindromo(int num){
int num1=num;
int tam=log10(num)+1;
int matriz[tam];
int i,j=0,aux=0;
for(i=0; i<tam;i++){
matriz[i]=num1%10;
num1=num1/10;
}
while(!(i<=0)){
i--;
aux=matriz[i]-matriz[j];
if (aux!=0) return -1;
j++;
}
return 0;
}


int main( )
{
int num,cont;
printf("Ingrese un numero\n");
scanf("%d", &num);
while ((palindromo(num)!=0)||(cont<200)){
num=num+reverso(num);
cont++;
}
printf("su palindromo es %d",num);

}