Trợ giúp reg một chương trình đa C dim mảng

T

thecall

Guest
trong khi học tập C i am làm việc trên các mảng đa chiều ....i cố gắng để nghi thức một chương trình trong C đểnhận số lượng lớn nhất từ bất kỳ dòng 5 của 5 cột ma trậntôi đã làm nó trong một kích thước bằng cách phân loại các mảng đầu tiên và sau đó in ấn các chữ số cuối của mảng nhưng tôi đang bị mất trong multidim dont vui lòng giúp đỡ cho tôi ăn xin chỉ cần biết cách logic hay plz help

 
Bạn có thể làm điều này với một vòng lặp lồng nhau.

Ngoài vòng
Vòng qua các hàng, đầu hàng
array [0] [0];

Inner Loop
Vòng qua các cột và lưu số lượng lớn nhất;
array [0] [1];
array [0] [2];
vv
array [0] [MAX];Sau đó, tiếp theo dòng
array [1] [0];

vv

Cuối dòng
array [MAX] [0];

 
Nhưng làm thế nào để tìm kiếm lớn nhất không có trong một hàng hoặc coulmn

chúng ta nên sắp xếp nó một lần đầu tiên sau đó in hoặc báo cho bất cứ phương pháp tiếp cận ESY

 
Bạn không cần phải sắp xếp các mảng.Chỉ cần làm một so sánh trong vòng lặp bên trong và nếu so sánh với giá trị hiện tại của mảng lớn hơn một biến mà các cửa hàng điểm cao "".
Nếu nó lớn hơn, giá trị của mảng lưu trữ trong các biến điểm cao.
Ví dụ:
điểm cao = 0; / / khởi điểm cao với 0 cho loại unsigned,-xyz cho loại ký
(ngoài vòng lặp)
(bên trong vòng lặp)
if (array [x] [y]> điểm cao) điểm cao = array [x] [y]; / / nhớ giá trị cao nhất
(kết thúc vòng lặp bên trong)
(kết thúc vòng lặp bên ngoài)
printf (giá trị cao nhất:, %...", điểm cao); //... phụ thuộc vào loại mảng

 
i đã viết mã này làm việc của nó nhưng nó dài tooo cho suggstion làm thế nào để tối ưu hóa các mã này.# 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 ( "Ma trận là \ n (");

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

nếu (n [0] [j]> n [0] [0])
(
m = n [0] [j];
n [0] [j] = n [0] [0];
n [0] [0] = m;

)

)

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

nếu (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 (i = 0; j <= 4; i )
(

nếu (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 (i = 0; j <= 4; i )
(

nếu (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 (i = 0; j <= 4; i )
(

nếu (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 ( "lớn nhất không có% d", m);
)
)
)
)
if (k> m)
(
if (k> o)
(
if (k> p)
(
if (k> q)
(
printf ( "lớn nhất không có% d", k);
)
)
)
)

if (o> m)
(
if (o> k)
(
if (o> p)
(
if (o> q)
(
printf ( "lớn nhất không có% d", o);
)
)
)
)

if (p> m)
(
if (p> k)
(
if (p> o)
(
if (p> q)
(
printf ( "lớn nhất không có% d", p);
)
)
)
)nếu (q> m)
(
nếu (q> k)
(
nếu (q> p)
(
nếu (q> o)
(
printf ( "lớn nhất không có% d", q);
)
)
)
)getch ();

)

 
Mã số:# 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 (); / * Trong C, bạn không thể gọi bất kỳ chức năng trước khi khai báo biến * /cho (ix = 0; ix <ROW_SIZE; ix )

(

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

(

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

(

max = array [ix] [iy];

)

)

)printf ( "Max size is% d \ n", max);

getch ();

)
 

Welcome to EDABoard.com

Sponsor

Back
Top