Autor Tema: Programa para comenzar con vectores en C. [Solucionado]

0 Usuarios y 1 Visitante están viendo este tema.

14 Mayo, 2013, 07:58 pm
Leído 1119 veces

xamo

  • $$\Large \color{#5e8d56}\pi\,\pi\,\pi$$
  • Mensajes: 373
  • Karma: +0/-0
  • Sexo: Femenino
Buenas. La verdad es que no sé que pasa con este código ya que juraría que todo está bien, pero al darle a "Compilar y ejecutar" no se abre el MS-DOS.  ??? ???

Yo tenía que resolver los siguientes ejercicios:

1. Inicializa un vector con los 10 primeros números pares.
2. Inicializa un vector con los 10 primeros números impares.
3. Crea un nuevo vector que sea la suma de los dos anteriores.
4. Busca un elemento que te dé el usuario en el vector del ejercicio 3.


El problema lo tengo con el cuarto ejercicio:

#include<stdio.h>
#include<stdlib.h>

void InicializarPares(int pares[]);
void InicializarImpares(int impares[]);
void SumaVectores(int v[], int w[], int suma[]);
int BuscarVector (int n, int v[]);

///PROGRAMA///

int main () {
int pares[10], impares[10], suma[10], i, n /*valor que pedirá usuario*/, s; /*indicador de si el número
está o no en el vector*/

InicializarPares(pares);
InicializarImpares(impares);
SumaVectores(pares,impares,suma);

prinf ("Introduzca el número que quiere buscar en el vector suma:\n");
scanf("%d", &n);

s = BuscarVector(n, suma); /*si lo encuentra, s = 1, si no, s = 0*/

if (s == 1);
printf ("El número %d esta en el vector\n", n);
else
printf ("El número NO esta en el vector\n", n);

printf("El vector suma es:\n");
for (i=0;i<10;i++){
printf("%d ", suma[i]); /*El espacio tras %d para que salgan los elementos separados.*/

}
printf("\n");

system("pause");
return(0);
}

/// FUNCIONES ///

void InicializarPares(int pares[]){
int i;
for(i=0; i<10;i++)
{
v[i] = 2*i;
}
}

void InicializarImpares(int impares[]){
int i;
for(i=0; i<10;i++)
{
v[i] = 2*i+1;
}
}

void SumaVectores (int v[], int w[], int suma[]){
int i;
for(i=0;i<10; i++)
suma[i] = v[i] + w[i];

}

int BuscarVector (int n, int v[]){
int s = 0, i = 0;


while (i<10 && s == 0) /
{
if (v[i] == n)
s = 1;
i++;
}
return s;
}


Espero que ustedes me podáis decir donde está el error porque ya no sé dónde mirar.  :'(

Muchas gracias por ayudar.

14 Mayo, 2013, 08:41 pm
Respuesta #1

xamo

  • $$\Large \color{#5e8d56}\pi\,\pi\,\pi$$
  • Mensajes: 373
  • Karma: +0/-0
  • Sexo: Femenino
Ya di con el error. Muchas gracias a todos.  :P