elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


  Mostrar Mensajes
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12
1  Programación / Programación C/C++ / Re: [C] Comparar 2 cadenas sin usar <string.h> en: 9 Abril 2015, 19:07 pm
Hola.

Otra forma puede ser:
Código
  1. int cmpstr( char s1[], char s2[] ) {
  2.  int i;
  3.  
  4.  for( i=0; s1[i] == s2[i]; i++ )
  5.    if ( s1[i] == '\0' ) return 0;
  6.  return  s1[i] - s2[i] ;
  7. }
  8.  
o también:
Código
  1. int cmpstr( char* a, char* b ) {
  2.  
  3.  for( ; *a == *b; a++, b++ )
  4.    if ( *a == '\0') return 0;
  5.  
  6.  return *a - *b;
  7. }
  8.  

Saludos .
2  Programación / Programación C/C++ / Re: Ayuda Con DevC++ en: 1 Abril 2015, 06:14 am
Hola.

No se si te estoy interpretando bien, pero de forma general creo que podrías hacer:
Código
  1.  ...
  2.  printf("Opcion 1\n");
  3.  ...
  4.  printf("Opcion 5\n");
  5.  printf("Ingrese una opcion del 1 al 5\n");
  6.  
  7.  do {
  8.    printf("Opcion :");
  9.    fscanf(stdin, "%d", &op);
  10.  } while (op < 1 || op > 5);
  11.  ...
  12.  
  13.  

Saludos.
3  Programación / Programación C/C++ / Re: Ayuda Con DevC++ en: 1 Abril 2015, 05:55 am
Hola.

Así, a primera vista, en ningún lado le estas asignando un valor a "op", su contenido es indefinido y no se cumple ninguna de las condiciones que evaluas. Por ese motivo obtenes los valores "0" que son los que inicialmente asignaste a las variables: a, h, b, t, mb y lr.

Por otro lado has olvidado publicar la totalidad del código, falta declarar la función principal y la parte donde "digitas 1".

Saludos.

4  Programación / Programación C/C++ / Re: Error de suma en: 18 Marzo 2015, 16:49 pm
Hola.

