/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

Problemas.

 
      Índice del Foro elrincondelc.com -> Trabajos de clase
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
dama_sistemas



Registrado: 04 Oct 2007
Mensajes: 8

MensajePublicado: 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

MensajePublicado: 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

MensajePublicado: 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

MensajePublicado: 07/10/2007 1:30 pm
Título:

Muchas Gracias a digies.

Saludos. Very Happy


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

MensajePublicado: 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

MensajePublicado: 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

MensajePublicado: 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

MensajePublicado: 10/10/2007 1:39 pm
Título:

Muchas Gracias por tu ayuda!!
Very Happy
_________________
Nada que decir por el momento!!
Volver arriba
dama_sistemas



Registrado: 04 Oct 2007
Mensajes: 8

MensajePublicado: 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

MensajePublicado: 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

MensajePublicado: 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. Wink

Saluditos!! Smile
Volver arriba
      Índice del Foro elrincondelc.com -> Trabajos de clase
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com