Dev - C++ - Búsqueda de elementos en un array

   
Vista:

Búsqueda de elementos en un array

Publicado por Alexis tigrerobado1@hotmail.com (3 intervenciones) el 18/03/2018 01:59:04
Bueno, hoy busco ayuda aunque ya lo hice alguna vez y no obtuve respuesta pero es otra cosa:
Tengo una duda sobre como buscar n elementos que el usuario desee para después de encontrar en que posición se encuentran hacer una serie de operaciones, el programa funciona para un solo valor, pero en caso de mete, ejemplo 3 elementos a buscar el primero me lo arroja en la posición correcta en la que esta pero los últimos dos me dice que están en la posición "-1", apreciaría mucho la ayuda.
Aquí mi código:
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
35
36
37
38
39
40
41
42
43
#include <stdio.h>
#include <iostream>
#include <conio.h>
using namespace std;
int main(){
	int a[10]={1,2,3,4,5,6,7,8,9,10};
	float b[10]={10.55, 11.73, 12.90, 15.35, 45.74, 48.53, 60.00, 49.52, 5.20, 13.99};
	int i,j=0, clave,prod, cant;
	float c[10], d[10], e[10];
	char bandera = 'F';
	printf ("Cuantos productos distintos llevara:");
	scanf ("%i", &prod);
while (j<prod){
		i=0;
	printf ("Ingrese la clave del producto:");
	scanf ("%i", &clave);
	while ((bandera=='F') && (i<10)){
		if (a[i]==clave){
			bandera = 'V';
		}
		i++;
	}
	if (bandera== 'F'){
		printf ("La clave no esta en la base\n");
	}
	else if(bandera== 'V'){
		printf ("La clave esta en la base de la tienda en la posiion: %i\n", i-1);
		printf ("***************************************\n");
		b[i-1];
		printf ("Cuantos articulos llevara?");
		scanf ("%d", &cant);
		c[i-1]=cant;
		d[i-1]=b[i-1]*c[i-1];
		printf ("Lo que pagara por el articulo es:%f\n", d[i-1]);
		fflush (stdin);
		j++;
 
	}
}
 
	getch ();
	return 0;
}
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

Búsqueda de elementos en un array

Publicado por Andrés (27 intervenciones) el 18/03/2018 04:39:33
Estas codificando en c o en c++? esto por las cabeceras, luego por el namespace y finalmente solo printf scanf. Definitivamente compilando en c++ y desarrollando en windows.

Si las las claves en a no cambian:

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
35
36
37
38
39
40
41
42
43
#include <stdio.h>
#include <stdlib.h>
 
int main(int argc, char* argv[])
{
 
	float b[] = {0,10.55, 11.73, 12.90, 15.35, 45.74, 48.53, 60.00, 49.52, 5.20, 13.99};
 
	size_t productos, cantidad, clave;
 
	printf ("Cuántos productos distintos llevará?: ");
	scanf ("%zu", &productos);
 
	register size_t j = 0;
 
	while(j < productos) {
 
		fflush (stdin);
 
		printf ("Ingrese la clave del producto: ");
		scanf ("%zu", &clave);
 
		if(1<= clave && clave <= 10)
		{
			printf ("La clave esta en la base de la tienda en la posición: %zu\n", clave);
			printf ("***************************************\n");
 
			printf ("Cuántos artículos llevará? ");
			scanf ("%zu", &cantidad);
 
			printf ("Lo que pagará es: %.2f\n", b[clave]*cantidad);
			j++;
 
		}else
		{
			printf("Clave incorrecta\n");
		}
 
	}
 
	return EXIT_SUCCESS;
 
}
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