No sé si las variables que declaraste tendrán uso en otra parte del código, pero creo que bastaría de este modo:
Código
  1. ...
  2. int main() {
  3.  float A[max_alumnos][max_pruebas];
  4.  int a,b;
  5.  int aprobados=0;
  6.  int suspensos=0;
  7.  
  8.  printf("Calculo aprobados y suspensos:\n");
  9.  for(a=0; a<max_pruebas; a++) {
  10.    printf("\nNumero de Prueba %d: \n", a+1);
  11.    for(b=0;b<max_alumnos;b++) {
  12.      printf("Calificacion del Alumno %d:", b+1);
  13.      scanf("%f", &A[a][b]);
  14.      A[a][b] >= 5 ? aprobados++ : suspensos++;
  15.    }
  16.  }
  17.  printf("\nNOTAS DE LOS ALUMNOS");
  18.  printf("\nAlumnos aprobados ...............: %d",aprobados);
  19.  printf("\nAlumnos suspendidos .............: %d\n",suspensos);
  20. ...
  21.  

Saludos.

Edito: (no había visto el mensaje de rir3760)
5  Programación / Programación C/C++ / Re: plz ayuden en: 14 Marzo 2015, 21:11 pm
Hola.

Hay varias cosas, pero respondiendo a tu consulta específicamente, tendrías que inicializar el índice:
Código
  1. int ca = 0;

Y en la función mostrar_alumnos:
Código
  1. void mostrar_alumnos(int num) {
  2.   printf("\n\nMostrar lista de Alumnos\n");
  3.   if (ca == 0)
  4.      printf("\n\tLista vacia..!");
  5.   else
  6.    for(int i=0; i < ca; i++)
  7.      printf("Nombre: %s %s %s - Matricula: %d ",
  8.             alum[i].nom, alum[i].pat, alum[i].mat, alum[i].matricula);
  9. }


Saludos.
6  Programación / Programación C/C++ / Re: ejercicio con for en: 8 Septiembre 2014, 07:24 am
Hola kukrin.

Las tres expresiones del ciclo for se delimitan al menos por dos ';', debería ser:
Código
  1. for(i=0; i<100; i++)

En lenguaje C, el ';' indica la finalización de una sentencia, de modo que
Código
  1. for(i=0, i<100,i++);
itera de 0 a 99 sin hacer nada.

Lo mismo sucede en la línea:
Código
  1.  if(i%2!=0);
si la condición se cumple hace: nada.

En la línea:
Código
  1. acom=acom+1
falta finalizar la sentencia con ';'

Por último en la línea de printf, el especificador de formato es %d y no d%.

Con esos ajustes tendría que funcionar sin errores.

Saludos.

7  Programación / Programación C/C++ / Re: paso de vectores a una funcion en: 5 Septiembre 2014, 01:10 am
Hola flony.

No sé si interpreté bién la consulta, pero fijate si te sirve del modo de este ejemplo:

Código
  1. #include <iostream>
  2. #include <string>
  3. #include <sstream>
  4.  
  5. using namespace std;
  6.  
  7. void joindata(int*, const int , string* , const int, string*);
  8.  
  9. int main() {
  10.  int vi[10] = {1,2,3,4,5,6,7,8,9,10};
  11.  string vs[6] = {"uno", "dos", "tres", "cuatro", "cinco", "seis"};
  12.  string res[100];
  13.  int isize = sizeof(vi)/sizeof(vi[0]);
  14.  int ssize = sizeof(vs)/sizeof(vs[0]);
  15.  int maxsize = isize > ssize ? isize : ssize;
  16.  
  17.  joindata(vi, isize, vs, ssize, res);
  18.  for (int i=0; i < maxsize; i++)
  19.    cout << res[i] << endl;
  20.  cin.get();
  21.  return 0;
  22. }
  23.  
  24. void joindata(int* vint, const int nvi, string* vstr, const int nvs, string* result) {
  25.  int minsize = nvi < nvs ? nvi : nvs;
  26.  
  27.  for(int i=0; i < minsize; i++) {
  28.    stringstream aux;
  29.    aux << vint[i];
  30.    result[i] = aux.str() + " " + vstr[i];
  31.  }
  32.  if (nvi > nvs)
  33.    for(int i=minsize; i<minsize+abs(nvi-nvs);i++) {
  34.      stringstream aux;
  35.      aux << vint[i];
  36.      result[i] = aux.str();
  37.    }
  38.  if (nvi < nvs)
  39.     for(int i=minsize; i<minsize+abs(nvi-nvs);i++)
  40.       result[i] = vstr[i];
  41. }
  42.  

Saludos.
8  Programación / Programación C/C++ / Re: Problema con ñ,Ñ, y acentos. en: 1 Septiembre 2014, 19:39 pm
Hola ivancea96.

Tenes razón, gracias por la observación. Corrijo:

Código:
void printUCode(char* str) {
  int i;
  for(i=0; i<strlen(str); i++) {
    switch(str[i]){
      case 'á': printf("\240"); break;
      case 'é': printf("\202"); break;
      case 'í': printf("\241"); break;
      case 'ó': printf("\242"); break;
      case 'ú': printf("\243"); break;
      case 'Á': printf("%c",-75); break;
      case 'É': printf("%c",-112); break;
      case 'Í': printf("%c",-42); break;
      case 'Ó': printf("%c",-32); break;
      case 'Ú': printf("%c",-23); break;
      case 'Ñ': printf("%c",-91); break;
      case 'ñ': printf("%c",-92); break;
      default: printf("%c", str[i]);
    }
  }
}

Saludos.
9  Programación / Programación C/C++ / Re: Problema con ñ,Ñ, y acentos. en: 1 Septiembre 2014, 18:20 pm
Hola diegofah.

Si estas trabajando en consola de Windows, intenta de este modo:

Citar
void printUCode(char* str) {
  int i;
  for(i=0; i<strlen(str); i++) {
    switch(str){
      case 'á': printf("\240"); break;
      case 'é': printf("\202"); break;
      case 'í': printf("\241"); break;
      case 'ó': printf("\242"); break;
      case 'ú': printf("\243"); break;
      case 'Á': printf("%c",-75); break;
      case 'É': printf("%c",-112); break;
      case 'Í': printf("%c",-42); break;
      case 'Ó': printf("%c",-32); break;
      case 'Ú': printf("%c",-23); break;
      case 'Ñ': printf("%c",-91); break;
      case 'ñ': printf("%c",-92); break;
      default: printf("%c", str);
    }
  }
}

Uso:
Citar
 printUCode("ÁÉÍÓÚÑáéíóúñ");

(Usé las etiquetas "code" para que se visualizen correctos los caracteres)

Saludos.
10  Programación / Programación C/C++ / Re: Problema con EOF en: 1 Septiembre 2014, 06:35 am
Hola.

Una sugerencia, para reducir tu código:
Código
  1. ...
  2. #include <locale>
  3. ...
  4.  
  5.  while ((calificacion= cin.get()) != EOF) {
  6.    switch (toupper(calificacion)) {
  7.      case 'A' :
  8.        aCuenta++;
  9.      break;
  10. ...
  11.  

Saludos.
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines