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


 


Tema destacado: Únete al Grupo Steam elhacker.NET


  Mostrar Mensajes
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 93
1  Programación / Programación C/C++ / Re: [AYUDA] Soy nuevo en C y tengo un problema con un codigo de 12 lineas simple en: Hoy a las 13:37
Y como hago para que leea todo el string??? osea si quisiera imprimir todo lo que ingrese como lo haria???? porque al hacerlo asi solo me va a cargar la primera palabra pero no el resto....

* Si quisieras seguir usando scanf para captar la cadena con espacios usarías:

Código
  1. scanf("%[^\n]s", temp) ;

* No hace falta el uso de una variable como "a" y hacer luego "a==a" para procvocar un bucle infinito. Más breve sería usar:

Código
  1. while ( 1 )

* Ten en cuenta que "temp" es un array por lo que sobra "& en el scanf.

* La función "main" es de tipo "int" por lo que requiere a su vez un return de entero.

Vamos que podría ser algo como:

Código
  1. #include <stdio.h>
  2.  
  3. int  main ( void ) {
  4.  char temp [100] ;
  5.  while ( 1 ) {
  6.   printf ( ">>> " ) ;
  7.   scanf("%[^\n]s", temp) ;
  8.   printf( "%s\n" , temp ) ;          
  9.   while ( getchar() != '\n' ) ;
  10.  }
  11.  return 0 ;}

¡¡¡¡ Saluditos! ..... !!!!


2  Programación / Programación C/C++ / Re: Hacer un programa en C que me de la cantidad de divisores en: Ayer a las 17:19
.....y no te olvides del return de la función main. Tampoco vendrían mal algunos printf o puts para saber que hace al comienzo el programa y cuales son los resultados. Las llaves sólo si son necesarias. También es importante el indentar el código, algo como  :o:

Código
  1. #include<stdio.h>
  2.  
  3. int main ( void ) {
  4.  int N , i , cont = 0 ;
  5.  puts ( "Introduce un numero:" ) ;
  6.  scanf( "%d" , &N ) ;
  7.  puts ( "Son divisores:" ) ;
  8.  for( i = 1 ; i <=N ; i ++ )
  9.    if( ( N % i ) == 0 )
  10.      cont ++ , printf ( "%d   " , i ) ;
  11.  printf ( "\nTotal de divisores: %d\n" , cont ) ;    
  12.  return 0 ;
  13. }

¡¡¡¡ Saluditos! ..... !!!!


3  Programación / Programación C/C++ / Re: Ayuda porfavor,Programa en C para saber si dos segmentos se interceptan? en: 26 Octubre 2014, 22:12
Tengo 4 puntos que representan dos segmentos en el plano cartesiano y cada uno de estos puntos está definido obviamente por dos coordenadas x e y.

EJ:

R1= (x1,y1) (x2,y2)
R2= (x3,y3) (x4,y4)

Bueno, en si tengo que hacer un programa que me pide muchas cosas, pero ésta parte en especifico (ver si dos segmentos se interceptan o no) no se me ha podido ocurrir. Alguien me puede orientar por favor?
......................................

Si (y2 - y1 ) / ( x2 - x1 ) !=  (y4 - y3 )  / ( x4 - x3 ) ==> Se cortan.

Si (y2 - y1 ) / ( x2 - x1 ) =  (y4 - y3 )  / ( x4 - x3 ) ==> Son paralelas o coincidentes.

¡¡¡¡ Saluditos! ..... !!!!




4  Programación / Programación C/C++ / Re: Problema con cadena de caracteres en C. en: 26 Octubre 2014, 06:29

También intenté escribiendo:

Citar
strcpy(tipo,nombre)[ i ];
        strcat(tipo," ");
        strcat(tipo,apellido[g]);
en lugar de:
Código:
       sprintf(tipo,"%s %s",nombre[i],apellido[g]);


Antes que nada elige en las etiquetas GeSHi la de C++ para que el código salga coloreado.

El [ i ] se te fue fuera del paréntesis:

Código
  1. strcpy ( tipo , nombre [ i ] ) ;

Y si usas strcpy y strcat si debes incluir la librería <string.h>.

¡¡¡¡ Saluditos! ..... !!!!



5  Programación / Programación C/C++ / Re: Problema con cadena de caracteres en C. en: 26 Octubre 2014, 04:58
Buenas noches o lo que sea cuando entren al tema.


