Departamento de Ingeniería de Sistemas

Anuncio
Pontificia Universidad Javeriana
Departamento de Ingeniería de Sistemas
Pensamiento Algorítmico
Banco de Ejercicios – Vectores
Suponga la siguiente declaración de variables:
int vec[100];
int i=0,busca,pos;
bool sw=false;
¿Cuál de las siguientes opciones corresponde al segmento de programa que lee un número, lo busca en el arreglo e
imprime si el número buscado está o no en el arreglo? Si el número está en el arreglo, imprime la posición en que
éste se encuentra.
De las opciones restantes justifique para cada una por qué no es la respuesta correcta.
cout << "digite número a buscar: ";
cout << "digite número a buscar: ";
cin >> busca;
cin >> busca;
for (i=0 ; i<100 ; i++)
while (sw==false)
if (vec[i]==busca)
if (vec[i]==busca)
{
sw=true;
pos=i;
else
a.sw=true;
b.i++;
}
if (sw==true)
else
cout<<"numero SI está en posición "<<i;
sw=false;
else
if (sw==true)
cout << "numero NO esta";
cout<<"numero SI está en posicion "<<pos;
else
cout << "numero NO esta";
cout << "digite número a buscar: ";
cout << "digite número a buscar: ";
cin >> busca;
cin >> busca;
for (i=0 ; i<100 ; i++)
while (i<100)
if (vec[i]==busca)
if (vec[i]==busca)
pos=i;
break;
c.d.if (pos==i)
else
cout<<"numero SI está en posición "<<pos;
i++;
else
if (vec[i]==busca)
cout << "numero NO esta";
cout<<"numero SI está en la posición "<< i;
else
cout << "numero NO esta";
1. Considere el siguiente programa:
Después de ejecutarse el programa ¿Cuál será el
main()
contenido del arreglo vec?
{
int i,j,vec[10];
a) 0 1 2 3 4 5 3 7 4 3
for (i=0 ; i<10 ; i++)
vec[i]=i+1;
b) 1 2 3 4 5 6 7 8 9 10
for (i=2 ; i<5 ; i++)
for (j=i ; j<10 ; j=j+i)
c) 1 2 2 3 4 6 3 8 4 3
vec[j]=i;
}
d) 0 2 3 4 5 3 7 4 3 10
2. La siguiente función recibe un arreglo ordenado int funcion (int arreglo[], int tam)
de forma ascendente y retorna la cantidad de {
parejas de números iguales. Por ejemplo, para el
int cont;
arreglo {1,2,2,3,3,4,4,6}. El valor que debe
int res=0;
retornar es 3, ya que las parejas son 2-2;3-3;4-4.
for(cont=0;cont<tam;cont++)
if(arreglo[cont]==arreglo[cont+1])
¿Logra su objetivo la función? Justifique su
res++;
respuesta.
return res;
}
Descargar