|
Mostrar Temas
|
Páginas: [1]
|
1
|
Programación / Programación C/C++ / Convertir matriz Char a Int con atoi
|
en: 8 Agosto 2012, 20:02 pm
|
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 / Programación C/C++ / Punteros y ¿Listas?
|
en: 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 / Programación C/C++ / Funciones en C, Ayuda!!
|
en: 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
|
Programación / Programación C/C++ / Matrices en C/C++ Urgente!!!
|
en: 17 Julio 2012, 20:53 pm
|
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!!!
|
|
|
|
|
|
|