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

#1
Gracias, estudiare lo que me mandas!

Cabe decir que si en la matriz posicion 0,0 tengo '147' al convertirlo a entero quiero ese mismo valor, no su ekivalente en ASCII!

Si tienes algunos ejemplos, pasamelos xfavor!!

Gracias y saludos!!
#2
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
#3
Programación C/C++ / Re: Punteros y ¿Listas?
3 Agosto 2012, 00:53 AM
si, lo se! Lo estoy estudiando pero soy algo bruto en la programacion, por eso no entiendo el codigo, igual gracias!!
#4
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
#5
Ammm, perdon por las molestias otra vez,
resulta q segun yo hice mis funciones, pero no estan bien xq me marca muchos errores;

# include <conio.h>

# include <stdio.h>

void ordenar (float num[], int t)
{
int i,e;
float aux;
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;
}
}

float minmax (int i, int t, float num [], float min, float max)
{
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[i]<min)
min=num[i];
if (num[i]>max)
max=num[i];
}
return min, max;
}


/*imprimir (int i, int t, float num[])
{
for(i=0;i<t;i++) {
printf("%f",num[i]);
printf("\n"); }
return;

}
*/

float medianum (int i, int t, float num[], float suma, float media)
{

for(i=0;i<t;i++) {
suma=suma+num[i];

media=suma/t;}
return media;
}




float median ( int t, float num[], float mediana)
{
mediana=0;
if(t%2==0)
{
t=t/2;
mediana=(num[t]+num[t-1])/2;
}
else
{
t=(t-1)/2;
mediana=num[t];
}
return mediana;
}

void llenarArreglo(float num[], int t, int i)
{

for (i=0;i<t;i++)
{
printf("Numero para el lugar %d del arreglo: ",i);
scanf("%f", &num[t]);
}
}




main ()
{
int t,i=0;
float num[1], min=0, max=0, mediana=0, media=0;
clrscr();
printf("Cual es el tamano del arreglo: ");
scanf("%f", &t);
num[t];

llenarArreglo(num, t, i);
ordenar(num, t);
minmax (min, max);
//imprimir ();
medianum (media);
median(mediana);


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


getch();
return 0;
}


Me sale un error en algunas donde me dice q son muy pocos parametros los q uso para llamar la funcion, espero puedan ayudarme:
#6
Muchas Gracias, una por lo del error al leer el vector y otra por lo de la funcion, creo q entendi, gracias de nuevo y saludos!!
#7
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.
#8
Cita de: DickGumshoe en 18 Julio 2012, 16:29 PM
Cierto, hacerlo con structs es más fácil que como yo se lo he explicado.

Gracias! De hecho para leer el archivo donde lo tengo (.csv), tambien encontre un ejemplo donde manejan este tipo de estructuras (supongo q son similares)! Intentaré de esa forma....
#9
Cita de: DickGumshoe en 17 Julio 2012, 21:35 PM
A ver, fijándonos en la función que puse antes, mi idea es que en la función, todas las variables que se llaman a seguido de un índice sean las características de un elemento, y las que tienen de nombre b seguido de un índice sean las de otro.

Por ejemplo, queremos intercambiar las características del Rutenio y las del Bismuto en el vector. Pues a1 será el peso del Rutenio, y b1 el peso del Bismuto; a2 la masa atómica del Rutenio, y b2 la masa atómica del Bismuto. Así, con tantas características como te hayan indicado que debas intercambiar.

Saludos!

Creo que eso si lo entendi, muchas gracias, lo intentare a ver q tal!!
#10
Cita de: Leo Gutiérrez. en 17 Julio 2012, 21:00 PM
Hola.

Para sacar máximos y mínimos no tiene que estar ordenada la estructura.

Ejemplo:

int max = array[0];
for(i = 0; i < n; i++) {
    if(array[i] > max) {
        max = array[i];
    }
}


Lo mismo para el mínimo.


Sip en eso realmente no tengo mucho problema, el problema por ejemplo es para la mediana, ahi si tienen q estar ordenados para q la mediana sea la correcta!!