El problema está en que en algunos casos me imprime dos apellidos juntos o no me muestra el apellido, ...............................


Supongo que has puesto;:

Código
  1. sprintf(tipo,"%s %s",nombre[i],apellido[g]);

Es que al usar Cita en lugar de las etiquetas GeSHi el código que cuelgas no sale bien,

¡¡¡¡ Saluditos! ..... !!!!



6  Programación / Programación C/C++ / Re: Gusano básico en C++ en: 24 Octubre 2014, 12:52


Código:
..........................................
int b = 0;
int c = 0;
int d = 0;
int e = 0;
int f = 0;

if(!fseek.is_open()){
ofstream fo(fname);

for(int a = 0; a <= 9; f++){
if(f > 9){
f = 0;
e++;
}

if(e > 9){
f = 0;
e = 0;
d++;
}

if(d > 9){
f = 0;
e = 0;
d = 0;
c++;
}

if(c > 9){
f = 0;
e = 0;
d = 0;
c = 0;
b++;
}

if(b > 9){
f = 0;
e = 0;
d = 0;
c = 0;
b = 0;
a++;
}
.....................................

PD: NO ME HAGO CARGO DEL USO QUE LE DEN AL MISMO.

UFFFFF!!!!!, muchas variables y demasiados if. ¿Por qué no lo intentas con un array?:

Código
  1. int num [6] = {0} ;
  2.   for( num [0] = 0 ; num [0] <= 9 ; num [5]++ )
  3.       for( i = 1 ; i <  6 ; i++ )
  4.          if ( num [i] > 9 && num [ i - 1 ]++ )
  5.               for( j = i ; j < 6 ; j++ )
  6.                    num [ j ] = 0  ;

¡¡¡¡ Saluditos! ..... !!!!



7  Programación / Programación C/C++ / Re: Obtener los valores nulos sobre la diagonal principal.(Array 2D) en: 19 Octubre 2014, 18:26
Además te sobra:

Código
  1. int i,j;

toda vez que las declaras dentro de los for y no vas a hacer otro uso fuera de los mismas.

Y te falta el return 0 o similar de la función main. Ambas cosas tanto para este código como para el que pusiste en el otro tema anterior.   ;)

¡¡¡¡ Saluditos! ..... !!!!


8  Programación / Programación C/C++ / Re: Obtener los valores nulos sobre la diagonal principal.(Array 2D) en: 19 Octubre 2014, 15:20
"Creo" que es así:
 
Código
  1. for  ( int j = i + 1 ;  j <= TAM - 1 ;  j++ )

¡¡¡¡ Saluditos! ..... !!!!



9  Programación / Programación C/C++ / Re: Método de multiplicación que desconozco en: 15 Octubre 2014, 21:14
....................................................
Saludos leosansan un gusto volverte a ver escribir

Igualmente amigo kutcher.

Me permito hacerte una pequeña observación respecto a ese código para multiplicar y es que debido a los dos for recurrentes si los dos números son cada uno de 1000 cifras habría que realizar un millón (¡¡¡1.000.000¡¡¡ ni más ni menos) de operaciones "/" y "%".

Si lo analizas verás que con un array temporal ese número se reduce a la suma de cifras, es decir ¡¡¡¡2.000 tan sólo ¡¡¡¡¡.

No cuelgo código por razones que entenderás, pero si estas interesado me envías un mp.

Un fuerte saludo de León.
10  Programación / Programación C/C++ / Re: Método de multiplicación que desconozco en: 15 Octubre 2014, 07:21
Buenas noches, estoy estudiando un algoritmo que realiza una multiplicación de dos enteros almacenados en respectivos arrays, el problema es que no consigo entender el método utilizado en tal caso, ya que existen varios :
.....................................
Saludos

Este algoritmo es la clásica multiplicación:

Código
  1.  
  2.  
  3.    1 2 3      <== indice: j = 2 1 0
  4.    x 2 3      <== indice: i =   1 0
  5.   -------
  6.    3 6 9      <== i = 3 * j = 3 2 1
  7.  2 4 6    <== i = 2 * j = 3 2 1
  8.  ----------
  9.  2 7 12 9
  10. -----------
  11. 0 2 8  2 9   <== indice: k = 0 1 2 3 4
  12.  
  13. De izquierda derecha:
  14.  
  15. "FALTA": carry = 0 ;
  16.  
  17. c[0] =  '0'
  18. c[4] =  9 % 10 +  + acarreo + '0' = '9' ===>  carry = acarreo =  9 / 10 = 0
  19. c[3] = 12 % 10 +  + acarreo + '0' = '2' ===>  carry = acarreo = 12 / 10 = 1
  20. c[2] =  7 % 10 +  + acarreo + '0' = '8' ===>  carry = acarreo =  8 / 10 = 0
  21. c[1] =  2 % 10 +  + acarreo + '0' = '2' ===>  carry = acarreo =  2 / 10 = 0
  22.  
  23. c[0] +=   acarreo + (  Esto falta  ) '0' = '0'
  24.  
  25. c[5] = c[ la + lb ] = '\0' <==  Esto esta al principio
  26.  
  27. c  = 02829
  28.  
  29. if ( acarreo == 0 o lo que es lo mismo, si c[0] == '0' )
  30.  
  31.  desplazo todos los caracteres del array "c" una posicion a la izquierda" :
  32.  
  33.   memmove ( c , c + 1 , la + lb ) ; ==> c = 2829
  34.  
  35. Observacion; lo siguiente es para trabajar con enteros
  36.  
  37. n = T(a[i]) * T(b[j]) + T(c[k]) + carry = a[i] - '0' + b[j] - '0' + c[k] - '0'  + carry
  38.  

Más o menos así es el esquema que sigue un código simple de multiplicación.  ;)

