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

#91
Cita de: palacio29 en 22 Julio 2016, 03:20 AM
Hola, lo probe pero sigue igual. Igualmente el problema es con la variable suma, deberia dar 12 y me da 10. Por eso al calcular el promedio no es el mismo 10/5=2.00. y deberia ser 12/5=2.4

Hola, ya lo solucione!!!. En el ejemplo la secuencia al final de todo es par y justo viene el 0 que es el fin del arreglo, entonces no pasaba la secuencia final en la variable suma.
Igualmente gracias,siempre me estas dando una mano.!
#92
Cita de: AlbertoBSD en 22 Julio 2016, 02:51 AM
promedion=((double)suma)/((double)secuencia);

Creo que es eso

Hola, lo probe pero sigue igual. Igualmente el problema es con la variable suma, deberia dar 12 y me da 10. Por eso al calcular el promedio no es el mismo 10/5=2.00. y deberia ser 12/5=2.4
#93
Cita de: AlbertoBSD en 22 Julio 2016, 02:21 AM
Hola, edita tu tema y vuelve a pegar tu codigo pero ahora dentrode la etiqueta llamada geshi seleecionas lenguaje C claro.

Ya que se lee mal asi, ademas si te fijas los indices de los arreglos (Los que estan entre corchetes) se perdieron

Saludos

Hola, ahi ya lo modifique
#94
Hola

Tengo el siguiente ejercicio de funciones.

4) Definir una función que reciba como parámetro un arreglo de enteros (cuyo tamaño se desconoce, termina en 0) y que retorne la longitud promedio de las secuencias de números pares consecutivos.
Ej: En el arreglo a={1, 3, 2, 4, 16, 5, 2, 9, -4, 10, 22, 8, 14, 11, 39, 4, 63, 12, 60, 0};   se encuentran las secuencias (2, 4, 16) de longitud 3, (2) de longitud 1, (-4, 10, 22, 8, 14) de longitud 5, (4) de longitud 1 y (12, 60) de longitud 2.
La función retorna 2.4 que es la longitud promedio de las 5 secuencias de números pares consecutivos (3+1+5+1+2=12/5=2.4)

Les adjunto mi codigo

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 1000
void CARGA(int arreglo[N]);
double PROMEDIO(int arreglo[N]);
int main()
{
    int arreglo[N];

    printf ("Ingrese una secuencia de numeros: \n");
    CARGA(arreglo);
    printf ("El promedio es %.2lf",PROMEDIO(arreglo));


    return 0;
}

void CARGA(int arreglo[N])   ///CARGA DEL ARREGLO
{
    int i=0,numerin;

    do
    {
        scanf ("%d",&numerin);
        if (numerin!=0)
        {
            arreglo[i]=numerin;
            i++;
        }
    }
    while (numerin!=0 && i<N);
    arreglo[i]=0;
}
double PROMEDIO(int arreglo[N])
{
    int i=0,suma=0,longitud=0,secuencia=0,bandera=0;
    double promedion=0;

    for (i=0;arreglo[i]!=0;i++)
    {
        if (arreglo[i]%2==0)   ///SI ES PAR
        {
            longitud++;        ///LONGITUD DE LA SECUENCIA

            if (bandera==0)
            {
                secuencia++;   
                bandera=1;
            }
        }
        else       ///SI NO ES PAR
        {
            bandera=0;
            suma=suma+longitud;
            longitud=0;
        }
    }

    printf ("\nLa suma es %d",suma);
    printf ("\nEl numero de secuencias es %d",secuencia);
    promedion=(double)suma/secuencia;
    return promedion;
}





En teoria me tendria que dar 2.4 pero me da 2.0
Evalue que habia en la variable suma y habia 10 en vez de haber 12.
El numero de secuencias por lo que veo, lo calcule bien ya que dio el mismo : 5.
Entonces de alguna forma algo le estoy pifiando con la variable suma=suma+longitud que no me calcula bien, pero no se que es. Alguna idea?.Gracias de antemano
#95
Cita de: AlbertoBSD en 22 Julio 2016, 01:36 AM
ala posicion 12 del arreglo es la j, en c los arreglos empiezan desde el 0.

La posición 0 del arreglo es el primer elemento, la posición 1 es el segundo y asi sucesivamente.


       aux=frase[k];
       frase[k]=frase[12 - k];
       frase[12 - k]=aux;


El codigo primero copia el valor de la posición 12 a una variable auxiliar y realiza un cambio de variable.

Saludos


Hola, mala mia, no lei el espacio y conte mal :xD. Gracias!
#96
Hola


Tengo este ejercicio, es un multiple choice y no lo entiendo porque cuando yo empiezo el for llega un momento en que  en la primera vuelta queda frase[0]=frase[12]...esto es lo que no entiendo, como el codigo puede continuar si el frase[12] va mas alla del \0 que supuestamente es el fin del arreglo. La respuesta correcta es "join the navy" pero no se porque.



int main()
{  char frase[50]= {'y','v','a','n',' ','e','h','t',' ','n','i','o','j','\0'};
    char aux;
    int i,j,k;

    for(k=0;k<=6;k++)
    {  aux=frase[k];
       frase[k]=frase[12 - k];
       frase[12 - k]=aux;
    }
    printf("%s\n",frase);


El printf imprime:
a-yvan eht nioj
b-jhon envy tia
c-join the navy
d-No compila
e-Da error de ejecución
f-Ninguna de la anteriores


Por otro lado, este es mas sencillo

Completar el siguiente fragmento de programa para validar el ingreso por teclado de un número entero en la variable num y aceptar solamente números pares o múltiplos de 5.

do
{
    printf("Ingrese un carácter: ");
    ____________________;

} while (_____________________);


Me pide que complete en solo una linea. Podria hacerlo si pongo un if  y el scanf en la misma linea muy chiquitito, pero hay alguna otra forma de hacerlo, porque no pareceria correcta la forma.


Muchas gracias de antemano
#98
Cita de: AlbertoBSD en 20 Julio 2016, 18:15 PM
Las diagonales deben de ser dobles ejemplo:
char *nombre = "\n El anterior es  un salto de linea y el siguiente es un slash \\";


Saludos!

Gracias!! ;-) ;-) ;-)
#99

Hola

Quiero que lea un archivo, pero me aparece este tipo de error "Universal character name,etc" y nose que es. Como lo soluciono?. Estoy usando codeblocks en C.

#100
Hola

Tengo una practica de Informatica donde hay un problema que es el siguiente.

Complete la instruccion de asignacion para que la variable x almacene un valor generado al azar que pertenezca al conjunto: 30,40,50,60,70,80,90.

x=----------------;

Osea debo completar el problema en una sola linea.
Mi idea es hacer un rand que de valores aleatorios entre 1 y 7 y hacer un par de IF que si toca 1 sea igual a 30....si toca 2...sea igual a 40 ,etc.
Pero para eso necesitaria mas lineas de codigo.
Por lo tanto me gustaria saber como hacer para que la variable X tenga esos numeros aleatorios en una sola linea.