PDA

View Full Version : Cần giúp gấp bài tập Mảng.



Kagaku
28-04-2012, 14:10
Cho mảng A gồm 20 phần tử được nhập từ bàn phím. Tạo 1 mảng B gồm 20 phần tử, giá trị từng phần tử mảng B là -1 or 0 or 1 nếu giá trị phần tử tương ứng trong mảng A là âm or 0 or dương. Hiện giá trị hai mảng ra màn hình, mỗi mảng trên một dòng:|

VD như thế này:
Mảng A: 3,1,0,-2,9,-4,0,-5
Thì mảng B sẽ là:
Mảng B: 1,1,0,-1,1,-1,0,-1

Cần các pro giúp gấp trong ngày nay.... Thank trước nha :((

ngoc_ann_00
28-04-2012, 18:55
Cần các pro giúp gấp trong ngày nay.... Thank trước nha :((
1 bài tập nhỏ xíu vậy mà cần tới pro giúp luôn hả bạn :D
trước giờ ko biết có ai giúp kiểu này ko chứ tui nghĩ là không

thienha20
28-04-2012, 21:38
for i: 1 -> n mảng A
if(A[i]>0)B[i]=1;
elseif(A[i]==0)B[i]=0;
else B[i]=-1;
In ra mảng B là xong

cunbong24
09-05-2012, 18:22
Bạn đã lam bài này theo thuật toán quá giản dị và rõ ràng của thienha20 chưa? Mình đoán là bạn hổng làm được đâu. Vì bạn lười suy nghĩ, chỉ muốn ăn sẵn, vậy nên chẳng bao giờ bạn làm được nhuwngx bài mới cả! Tuy vậy mình cũng cho bạn code nà! (code có 2 "phong cách":
*1 phong cách đúng yêu cầu đầu bài
*Một phong cách "thoải mái" hơn: bạn muốn mảng có độ dài bao nhiêu (không nhất thiết là 20) cũng được! (mã úng với phong cách này, mình để giữa 2 ngoặc nhọn { }.
Uses Crt;
Const a:Array[1..20] of integer=(11,-3,5,0,21,8,-9,0,0,7,33,34,-1,0,32,-8,
0,12,-66,0);
Var b:Array[1..20] of Integer;
i:Integer;
{Var a,b:Array[1..50] of integer;
n,i,j:Integer;}
Begin clrscr;
{Write('Nhap n:'); Readln(n);
For i:=1 to n do
Begin
Write('a[',i,']=');
Readln(a[i]);
End; }
For i:=1 to 20 do
If (a[i]>0) then b[i]:=1
Else If (a[i]=0) then b[i]:=0
Else b[i]:=-1;
Writeln;
For i:=1 to 20 do Write(b[i]:3);
Readln;
End.

pha_96
10-05-2012, 21:12
clrscr;
write('Nhap so phan tu cua mang A: '); readln(n);
for i:=1 to n do begin write(i,'. '); readln(a[i]); end;
for i:=1 to n do begin
if a[i]<0 then b[i]:=-1;
if a[i]>0 then b[i]:=1 else
if a[i]=0 then b[i]:=0; end;
for i:=1 to n do write(b[i],#32);

=> phong cach cua "cunbong24" hoi # nguoi do.

Trần Minh Chiến
17-05-2012, 20:37
Đơn giản :
for i:= 1 to 20 do
begin
case a[i] of
a[i] > 0 : write('1, ');
a[i] < 0 : write('-1, ');
a[i] = 0 : write('0, ');
end;
end;

hd_noname
25-06-2012, 19:57
chăm chỉ đi chứ ko phải lúc nào cũng dc ăn sẵn đâu, bài này là bài dễ mà