Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: alkimista1988 en 14 Julio 2011, 21:40 PM

Título: ayundeme a resolver esto problemas :(
Publicado por: alkimista1988 en 14 Julio 2011, 21:40 PM
bueno estoy haciendo una tarea que me dejo el profesor y de verdad estoy teniendo un poco de problemas al resolverlos.

prob-1:Se tiene un vector de 15 elementos de tipo entero, calcule el menor elemento e indicar cuál es la posición que ocupa el número en el vector.

#include "stdio.h"
#include "conio.h"
main()
{
int vector[15],i,a=0;
for (i=0;i<15;i++)
{
scanf("%d",&vector[i]);
//con esto averiguamos el mayor numero del vector.
if (a<=vector[i])
a=vector[i];
}
for (i=0;i<15;i++)
{
//y con esto averiguamos el menor numero
if (a>=vector[i])
a=vector[i];
}
printf("\nel menor es: %d",a);
getch();
}

bueno hasta ahi solo puedo encontrar el menor numero pero no se como podria encontrar en que poscicion se encuentra.

prob-2:Se tiene una matriz de 3x3 con números al azar, indique la suma de ambas diagonales.

#include "stdio.h"
#include "conio.h"
main()
{
int matriz[3][3],i,j,sum=0;
for (i=0;i<3;i++)
{
for (j=0;j<3;j++)
{
scanf("%d",&matriz[i][j]);
if (i==j)
sum=sum+matriz[i][j];
}
}
printf("la sum de la diagonal 1 es :%d",sum);
getch();
}

bueno hasta ahi me sale solo la suma de la primera diagonal pero como podria hallar la suma de la segunda diagonal.   
Título: Re: ayundeme a resolver esto problemas :(
Publicado por: El_Java en 14 Julio 2011, 22:53 PM
Para encontrar la posición solo tienes que añadirle dentro del if del ultimo bucle for que una variable guarde la posicion, osea 'i', cuando encuentra el numero, algo como esto:

int k = 0;

for(int i=0; i<15; i++){
   if (a >= vector[i]){
      a = vector[i];
      k = i;
   }
}

printf("\nla posicion es: %d", a);



Y para las diagonales solo tiene que sumar matriz[2][0], matriz[1][1], matriz[0][2], implementalo como quieras.

Un saludo ;)