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 - Dark Invader

#51
Software / Re: Algún Messenger Plus sin Virus
10 Julio 2011, 11:51 AM
El problema del msn plus es que trae un spyware en su descarga,y en el contrato de licencia te lo dice explicitamente,que si quieres instalar su patrocinador(el spyware)si lo haces pues bueno,ya sabes,pop-ups,iconos en el escritorio que no se pueden quitar...Creo que el spyware se llamaba c2media creo recordar...

Bueno el caso es que te han dado su página oficial,si durante la instalación no eliges instalar el patrocinador no habrá problema...Por eso algunos antivirus como eset lo marcan como malware...

Un saludo
#52
Te recomiendo que te leas las normas: http://foro.elhacker.net/programacion_cc/reglas_del_subforo-t251603.0.html

Aqui no se hacen ejercicios,se resuelven dudas,si tienes los codigos te podemos ayudar a resolverlos,pero si no lo has intentado...  :¬¬

Si tienes algun codigo pegalo aqui y se te ayudara,pero no se pueden hacer tareas,lo siento.

Los ejercicios no parecen muy dificiles,solo hay que leerse los apuntes que te dan y se hacen todos en menos de una hora

CitarEste no es un subforo donde se soliciten tareas, sino un lugar donde resolver dudas.

#53
Es verdad,tienes toda la razon,la cadena c_temp la utilizaba como temporal,para pasar los argumentos que no servian y desecharlos de la cadena,pero asi mucho mejor,muchas gracias Leo,he aprendido muchas cosas.  ::)

Gracias de nuevo,mirare de nuevo todo el tema para asimilarlo bien,ya que ha habido muchos cambios.  :xD

Salu2
#54
Una ultima cosa Leo,perdon por alargar el tema mas de la cuenta,no seria...:

for(; *p; caracter == *p ? c_temp = *p++ : (*r++ = *p++));

Es que *p=*p++ no me suena bien,a lo mejor he sido yo el que no lo he entendido... :xD
#55
Nunca habia visto usar el for asi:

  for(; *p; caracter == *p ? *p = *p++ : (*r++ = *p++));


¿Se puede utilizar la ultima fila del for con todo eso? :-\

Es que nunca lo habia utilizado asi...

Gracias por las formas,estoy tomando nota de todas  ::)

Salu2
#56
¿Te refieres a...

void cortarcadena(char *frase,char *caracter)
{
   char *p = frase;
   char *q = caracter;
char c_ori[30]="";
   char  *r = c_ori;
   char c_temp;
   
 
   while(*p)
       *q == *p ? c_temp = *p++ : (*r++ = *p++);

   puts(c_ori);
   getchar();
}


He unido la cadena al puntero r  :silbar:
#57
Tienes toda la razon,se puede acortar muchisimo,y parece mucho mas ordenador,gracias de nuevo colega  ;D

Salu2
#58
Resuelto,era lo que habias dicho Leo,esta poniendo una cadena pero no le estaba poniendo el numero de argumentos,y no los incrementaba,por eso he hecho un nuevo puntero a la cadena origen y ahora si compila,muchas gracias colega  :P

#include <stdio.h>

void cortarcadena(char *frase,char *caracter){
    char *p;
    char *q;
    char *r;
    p=frase;
    q=caracter;
char c_temp;
char c_ori[30]="";
r =c_ori;
    while(*p!='\0'){
                       if(*q==*p){
                                  c_temp= *p;
                                  *p++;
                                 
                                  }else{
                                       
                                        *r=*p;
                                        *p++;
                                        *r++;
                                        }
                                       
                                        }
                                       puts(c_ori);
                                       getchar();
                                        }
                                        int main (void){
                                            char frase [30];
                                            char caracter;
                                            printf("vamos a quitar un caraacter a la frase");
                                            printf("escriba la primera frase:  ");
                                            gets(frase);
                                            printf("escriba el caracter a eliminar: ");
                                            scanf("%c",&caracter);
                                            cortarcadena(frase,&caracter);
                                            getchar();
                                            return 0;
                                            }
                                       

                       
Tema resuelto  ::)

Salu2
   
#59
Hola El_Java  y gracias por contestar tambien,

El problema es que no domino muy bien C++ todavia,y queria que mi codigo fuera en C,porque las cadenas en C++ no la tengo muy controladas,solo queria ver exactamente donde esta el fallo de mi codigo.

De todas maneras muchas gracias.

Salu2
#60
Gracias por contestar Leo,

Mira lo que queria hacer es asignar un puntero al principio de la cadena,e ir recorriendola con el *p++,es decir,que fuera al siguiente elemento,el problema es ese,que no se a que es debido,porque he hecho otra funcion,la strcmp y me funciona perfecto:

#include <stdio.h>

void compararcadenas(char *cadena,char *cadena2){
     char *p,*q;
     
     p=cadena;
     q=cadena2;
     while(*p!='\0' || *q!='\0'){
                   
                    if(*p==*q){
                              *p++;
                              *q++;
                              printf("\n\ntiene el mismo caracter,pasando al siguiente caracter...");
                              if (*p!='\0') continue;
                              if (*q!='\0') continue;
           
           
            printf("\n\n!!Las cadenas son las mismas!!");
                             
                              }else{
                             
                                    printf("\n\nse presenta un caracter de diferencia,las cadenas no son las mismas");
                                   
           
           
       
                                    if(*p =='\0' && *q !='\0'){
                                          printf("\n\nla segunda cadena tiene mas longitud");
                                          break;
                                          }
                                         if(*p !='\0' && *q =='\0'){
                                               printf("\n\nla primera cadena tiene mas longitud");
                                               break;}
                                               
                                                    printf("\n\n!!Las cadenas son distintas,pero tienen la misma longitud!!");break;
                                               
                                                     
                                    }
                                   }
                             
                                   
                                   }
int main (void){
                                   
   char cadena[40];
   char cadena2[40];
   
   printf("escriba la primera cadena:  ");
   gets(cadena);
   printf("escriba la segunda cadena:  ");
   gets(cadena2);
   compararcadenas(cadena,cadena2);
   getchar();
   return 0;
}


¿A qué crees que puede ser debido? :huh:

Salu2