C/Visual C - un trabajo practico

 
Vista:
sin imagen de perfil

un trabajo practico

Publicado por Jefren (1 intervención) el 28/04/2018 03:41:09
solamente usando For – While – If – Switch Case – Vectores – Printf – Scanf – Int – Char

Tengo que hacer: Se trabajará con dos vectores, donde el largo del vector debe darlo el usuario por teclado (int largoVector). Una vez que el usuario definió el largo de los vectores se pasa a la carga del primer vector (vector1), el usuario deberá cargar por teclado cada numero entero que forma al vector. Cuando ya tengamos el vector1 cargado con los números del usuario, por ejemplo vector1 ={1,4,5,3,6}, se debe crear el vector vector2, con los números todos invertidos, es decir, por ejemplo, vector2 = {6,-3,5,4,1}.

B- Mostrar por pantalla a ambos vectores en dos líneas distintas con este formato por consola: El vector 1 esta formado por los números: 1 4 5 -3 6 Y el vector 2 esta formado por los números: 6 -3 5 4 1.


Soy un principiante, y llegue a hacerlo hasta aca:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
int main()
{
    int i=0;
    int j=0;
    int largovector=0;
    int vector1[largovector];
    int vector2[largovector];
 
    printf("Ingrese el largo del vector\n"); //Definimos el largo del vector
    scanf("%d",&largovector);
 
    for(j=0; j<largovector; j++) //Definimos los numeros del vector
    {
        printf ("Ingrese el valor de la coordenada %d del vector: \n",j);
        scanf ("%d",&vector1[j]);
    }
 
 
    printf("El vector 1 esta formado por los numeros: ");//Imprimimos el vector
    for(j=0; j<largovector; j++)
    {
        printf("%d ",vector1[j]);
    }
    printf("\n");
 
    printf("El vector 2 esta formado por los numeros: ");
    for (i=largovector-1; i>=0; i--)
    {
        printf("%d ",&vector2[j]);
    }
 
 
    return 0;
}

Mi problema es que no se como crear un Vector2[] que tenga mismas coordinadas que el de Vector1 para crear la inversa.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

un trabajo practico

Publicado por jack (1 intervención) el 04/05/2018 02:08:30
Buenas Jefren

Tu problema ( por lo que entendi ) es copiar los valores del Vector1 al Vector2 pero en posición inversa

si mi entendimiento del lenguaje c, no me falla

lo unico que haces tu es :

introducir cuantos valores quieres meter en los vectores

introducir los valores en el Vector1

mostrar los valores de Vector1 y Vector2

( aunque el for para mostrar Vector2 esta bien , tiene 0 )

como eres principiante, voy a pasar por alto ese detalle

pero ....
1
2
3
4
for (i=largovector-1; i>=0; i--)
    {
        printf("%d ",&vector2[ j ]); // Aqui te equivocaste ... te señalaría el error, pero no es mi trabajo
    }

como sea , hay 2 opciones para tu problema

forma avanzada y forma tramposa

la forma tramposa
1
2
3
4
for (i=largovector-1; i>=0; i--)
    {
        printf("%d ",&vector1[ i ]); // Solo lo vas a imprimir al revés el vector1
    }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de gregory
Val: 73
Ha mantenido su posición en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

un trabajo practico

Publicado por gregory (24 intervenciones) el 11/05/2018 05:55:24
la verdadera forma seria asi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void inversa(int *A,int *B,int tam)
{
 int aux,n;
 n=0;
for(aux=tam;aux>0;aux--)
 {
   B[n]=A[aux];
   n++;
 }
}
void imprimir(int *A,int *B,int tam)
{
 int aux;
for(aux=0;aux<tam;aux++)
 {
   printf("[%d]\t[%d]\n",A[aux],B[aux])
 }
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar