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

#921
Cita de: Dacan en 28 Marzo 2013, 05:50 AM
............... como puedo obtener todos los digitos de un numero en c?

Pues se que dividiendo entre 10 se pueden ir obteniendo los digitos pero como obtengo el ultimo?


Y por qué no multiplicando:

Código (cpp) [Seleccionar]
#include <stdio.h>
#define N 10

int main( void )
{
   int c, i, n;
   int digitos[N];
   int num;

   printf( "Escribe un numero de %d digitos como maximo: ", N );
   fflush( stdout );
   num = 0;
   for( n = 0; n < N && (c = getchar()) != '\n'; ++n )
   {
      digitos[n] = c - '0';
      num *= 10;
      num += digitos[n];
   }

   printf( "Digitos: " );
   for( i = 0; i < n; ++i )
      printf( " %d,", digitos[i] );
   printf( "\b ");
   putchar('\n');
   printf( "Numero: %d\n", num );

   return 0;
}


Saluditos!. ....
#922
Cita de: wazausky en 27 Marzo 2013, 02:26 AM
lo que pasa es que tengo que meter un numero n de datos, y al detenerme, sinceramente no se como, pero al detenerse que genere el polinomio con esos coeficientes :S

Código (cpp) [Seleccionar]
#include <stdio.h>,
#include <stdlib.h>
#definr N   5
int main(int argc, char *argv[])
{
    float  a[N]={0};
    int i,c;
    c=0;
    do
    {
        scanf("%f", &a[c]);
        if (a[c]==1122)
            break;
        c++;

    }while (1);
    for (i=0;i<c;i++){
        if (a[i]==0)
            continue;
        if ( a[i]==1)
            printf("%g+", a[i]);
        else
            printf("%gx^%d+", a[i], i);
    }
    printf(" \b\b\n") ;
    system("PAUSE");
    return 0;
}


Saluditos! ...
#923
Cita de: ThePinkPanther en 14 Marzo 2013, 00:07 AM

Suponiendo que el salto arranca del 1 en x , y llega a 10 en x , en 5 de x tendria que estar el punto más alto del salto , que luego disminueria a medida que valla avanzando.. osea, en 5 de x , Y disminueria hasta llegar a 10 de ex . siendo y 0 para el entonces. ( En el piso ).

Mientras y aumenta hasta 5 de x, dismunuye en semetria ..

Hay algun patron , o formula para hacer un semicirculo en el salto , osea que valla aumentando en forma de parabola hasta llegar a 5 de x y dismuir en forma de parabola hasta llegar a 10 de x ?..
...............................................

Las coordenadas de los puntos serian:


Citar
                          y=4.5^2 - (x-5.5)^2
..... con x variando de 1 a 10




Saluditos!. ...
#924
Programación C/C++ / Re: Tabla en C++
11 Marzo 2013, 23:26 PM
Cita de: Gagy en 11 Marzo 2013, 23:04 PM
Por cierto, ¿hay alguna manera de borrar este tema?

No me parece justa tu proposición. Toda la ayuda que se te ha brindado ha sido desinteresada y pública y si alguien más la puede aprovechar mejor para todos. Sin esa premisa yo al menos no aportaría nada.

Saluditos!. ...
#925
Cita de: ThronerAXE en 11 Marzo 2013, 03:59 AM
.........................................................................
lo de "ban" significa banderas que me lo dieron en la universidad que significa que cuando la bandera vale 0 es falso y cuando vale 1 o es diferente de 0 es verdadero. 

No es una función del C es algo que se  implementa por el usuario   y se usa para paliar la falta de una variable tipo bool en C, a diferencia del C++ que sí la incorpora. Por eso la tienes mal implementada en el código. En esencia funciona cuando le asignamos el valor 0 si ocurre tal cosa o el valor 1 si ocurre esta otra cosa  luego, según el valor 0 o 1 que tenga tomamos una decisión u otra, pero eres tú el que en el código tienes que implementar todo eso.

