Realizar un Vector en Lenguaje C

¿Hola Expertos Necesito realizar un programa que muestre un array o un vector? Solo: llenar, mostrar y eliminar. No se realizarlo, es un ejercicio que me mandaron en la Universidad en una asignatura de Programación

1 respuesta

Respuesta
1
Este programa te puede ser útil. Se compiló en turbo C++ y corre perfectamente. Aunque tiene cosas que tu no necesitas puedes tomar las dos primeras funciones que te sirve para solucionar tu problema.
/*--------------------------------------------------------------
//                PEDRO VICENTE ROSERO MONTAÑO
//
//                Ingenier¡a Electr¢nica
//-------------------------------------------------------------*/
#include<stdio.h>
#include<conio.h>
#include<string.h>
void rectangulo(int, int, int, int, char[]);
void vector1(void);
void vector2(void);
int posx = 15, posy = 5;
int ancho = 30, alto = 15;
void llenar(int v[20], int d)
{
    for(int i=1;i<=d;i++)
    {
        printf("Insertar pos.[%d]: ",i);
        scanf("%d",&v);
    }
}
void mostrar(int v[20], int d)
{
    for(int i=1;i<=d;i++)
    {
        printf("[%d]",v);
    }
}

int potencia (int b, int e)
{
    int p=1;
    for(int i=1;i<=e;i++)
    {
        p=p*b;
    }
    return (p);
}
void evalua(int v[],int d, int x)
{
    int s=0;
    for(int i=1;i<=d;i+=2)
    {
        s=s+(v*potencia(x,v[i+1]));
    }
    printf("\n\nx es igual a: %d",s);
}
void invierte (int V[], int d)
{
    int aux1;
    int fin1=d/2;
    for(int i=1;i<=(d/2)/2;i++)
    {
        aux1=V;
        V = V[fin1];
        V[fin1] = aux1;
        fin1--;
    }
    fin1=d;
    for(int j=(d/2)+1; j<=(d/2)+1; j++)
    {
        aux1=V[j];
        V[j] = V[fin1];
        V[fin1] = aux1;
        fin1--;
    }
}
// Funci¢n para dibujar el men£
void menu()
{
    char opcion;
    clrscr();
    rectangulo(posx, posy, ancho, alto, "Men£");
    gotoxy(posx + 2, posy);
    //clrscr();
    gotoxy(posx + 2, posy + 2);
    printf("1. Misteriosa inversi¢n");
    gotoxy(posx + 2, posy + 4);
    printf("2. Evaluar un polinomio");
    gotoxy(posx + 2, posy + 6);
    printf("3. Salir");
    // Ciclo para esperar a que el usuario digite una opción
    do
    {
        gotoxy(posx + 2, posy+ 12);
        printf("Seleccione una opci¢n: ");
        opcion = getche();
    }
    while (opcion != '1' && opcion != '2' && opcion != '3');
    clrscr();
    if (opcion == '1')
        vector1();
    else if (opcion == '2')
        vector2();
}
//-----------------------------------
// Funci¢n para trazar un marco
//-----------------------------------
void rectangulo(int posx, int posy, int ancho, int alto, char titulo[30])
{
    int i;
    char texto[30] = "";
    //textcolor(10);                  //asigna un color al texto
    for(i = 1; i <= ancho; i++)
    {
        gotoxy(posx + i, posy);
        printf("Í");
    }
    gotoxy(posx + ancho, posy);
    printf("»");
    for(i = 1; i <= alto; i++)
    {
        gotoxy(posx + ancho, posy + i);
        printf("º");
    }
    gotoxy(posx + ancho, posy + alto);
    printf("¼");
    for(i = ancho - 1; i >= 1; i--)
    {
        gotoxy(posx + i, posy + alto);
        printf("Í");
    }
    gotoxy(posx, posy + alto);
    printf("È");
    for(i = alto - 1; i >= 1; i--)
    {
        gotoxy(posx, posy + i);
        printf("º");
    }
    gotoxy(posx, posy);
    printf("É");
    gotoxy(posx + 2, posy);
    strcat(texto, " ");
    strcat(texto, titulo);
    strcat(texto, " ");
    printf(texto);
    //textcolor(15);
}
//--------------------------------------------------------------
// Dado un vector invertirlo desde la mitad
//--------------------------------------------------------------
void vector1()
{
    int V[20];
    int d;
    clrscr();
    gotoxy(posx, posy);
    printf("Inserte dimensi¢n del vector: ");
    scanf("%d",&d);
    llenar(V,d);
    printf("\n\nVector original: \n");
    mostrar(V,d);
    printf("\n\nVector luego de la inversi¢n: \n");
    invierte(V,d);
    mostrar(V,d);
    getch();
    menu();
}
//--------------------------------------------------------------
// Dado un polinomio evaluarlo en el punto x (todo en un vector)
//--------------------------------------------------------------
void vector2()
{
    clrscr();
    int v[20];
    int d,x;
    gotoxy(posx, posy);
    printf("Inserte dimensi¢n del vector: ");
    scanf("%d",&d);
    printf("Inserte el valor de (x): ");
    scanf("%d",&x);
    llenar(v,d);
    printf("\nVector: ");
    mostrar(v,d);
    evalua(v,d,x);
    getch();
    menu();
}
int main()
{
    menu();
    return 0;
}

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas