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ú

Temas - jfap45

#1
Disculpen, quiero convertir el contenido de una matriz q leo como char y luego copiarla a otra matriz pero como entero (usando atoi), ya lo intente pero supongo q algo tengo mal:

Ejemplo: tengo la siguiente mariz

123 45
12 67
44 89
123 678

estan los numeros separados ppor espacios pero cuando lo hago no me lee bien, aki el codigo

[code]char* M[filas][columnas];
for (i=0; i<filas;i++)
            for (j=0;j<columnas;j++)
            Mat[i][j]= atoi(M[i][j]);

[/code]
y no hace lo q quiero sino q imprime por ejemplo:
1  23
4  5
12  6
7  4
89

y ni termina de imprimirlos, espero me puedan ayudar xfavor
#2
Programación C/C++ / Punteros y ¿Listas?
2 Agosto 2012, 20:41 PM
Hola, me piden que cree un especie de estructura de datos con punteros; estos punteros almacenaran la dir de memoria de un elemento ya sea de un vector o matriz, el problema es q no tengo ni idea de como hacer eso, dejo un codigo q hizo otra persona pero la verdad no le entiendo:
#include <stdio.h>
#include <stdlib.h>

typedef struct{
int *aptInicio;
int contador;
int dato;
int *refDatoIntSc;
int *refDatoIntSf;
}estructurafc;

estructurafc llenarMatriz(int valor, estructurafc c){
estructurafc nuevaCelda;
if((c.contador > 0)){

nuevaCelda.aptInicio = c.refDatoIntSc;
nuevaCelda.contador = c.contador + 1;
nuevaCelda.dato = valor;
nuevaCelda.refDatoIntSc = NULL;
nuevaCelda.refDatoIntSf = c.refDatoIntSf;

printf("valor de la estructurafc en aptInicio es = %p\n", nuevaCelda.aptInicio);
printf("valor de la estructurafc en contador es = %d\n", nuevaCelda.contador);
printf("valor de la estructurafc en dato es = %d\n", nuevaCelda.dato);
printf("valor de la estructurafc en refDatoIntSc es = %p\n", nuevaCelda.refDatoIntSc);
printf("valor de la estructurafc en refDatoIntSf es = %p\n", nuevaCelda.refDatoIntSf);




}else{///cuando se inicia la primera estructura
nuevaCelda.aptInicio = malloc(sizeof(int));
nuevaCelda.contador = 1;
nuevaCelda.dato = valor;
nuevaCelda.refDatoIntSc = (nuevaCelda.aptInicio + 1);
nuevaCelda.refDatoIntSf = (nuevaCelda.aptInicio + 2);

printf("valor de la estructurafc en aptInicio es = %p\n", nuevaCelda.aptInicio);
printf("valor de la estructurafc en contador es = %d\n", nuevaCelda.contador);
printf("valor de la estructurafc en dato es = %d\n", nuevaCelda.dato);
printf("valor de la estructurafc en refDatoIntSc es = %p\n", nuevaCelda.refDatoIntSc);
printf("valor de la estructurafc en refDatoIntSf es = %p\n", nuevaCelda.refDatoIntSf);

}
return nuevaCelda;
}





int main(void){

int i = 0;

estructurafc prueba;
//llenarMatriz(3, prueba);
llenarMatriz(4, llenarMatriz(3, prueba));

/*for(i = 0; i < 2; i++)
{

}*/

return(0);
}


es como si quisiera usar listas pero eso tambien me confunde!! :s
#3
Programación C/C++ / Funciones en C, Ayuda!!
20 Julio 2012, 19:11 PM
Hola, tengo el siguiente codigo y me gustaria pasarlo a funciones para que despues las pueda reutilizar, si me pudieran ayudar al menos con una porfavor, yo me encargaria de pasar las demas a como pueda:


#include <stdio.h>
#include <conio.h>


   float num[10],aux=0,min,max;
      int i,e,t;

void main (){


      clrscr();
      // ASIGNAMOS UN TAMAÑO AL VECTOR, ELEGIDO POR EL USUARIO

        printf("Cual es el tamano del arreglo: ");
      scanf("%d", &t);

      num[t];
      // RELLENAMOS LAS POSICIONES DEL VECTOR
      for (i=0;i<t;i++)
      {
         printf("Numero para el lugar %d del arreglo: ",i);
         scanf("%f", &num);
      }
      // ORDENAMOS DE MENOR A MAYOR LOS VALORES DEL VECTOR
      for (i=1;i<t;i++)
         for (e=0; e<t-1;e++)
            if (num[e]>num[e+1])
            {
               aux= num[e];      // la variable aux nos ayuda a cambiar de posicion los valores del vector
               num[e]=num[e+1];
               num[e+1]=aux;
            }


          // SE ESTABLECEN LOS VALORES MINIMOS Y MAXIMOS
          min=num[0]; //Se establece con el valor del primer indice para despues comparar si el indice siguiente es menor
          max=num[0]; //Se establece con el valor del primer indice para despues comparar si el indice siguiente es mayor
         for (i=1;i<=t-1;i++)
         {
         if (num<min)
            min=num;
         if (num>max)
            max=num;
            }

         // SE IMPRIME EL VECTOR CON LOS VALORES ORDENADOS
         for(i=0;i<t;i++) {
         printf("%f",num);
         printf("\n");
           }

         // CALCULAMOS LA MEDIA O EL PROMEDIO DE TODOS LOS ELEMENTOS DEL VECTOR
          float suma=0;
          float media=0;
          for(i=0;i<t;i++) {
          suma=suma+num;

         media=suma/t;}

         // CALCULAMOS LA MEDIANA DEL CONJUNTO DE VALORES
         float mediana=0;
         if(t%2==0)
         {
         t=t/2;
         mediana=(num[t]+num[t-1])/2;
         }
         else
         {
         t=(t-1)/2;
         mediana=num[t];
         }

         printf("La media es: %f  \n",media);
         printf("La mediana es: %f \n",mediana);
         printf("Minimo: %f, Maximo: %f \n",min,max);
         getch();


      }

El codigo no es muy avanzado, por que yo no se programar mucho en C.
#4
Mi problema es el siguiente: Soy muy nuevo en la programacion en C y estoy colaborando en un proyecto en el cual me piden leer un conjunto de datos de los elementos de la tabla periodica (esos elementos tienen muchos atributos como peso y masa atomica, valencia, punto de fusion y ebullicion, un simbolo, etc.) Mi problema consiste en q necesito calcular medidas estadisticas para manejar esos valores, como media, mediana, etc, y necesitare ordenar loa valores de menor a mayor a fin de sacar un  minimo y un maximo, pero como hacer eso si al ordenar esos valores, cambiaran de posicion y ya no tendria relacion con su elemento correspondiente. Por lo tanto la informacion seria erronea, ademas al existir muchos atributos numericos es logico q en cada columna existiria un minimo y un maximo, pero como calculo eso sin perder los valores originales de los elementos?

Es decir:

nombre         peso atomico  valencia
hidrogeno         17                     3
helio                  5                     8

con esos valores al cambiarlos perdería los valores originales de los elementos!!

Si alguien me pudiera ayudar lo agradeceria porfavor!!

Es urgente!!!