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 - m@o_614

#311
Programación C/C++ / maximo y minimo
2 Marzo 2013, 20:15 PM
saludos tengo un programa que me tiene que calcular el promedio, el mayor y el menor, etc. de un vector de temperaturas, el problema es que no me calcula bien la menor temperatura y no sé por qué si las variables están bien inicializadas

#include <stdio.h>
#include <stdlib.h>
#define SEMANA 7

int main()
{
    int i,dia_mayor,dia_menor;
    float temperatura[SEMANA],v[SEMANA],suma=0,promedio,mayor,menor;
    mayor = temperatura[0];
    menor = temperatura[0];
    for(i=0;i<SEMANA;i++)
    {
        printf("Dame la temperatura del dia \n");
        scanf("%f",&temperatura[i]);
        suma+=temperatura[i];
        if(temperatura[i]>mayor)
        {
            mayor = temperatura[i];
            dia_mayor = i;
        }
        else if(temperatura[i]<menor)
        {
            menor = temperatura[i];
            dia_menor = i;
        }
    }
    promedio = suma/SEMANA;
    printf("a) La temperatura promedio es %.2f\n",promedio);
    printf("c) La mayor temperatura es %.2f y ocurrio el dia %d\n",mayor,dia_mayor);
    printf("d) La menor temperatura es %.2f y ocurrio el dia %d\n",menor,dia_menor);
    printf("b) Un vector de las diferencias de cada temperatura con respecto al promedio\n");
    for(i=0;i<SEMANA;i++)
    {
        v[i] = temperatura[i]-promedio;
        printf("v[%d] = %.2f\n",i,v[i]);
    }

    return 0;
}


gracias ;D
#312
Alguien sabe de alguna manera de convertir de minúscula a mayúscula sin la necesidad de rstarle - 32, es que tengo un problema que me pide que le ingrese una letra, si la letra es mayúscula lo dejo así, pero si la letra es minúscula tengo que hacer que el código me la reconozca como si ffuera mayúscula


gracias ;D
#313
Dudas Generales / Conversiones
20 Febrero 2013, 22:42 PM
Saludos

Alguien que me diga de algún método para convertir de decimal a octal pero sin tener que hacer las divisiones sucesivas, he buscado en todos lados pero no he encontrado nada

  ;D gracias
#314
Programación C/C++ / alinear texto
4 Febrero 2013, 23:57 PM
Saludos  :)

tengo este código que me tiene que hacer una piramide de manera que quede como:

     1
   22
  333
4444

el problema es que no se cómo alinear los números a la derecha

int main()
{
    int i,j,numero;
    printf("Dame un numero\n");
    scanf("%d",&numero);
    for(i=1;i<=numero;i++)
    {
        printf("\n");
        for(j=1;j<=i;j++)
           printf("%d",i);
    }
    return 0;
}

gracias de antemano
#315
Muchas gracias por sus respuestas :) pero entonces cuando quiero insertar por una posición no tengo que hacer dos operaciones?? por ejemplo si quiero insertar por cabeza tengo que hacer una función para insertar por cabeza hacia adelante y hacia atrás???

saludos
#316
Saludos tengo unas cuantas dudas de cómo funcionan las Listas Doblemente Ligadas, cuando quiero insertar en alguna posición por ejemplo por la cabeza, como es doblemente ligada ¿tengo que hacer dos operaciones?¿una en cada dirección? algo como insertar por cabeza hacia adelante ó insertar por cabeza hacia atrás??

Aquí está como lo estoy enlazando:

NODO* crear_nodo(int x)
{
    NODO *p;
    p = (NODO*)malloc(sizeof(NODO));
    p->dato = x;
    p->ant = NULL;
    p->sig = NULL;
    return p;
}

void insertar_cabeza(NODO **cabeza,int x)
{
    NODO *nuevo;
    nuevo = crear_nodo(x);
    nuevo->sig = *cabeza;
    nuevo->ant = ???;
    *cabeza = nuevo;
}


solo que en el nuevo->ant no se que poner porque el puntero anterior también debería apuntar a cabeza

de antemano gracias
#317
Programación C/C++ / Re: warnings
31 Diciembre 2012, 01:23 AM
saludos

tenías razón si tronaba el programa al querer insertar por el final ya que la lista está vacia, lo que hice fue primero comprobar si estaba vacía, ahora el programa ya compila perfectamente pero me gustaría agregar la función

int vacia(NODO *cabeza)
{
    if(cabeza==NULL)
       return 1;
    else
       return 0;
}


dentro de mi otra función, como una llamada para verificar si hay o no más elementos en la lista

void insertar_final(NODO **cabeza,int x)
{
    NODO *ultimo;
    if(*cabeza==NULL)//Aquí checa si está vacía
        *cabeza = crear_nodo(x);
    else
    {
        ultimo=*cabeza;
        while(ultimo->sig!=NULL)
           ultimo=ultimo->sig;

        ultimo->sig = crear_nodo(x);
        ultimo = ultimo->sig;
        ultimo->sig = NULL;
    }
}


pero el problema es que cabeza la tengo como doble puntero **cabeza y no sabría como hacerlo aunque en si ya imprime lo que le pido

gracias y feliz áño nuevo ;D
#318
Hola

Bueno lo que primero se tendría que hacer es declarar la matriz de cuanto por cuanto, algo como matriz[4][4] o del tamaño que la quieras, y después podrías utilizar dos for anidados uno para las filas y otro para las columnas y despues que dentro te pregunte por el elemento que quieras ingresar y lo guarde en la posición que le corresponda

por ejemplo si es la fila i y la columna j lo guardas

scanf("%d",&matriz[i][j]);
#319
Programación C/C++ / Re: warnings
29 Diciembre 2012, 00:19 AM
muchas gracias twins y rir3760 por sus respuestas, disculpen si pregunto mucho lo que pasa es que este tema de punteros es de los que más se me dificulta

ahora quiero que en vez de que me ingrese los elementos por la cabeza me los ingrese por el final, pero tengo una duda, ya se que tengo que tener un puntero que recorra la lista desde la cabeza hasta que apunte a NULL (o sea el final) pero no se si hacerlo así:

NODO *ultimo;
    ultimo=*cabeza;
    while(ultimo->sig!=NULL)
       ultimo=ultimo->sig;


o así

NODO *ultimo;
    ultimo=*cabeza;
    while(ultimo!=NULL)
       ultimo=ultimo->sig;

en uno último tiene campo siguiente y en el otro no
#320
Programación C/C++ / Re: warnings
28 Diciembre 2012, 03:22 AM
Muchas gracias por sus respuestas

Una última pregunta porque cuando le ingreso por ejemplo los números 5,18,67,80 me los imprime al revés 80, 67,18 y 5

no se supone que el puntero *cabeza siempre apunta al inicio de la lista?? ¿por qué la imprime así?

gracias :)