MI duda es simple, hay alguna forma de comparar dos cadenas ignorando parte de ellas, es decir:
CADENA= "pez.txt"
if cadena =="pez.*"
siendo el "*" la parte ignorada
CADENA= "pez.txt"
if cadena =="pez.*"
siendo el "*" la parte ignorada
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ú#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#define MAX_RUTA 150
int main(int argc, char** argv) {
char ruta[MAX_RUTA];
int permisos;
char mensaje1[]="76543210";
char mensaje2[]="ABCDEFGH";
int fd;
if(argc==3){//Introducion de comandos por linea de comandos
memcpy(ruta,argv[1],strlen(argv[1]));
permisos=strtol(argv[2],NULL,8);
}
else{//Introducion de comandos manual
printf("Introduce la ruta\n");
scanf("%s",ruta);
printf("Introduce los permisos\n");
scanf("%o",&permisos);
}
fd=open(ruta,O_RDWR|O_CREAT,permisos);//Apertura o creacion del archivo
if(fd<0){
perror("creat");
exit(EXIT_FAILURE);
}
if(write(fd,mensaje1,strlen(mensaje1))<0){//Escritura del mensaje1
perror("write1");
exit(EXIT_FAILURE);
}
if(write(fd,mensaje2,strlen(mensaje2))<0){//Escritura del mensaje2
perror("write2");
exit(EXIT_FAILURE);
}
if(write(fd,mensaje1,strlen(mensaje1))<0){//Escritura del mensaje1
perror("write3");
exit(EXIT_FAILURE);
}
lseek (fd,-1, SEEK_END);//Reposicionado del puntero lectura/escritura
if(write(fd,mensaje2,strlen(mensaje2))<0){//Escritura del mensaje2
perror("write2");
exit(EXIT_FAILURE);
}
printf("Ruta: %s\n",ruta);
printf("Permisos: %o\n",permisos);
}
#include <stdio.h>
main(t,_,a)
char *a;
{return!0<t?t<3?main(-79,-13,a+main(-87,1-_,
main(-86, 0, a+1 )+a)):1,t<_?main(t+1, _, a ):3,main ( -94, -27+t, a
)&&t == 2 ?_<13 ?main ( 2, _+1, "%s %d %d\n" ):9:16:t<0?t<-72?main(_,
t,"@n'+,#'/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l,+,/n{n+\
,/+#n+,/#;#q#n+,/+k#;*+,/'r :'d*'3,}{w+K w'K:'+}e#';dq#'l q#'+d'K#!/\
+k#;q#'r}eKK#}w'r}eKK{nl]'/#;#q#n'){)#}w'){){nl]'/+#n';d}rw' i;# ){n\
l]!/n{n#'; r{#w'r nc{nl]'/#{l,+'K {rw' iK{;[{nl]'/w#q#\
n'wk nw' iwk{KK{nl]!/w{%'l##w#' i; :{nl]'/*{q#'ld;r'}{nlwb!/*de}'c \
;;{nl'-{}rw]'/+,}##'*}#nc,',#nw]'/+kd'+e}+;\
#'rdq#w! nr'/ ') }+}{rl#'{n' ')# }'+}##(!!/")
:t<-50?_==*a ?putchar(a[31]):main(-65,_,a+1):main((*a == '/')+t,_,a\
+1 ):0<t?main ( 2, 2 , "%s"):*a=='/'||main(0,main(-61,*a, "!ek;dc \
i@bK'(q)-[w]*%n+r3#l,{}:\nuwloca-O;m .vpbks,fxntdCeghiry"),a+1);}
Cita de: engel lex en 20 Junio 2017, 01:41 AM
el programa me corre perfecto, que te falla?
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
/*
*
*/
int main(int argc, char** argv) {
long int lados=4,n;
int radio=1;
double a,b,pi,error; // a=circunscrito; b=inscrito
printf("Introduce o numero de lados do poligono\n");
scanf("%ld",&n);
a=4*sqrt(2)*radio;
b=8*radio;
while(lados*2<=n){
b=2*a*b/(a+b);
a=sqrt(a*b);///// ¡¡¡¡¡¡FALLA AQUI!!!!!!! ///////
lados=lados*2;
}
pi=(a/2/radio + b/2/radio)/2;
error= abs(a/2/radio - b/2/radio)/2;
printf("\n Valor aproximado de pi=%lf\n con error de +- %lf\n",pi,error);
return (EXIT_SUCCESS);
}