Dev - C++ - Llenado de matriz en random

 
Vista:
sin imagen de perfil

Llenado de matriz en random

Publicado por carmen (2 intervenciones) el 09/03/2017 02:35:43
pues me copila pero el problema que observo es que si calcula el random pero ese mismo numero lo manda a toda la matriz no se que estoy haciendo mal imagino que es dentro de mi FOR pero no veo en que falle


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
srand((unsigned)time(NULL));
     int f=10,c=10,mayor=0,min,max;
     int matriz[f][c];
     //lleno la matriz
    for(int i=0; i<f; i++)
    {
        for(int j=0; j<c; j++)
        {
          matriz[f][c]=(rand()%255)+1;
 
        }
    }
 
 for (int i=0;i<f;i++)
{
for (int j=0;j<c;j++)
printf ("%d\t",matriz[f][c]);
printf ("\n\n");
if (matriz[f][c]>=max)
max=matriz[c][f];
if (matriz[f][c]<=min)
min=matriz[c][f];
}
 printf ("El numero mayor de la matriz es %i y el menor %i",max,min);
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
sin imagen de perfil
Val: 661
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Llenado de matriz en random

Publicado por agustin (522 intervenciones) el 09/03/2017 10:10:39
Tienes varios fallos. Mira el código que hice:
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
44
45
46
47
48
49
50
51
52
53
54
55
56
#include <stdio.h>
#include <stdlib.h>
 
#define NFILAS 10
#define NCOLUMNAS 10
 
typedef struct{
    int fila;
    int columna;
}COORDENADAS;
 
int main(int argc, char* argv[])
{
     COORDENADAS mayor,menor;
     int i,j;
     int matriz[NFILAS][NCOLUMNAS];
 
     srand((unsigned)time(NULL));
 
     //lleno la matriz
    for (i=0; i<NFILAS; i++){
        for (j=0; j<NCOLUMNAS; j++){
          matriz[i][j] = (rand()%255)+1;
        }
    }
 
    //Asigno a mayor y menor el valor del primer elemento del array
    mayor.fila = mayor.columna = menor.fila = menor.columna = 0;
 
    for (i=0; i<NFILAS; i++){
        for (j=0; j<NCOLUMNAS; j++){
            printf ("%3i",matriz[i][j]);
 
            if (j < NCOLUMNAS-1)
                printf("\t");
 
            if (matriz[i][j] > matriz[mayor.fila][mayor.columna]){
                mayor.fila = i;
                mayor.columna = j;
            }
 
            if (matriz[i][j] < matriz[menor.fila][menor.columna]){
                menor.fila = i;
                menor.columna = j;
            }
        }
        printf ("\n\n");
    }
 
    printf ("El numero mayor de la matriz es: matriz[%i][%i]=%i\n",mayor.fila,mayor.columna,matriz[mayor.fila][mayor.columna]);
    printf ("El numero menor de la matriz es: matriz[%i][%i]=%i\n",menor.fila,menor.columna,matriz[menor.fila][menor.columna]);
    printf ("Pulsa intro para salir...");
    getchar();
    return 0;
}
//---------------------------------------------------------------------------

Para saber cual es el mayor y el menor uso otro enfoque, en vez de guardar su valor guardo sus coordenadas y asi podré saber tanto su valor como su posición en el array.
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