Hjælp reg et program i C multi dim array

T

thecall

Guest
samtidig med at lære C jeg arbejder på flerdimensionale arrays ....Jeg forsøger at rite et program i C tilafhente det største antal fra alle 5 rækker med 5 kolonne matrixJeg gjorde det i en dimension ved første sortering rækken, og derefter udskrive det sidste ciffer i array, men jeg tabte i multidim please help dont indrømme mig prog bare brug for at kende den logik, eller hvordan plz hjælp

 
Du kan gøre dette med en indlejret løkke.

Outer loop
Sløjfe gennem rækkerne, første række
array [0] [0];

Inner Loop
Sløjfe gennem kolonnen og gemme største antal;
array [0] [1];
array [0] [2];
osv.
array [0] [max];Så næste række
array [1] [0];

osv.

Sidste række
array [MAX] [0];

 
Men hvordan man finder den største ikke blandt en række eller coulmn

skal vi sortere det første en derefter udskrive eller fortælle nogen Esy tilgang

 
Du behøver ikke at sortere array.Bare gør en sammenligning inde i den indre sløjfe og sammenligne, hvis den nuværende værdi af array er større end en variabel, der gemmer en "highscore".
Hvis det er større, gemme array's værdi i highscore variabel.
Fx:
Highscore = 0; / / initialiserer highscore med 0 for unsigned type,-xyz for underskrevne type
(ydre sløjfe)
(indvendig loop)
if (array [x] [y]> Highscore) highscore = array [x] [y]; / / huske højeste værdi
(slutningen af indre loop)
(slutningen af ydre loop)
printf (Højeste værdi:, %...", Highscore); //... afhænger af typen af array

 
Jeg skrev denne kode sine arbejdsmetoder, men dens tooo lange give suggstion hvordan man kan optimere denne kode.# include <stdio.h>
# include <conio.h>
main ()
(
clrscr ();
int n [5] [5] = (
2,4,7,5,9,
6,8,9,56,8,
3,5,6,57,89,
1,2,5,4,8,
5,8,6,3,200
);
int i, j, m, k, o, p, q;

printf ( "Matrix er \ n (");

for (i = 0; i <= 4; i )
(
for (j = 0; j <= 4; j )
(
printf ( "% d", n [j]);
if (j == 4)
(
printf ( "\ n");
)
)
)
printf ( ") \ n \ n \ n");for (j = 0; j <= 4; j )
(

if (n [0] [j]> n [0] [0])
(
m = n [0] [j];
n [0] [j] = n [0] [0];
n [0] [0] = m;

)

)

for (j = 0; j <= 4; j )
(

if (n [1] [j]> n [1] [0])
(
/ / n [1] [0] = n [0] [j];
k = n [1] [j];
n [1] [j] = n [1] [0];
n [1] [0] = k;
)

)
for (j = 0; j <= 4; j )
(

if (n [2] [j]> n [2] [0])
(
/ / n [1] [0] = n [0] [j];
o = n [2] [j];
n [2] [j] = n [2] [0];
n [2] [0] = o;
)
)
for (j = 0; j <= 4; j )
(

if (n [3] [j]> n [3] [0])
(
/ / n [1] [0] = n [0] [j];
p = n [3] [j];
n [3] [j] = n [3] [0];
n [3] [0] = p;
)

)
for (j = 0; j <= 4; j )
(

if (n [4] [j]> n [4] [0])
(
/ / n [1] [0] = n [0] [j];
q = n [4] [j];
n [4] [j] = n [4] [0];
n [4] [0] = q;
)
)
if (m> k)
(
if (m> o)
(
if (m> p)
(
if (m> q)
(
printf ( "største ingen% d", m);
)
)
)
)
if (k> m)
(
if (k> o)
(
if (k> p)
(
if (k> q)
(
printf ( "største ingen% d", k);
)
)
)
)

if (o> m)
(
if (o> k)
(
if (o> p)
(
if (o> q)
(
printf ( "største ingen% d", o);
)
)
)
)

if (p> m)
(
if (p> k)
(
if (p> o)
(
if (p> q)
(
printf ( "største ingen% d", p);
)
)
)
)if (q> m)
(
if (q> k)
(
if (q> p)
(
if (q> o)
(
printf ( "største ingen% d", q);
)
)
)
)getch ();

)

 
Kode:# include <stdio.h>

# include <conio.h># define ROW_SIZE 5

# define COL_SIZE 5void main (void)

(

int array [ROW_SIZE] [COL_SIZE] =

((2,4,7,5,9), (6,8,9,56,8), (3,5,6,57,8), (1,2,5,4,8), ( 5,8,6,3,200));int ix, iy, max = 0;clrscr (); / * I C, du kan ikke kalde en funktion, før variabel erklæring * /for (ix = 0; ix <ROW_SIZE ix )

(

for (iy = 0; iy <COL_SIZE; iy )

(

if (max <array [ix] [iy])

(

max = array [ix] [iy];

)

)

)printf ( "Max størrelse er% d \ n", max);

getch ();

)
 

Welcome to EDABoard.com

Sponsor

Back
Top