¡¡¡¡ Saluditos! ..... !!!!



EDITADO con la observación de kutcher, no sé en que estaría pensando.  ;)
11  Programación / Programación C/C++ / Re: Programa en C en: 13 Octubre 2014, 13:31
Insisto, con perdón, en que el error que hace que no muestre ningún resultado es:

Citar
for( i = a ; i == 2 ; i-- )

que debería ser:

Citar
for( i = a ; i >= 2 ; i-- )

¡¡¡¡ Saluditos! ..... !!!!


12  Programación / Programación C/C++ / Re: Programa en C en: 13 Octubre 2014, 13:22
Hola a todos!

soy estudiante de ingeniería y estoy resolviendo un ejercicio de programación en C, que trata de obtener todos los divisores de un número dado. El código que he hecho es el siguiente:

#include <stdio.h>
i................................................
    for(i=a;i==2;i--)
    {
        if(a%i==0)
        printf("%d",i);
    }

 ......................................
}


Pero cuando lo ejecuto  no me muestra nada en pantalla. Lo he echo así porque es lo básico que me están enseñando aún, y he probado también a ir guardando todos los divisores que obtenga en un vector y luego mostrar en pantalla el vector, pero nada. Alguien me podría ayudar?

Gracias!


El error lo tienes en el for ">=" en lugar de "==". Y deja algún espacio en el printf para que no salgan los divisores pegados.

Por cierto, puedes prescindir del uso de las llaves cuando sólo hay una línea:

Código
  1. for( i = a ; i >= 2 ; i-- )
  2.    if ( a % i ==0 )
  3.      printf("%d  ",i) ;

¡¡¡¡ Saluditos! ..... !!!!


13  Programación / Programación C/C++ / Re: Ayuda con lenguaje C++ por favor en: 12 Octubre 2014, 22:15
A bote pronto, te sobra el punto y coma después del for:

for (i=0; i<10; i++);

Y las llaves del for han de incluir el if else, para que los vaya contando.

¡¡¡¡ Saluditos! ..... !!!!


14  Programación / Programación C/C++ / Re: Palindromo C++ en: 23 Agosto 2014, 22:45
Pero de igual manera podrías inicializar q a -1 y no restarle 1 a p:
.......................................

Y ya puestos podríamos ahorrarnos una variable:

Código
  1. bool Palindromo(char palabra[40]) {
  2.  int p = LongCad ( palabra ) ;
  3.  while ( ( p-- ) > ( LongCad ( palabra ) - 1 ) / 2 )
  4.    if ( tolower (palabra [ p ] ) != tolower ( palabra [ LongCad ( palabra ) - 1 - p ] ) )
  5.      return false;
  6.  return true;
  7. }

¡¡¡¡ Saluditos! ..... !!!!



Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 93
Powered by SMF 1.1.19 | SMF © 2006-2008, Simple Machines