Foro de elhacker.net

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.
Código:
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.
Código:
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:
Código
  1. int k = 0;
  2.  
  3. for(int i=0; i<15; i++){
  4.   if (a >= vector[i]){
  5.      a = vector[i];
  6.      k = i;
  7.   }
  8. }
  9.  
  10. printf("\nla posicion es: %d", a);
  11.  
  12.  

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

Un saludo ;)