| Ver tema anterior :: Ver siguiente tema |
| Autor | Mensaje |
|---|
dama_sistemas
Registrado: 04 Oct 2007 Mensajes: 8
| Publicado: 04/10/2007 1:31 pm | | | Título: Problemas. |
| Lenguaje C.
A= |1|3|1|9|6|1|6|1|6|
Aux= |1|3|9|6|
K<--2 Aux [1]<--A [1] Para i= 2 hasta n
Sw<--0, j <--1[/b] Mientras (j<k) y (sw=0) Si A[i]=Aux [j] Sw<--1 J<-- j++
Si Sw=0 entonces
Aux [k] <--A [i] K<--k+1
Ultima edición por dama_sistemas el 11/10/2007 7:15 pm; editado 5 veces |
|
| Volver arriba | |
 |
digies

Registrado: 18 Nov 2005 Mensajes: 176 Ubicación: Cono Sur
| Publicado: 05/10/2007 6:50 am | | | Título: |
| Hola
Como tu algoritmo está hecho en texto plano -sin sangrado-, es difícil saber donde comienzan y/o terminan agunas funciones como los bucles y los if. Por otra parte te faltó el valor de la variable n y el condicional del "para". Recuerda que en el lenguaje C el indice "i" de un array comienza en 0 (cosa que no sucede lo mismo en Visual Basic por ejemplo, donde el primer indice "i" de un array es igual a 1).
Esto es solo una aproximación:
| Código: | #include <stdio.h> #include <stdlib.h>
int main(void) { int a[]= {1, 3, 1, 9, 6, 1, 6, 7, 1, 6}, aux[]= {1, 3, 9, 6, 7}, i, k=2, n=10, sw, j; aux[1]= a[1]; /* Es decir que aux tomará el valor de 3 */ for(i=2; i<n; i++) /* Suponiendo que n=10 */ { sw=0; j=1; while(j<k && sw==0) { if(a[i]==aux[j]) { sw=1; j++; if(sw==0) { aux[k]=a[i]; k++; } } } } system("PAUSE"); return EXIT_SUCCESS; }
|
Un saludo |
|
| Volver arriba | |
 |
dama_sistemas
Registrado: 04 Oct 2007 Mensajes: 8
| Publicado: 05/10/2007 7:02 am | | | Título: |
| Gracias por la Sugerencia.
Saludos!! _________________ Nada que decir por el momento!!
Ultima edición por dama_sistemas el 11/10/2007 7:16 pm; editado 1 vez |
|
| Volver arriba | |
 |
|
dama_sistemas
Registrado: 04 Oct 2007 Mensajes: 8
| Publicado: 07/10/2007 1:30 pm | | | Título: |
| Muchas Gracias a digies.
Saludos. 
Ultima edición por dama_sistemas el 11/10/2007 7:17 pm; editado 1 vez |
|
| Volver arriba | |
 |
digies

Registrado: 18 Nov 2005 Mensajes: 176 Ubicación: Cono Sur
| Publicado: 08/10/2007 1:25 pm | | | Título: |
| Coloca tu código en el foro para que podamos ayudarte. Y explica un poco qué es exactamente lo que quieres hacer.
[code] tu_codigo_o_algoritmo [ /code]
Un saludo |
|
| Volver arriba | |
 |
dama_sistemas
Registrado: 04 Oct 2007 Mensajes: 8
| Publicado: 08/10/2007 2:35 pm | | | Título: |
| | Código: | A= |9|8|6|9|6|3|9|6| Aux = |9|8|6|3|
K<--2 Aux [1]<--A [1] Para i= 2 hasta n
Sw<--0, j <--1 Mientras (j<k) y (sw=0) Si A[i]=Aux [j] Sw<--1 J<-- j++
Si Sw=0 entonces
Aux [k] <--A [i] K<--k+1
|
Gracias. _________________ Nada que decir por el momento!!
Ultima edición por dama_sistemas el 11/10/2007 7:18 pm; editado 1 vez |
|
| Volver arriba | |
 |
|
digies

Registrado: 18 Nov 2005 Mensajes: 176 Ubicación: Cono Sur
| Publicado: 09/10/2007 4:26 am | | | Título: |
| | Código: | /* Compilado con LccWin32 */
#include <stdio.h> #include <stdlib.h>
int main(void) { int a[]= {9, 7, 9, 8, 6, 9, 6, 3, 9, 6}, *aux=NULL, i, p=1, m=1, k=1, n=0, t; printf("a= "); for(i=0; i<=9; i++) printf("%d ", a[i]); for(i=0; i<=9; i++) { if(a[i]==-1) { k++; p=k; m=k; n++; } else { while(p<=9) { if(a[i]==a[m]) { a[m]=-1; p++; m++; } else { m++; p++; } } k++; p=k; m=k; } } t=10-n; aux=malloc(t*sizeof*aux); if(aux==NULL) { puts("\nERROR EN LA ASIGNACION DE MEMORIA\n\n"); system("PAUSE"); return EXIT_FAILURE; } i=0; k=0; do { if(a[i]!=-1) { aux[k]=a[i]; i++; k++; } else i++; } while(i<=9); printf("\naux= "); i=0; while(i<t) { printf("%d ", aux[i]); i++; } puts("\n\n"); free(aux); system("PAUSE"); return EXIT_SUCCESS; }
|
Un saludo |
|
| Volver arriba | |
 |
dama_sistemas
Registrado: 04 Oct 2007 Mensajes: 8
| Publicado: 10/10/2007 1:39 pm | | | Título: |
| Muchas Gracias por tu ayuda!!
 _________________ Nada que decir por el momento!! |
|
| Volver arriba | |
 |
dama_sistemas
Registrado: 04 Oct 2007 Mensajes: 8
| Publicado: 11/10/2007 3:37 pm | | | Título: Nuevo Problema |
| Calcular la dirección de memoria del elemento A[6] considerando:
Dirección base del arreglo 1040
Elementos de tipo entero _________________ Nada que decir por el momento!! |
|
| Volver arriba | |
 |
|
IamNot
Registrado: 06 Ago 2007 Mensajes: 12
| Publicado: 11/10/2007 6:57 pm | | | Título: |
| lo que tendrias que hacer es un puntero que almacene la posicion de memoria del primer elemento y luego lo haces avanzar la cantidad de posiciones del elemento a calcular por ejemplo
| Código: | #include <stdio.h> int main(int argc, char* argv[]) {
int a[10]; int *posicion; int buscar; int contador;
printf("Introduzca la posicion a buscar en el vector\n"); scanf("%d",&buscar);
posicion =&a[0];
for (contador=1;contador<=buscar;contador++) { posicion++; }
printf("La posicion de memoria de a[%d",buscar); printf("] es %d",posicion);
getchar(); getchar();
return 0; }
|
tal vez no sea la manera mas eficaz la unica ni la mejor pero funciona |
|
| Volver arriba | |
 |
chiquisystem
Registrado: 11 Oct 2007 Mensajes: 1 Ubicación: Mexico
| Publicado: 11/10/2007 7:13 pm | | | Título: Hola. |
| Construir la siguiente clase empleando polimorfismo y herencia orientada a la programación orientada a objetos. _______________________ arreglo _______________________ char dato[10] int pos ________________________ void captura(char valor) char desplegar(int posicion) _________________________
Si alguien necesita ayuda con metodos numericos, acabo de hacer unos programitas, y con gusto los comparto. 
Saluditos!!  |
|
| Volver arriba | |
 |
|
|