Citar
Otro temita que entiendo es por que en esta parte del codigo:
      do
      {
          if(aux==expediente[k])
          {  printf("\n\nEl expediente %d tiene una beca de tipo %c",expediente[k],beca[k]);
             getch();
             break;
          }

la parte del "break" lo tuve que incluir porque si no lo incluia, al momento de dar la salida de la beca del estudiante, la da pero nunca terminaba..........................

Eso es porque tienes mal implementada la variable ban, por ejemplo:

Código (cpp) [Seleccionar]
k=0;
    ban=0;
      do
      {
          system("cls");
            printf("\n\nIngrese el No. del expediente a consultar: ");
            scanf("%d",&aux);
          if(aux==expediente[k])
          {  printf("\n\nEl expediente %d tiene una beca de tipo %c",expediente[k],beca[k]);
            ban=1;
          }
          else
            ++k;
      }while( !ban && k<i);
     if (!ban)
        printf("\n\nEl Expediente buscado no existe!!! ");


Saluditos!. ...
#926
Cita de: daryo en 10 Marzo 2013, 21:47 PM
y para que quieres que sea char ?

.............................

Porque es una variable que va a tomar el valor de un caracter 's' u otro, como creo que está meridiana mente claro en el código que postee más arriba.

De cualquier manera, ya durasno se lo dejo claro por activa y por pasiva.

Saluditos!, ,,,
#927
Programación C/C++ / Re: Tabla en C++
10 Marzo 2013, 22:28 PM
Cita de: jps96 en 10 Marzo 2013, 20:06 PM
Gracias!

De nada. Por cierto, al final logré alinear el texto:

Código (cpp) [Seleccionar]
                1ªh     2ªh     3ªh
Juan            5.2     6.2     8.0     La nota media de Juan     es 6.7
Pepe            6.1     7.0     8.0     La nota media de Pepe     es 7.2
Antonio         3.7     2.6     4.0     La nota media de Antonio  es 3.4
Ana             8.0     8.6     9.0     La nota media de Ana      es 8.6
Alfonso         2.3     2.4     3.0     La nota media de Alfonso  es 2.6
Mercedes        7.2     7.7     8.7     La nota media de Mercedes es 8.0

El alumno con mas nota media es Ana      con 8.6 puntos


El alumno con menos nota media es Alfonso  con 2.6 puntos



Saluditos!. ....
#928
Programación C/C++ / Re: Números capicúa
10 Marzo 2013, 22:06 PM
Cita de: suzy en 10 Marzo 2013, 21:50 PM
Cuando introduzco un número de más de cuatro cifras se me cierra el programa  :-(
¿A qué se debe?

A que he puesto un return, ¿o querías hacer algo si es de más de cuatro cifras?. Porfi, explica mejor lo que quieres hacer.

Saluditos!. ...
#929
Cita de: wazausky en 10 Marzo 2013, 21:19 PM
............................................................
Como veran, el programa pide meter digito por digito, es decir, ingresar "a" y dar enter, luego ingresar la operacion, ya sea "+", "-", "*" o "/" y dar enter, despues ingresar "b" y dar enter.
Quiero que sea capaz de ingresar "a", la operaciony "b" en un solo paso.
Por favor y gracias :/

Para eso está la función sscanf. Por ejemplo:

Código (cpp) [Seleccionar]
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  float a, b, c;
  char o, r, entrada[81]="";
  while (1){
            fgets( entrada,80,stdin);
            sscanf( entrada, "%f%c%f ",&a,&o,&b );
            if (o=='+')
                printf("%g", a+b);
            if (o=='-')
                printf("%g", a-b);
            if (o=='*')
                printf("%g", a*b);
            if (o=='/')  {
                    if (b==0)  {
                        printf("Division no definida para b = 0");
                        break;
                    }
                    else
                        printf("%g", a/b);
            }
      }
   return 0;
}


Saluditos!. ...
#930
Programación C/C++ / Re: Números capicúa
10 Marzo 2013, 20:07 PM
Cita de: suzy en 10 Marzo 2013, 19:51 PM
Gracias leosansan!
¿Pero cómo se haría para que, al decirme que tiene más de cuatro cifras, no me diga si es capicúa o no?

Entiendo que si tiene más de cuatro cifras "pasas" de comprobar si es o no capicua. Con es premisa:

Código (cpp) [Seleccionar]
#include<iostream>
using namespace std;
int main()
{
  int numero0, numero1, numero2,numero_reves;
  cout<<"Introduce el numero: ";
  cin>>numero0;
  if (numero0/10000.>=1){
    cout<<"Tiene mas de cuatro cifras. Adios"<<endl;
    reurn 1;
  }
  numero1 = numero2 =numero0;
  numero_reves = 0;
  while( numero1 > numero_reves && numero2 > numero_reves )
   {
       numero_reves  = 10 * numero_reves + numero1 % 10;
       numero2=numero1;
       numero1 /= 10;
   }
   if( numero1 == numero_reves || numero2 == numero_reves)
       cout<<"Es capicua "<< numero0;
   else
     cout<<"No es capicua "<< numero0;
   {

   }
   cin.get( );
   cin.get( );
   return 0;
}



Saluditos, otra vez.....