Nơi trao đổi thông tin Văn Lang
Chào mừng bạn đến với nơi trao đổi thông tin của chúng tôi !
Hãy đăng nhập hoặc đăng kí tài khoản để trải nghiệm nhiều điều thú vị tại đây !
Thân ái !
Nơi trao đổi thông tin Văn Lang
Chào mừng bạn đến với nơi trao đổi thông tin của chúng tôi !
Hãy đăng nhập hoặc đăng kí tài khoản để trải nghiệm nhiều điều thú vị tại đây !
Thân ái !
Nơi trao đổi thông tin Văn Lang
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.
Nơi trao đổi thông tin Văn Lang

Nơi trao đổi thông tin, tăng cường hợp tác, giải đáp những vướng mắc khi học lập trình Pascal
 
Trang ChínhTìm kiếmLatest imagesĐăng kýĐăng Nhập

 

 Giải các bài toán về mảng một chiều

Go down 
4 posters
Tác giảThông điệp
Admin
Admin
Admin


Posts : 120
Danh tiếng : 6
Join date : 10/11/2014
Age : 22

Giải các bài toán về mảng một chiều  Empty
Bài gửiTiêu đề: Re: Giải các bài toán về mảng một chiều    Giải các bài toán về mảng một chiều  Icon_minitime31/8/2020, 15:48

admin có thể làm mảng 1 chiều tìm các số lẻ và sắp xếp theo chiều tăng dần không ạ

Uses crt;
Var m,n:array[1..100] of integer;
Var i,a,j,tam,dem:integer;
Begin
       Clrscr;
       randomize;
       For i:=1 to 20 do
       Begin
               a:=random(100);
               Write(a:3);
               m[i]:=m[i]+a;
       End;
       Writeln;
       Writeln('cac so le la:');
       For i:=1 to 20 do
       If m[i] mod 2 <>0 Then
       Begin
               Write(m[i]:3);
               dem:=dem+1;
               n[dem]:=n[dem]+m[i];
       End;
       For i:=1 to dem-1 do
       For j:=i+1 to dem do
       If n[i]>n[j] Then Begin
               tam:=n[i];
               n[i]:=n[j];
               n[j]:=tam;
       End;
       Writeln;
       Writeln('sau khi sap xep:');
       For i:=1 to dem do Write(n[i]:3);
       Readln;
End.
Về Đầu Trang Go down
https://forumpascalvanlang.forumvi.com
rosemarylouis




Posts : 1
Danh tiếng : 0
Join date : 18/03/2020

Giải các bài toán về mảng một chiều  Empty
Bài gửiTiêu đề: Re: Giải các bài toán về mảng một chiều    Giải các bài toán về mảng một chiều  Icon_minitime18/3/2020, 19:15

admin có thể làm mảng 1 chiều tìm các số lẻ và sắp xếp theo chiều tăng dần không ạ
Về Đầu Trang Go down
uyen1245




Posts : 5
Danh tiếng : 0
Join date : 16/11/2014

Giải các bài toán về mảng một chiều  Empty
Bài gửiTiêu đề: Re: Giải các bài toán về mảng một chiều    Giải các bài toán về mảng một chiều  Icon_minitime7/12/2014, 14:40

1.viết chương trình tạo 10 số ngẫu nhiên chẵn.
2. viết chương trình nhập vào 1 mảng xuất ra mảng đó theo thứ tự tăng dần và giảm dần.
Về Đầu Trang Go down
anhtruong35




Posts : 6
Danh tiếng : 0
Join date : 16/11/2014

Giải các bài toán về mảng một chiều  Empty
Bài gửiTiêu đề: Re: Giải các bài toán về mảng một chiều    Giải các bài toán về mảng một chiều  Icon_minitime7/12/2014, 14:11

bài 12:
for i:=1 to (n div 2) do dc (a[i],a[n-i+1]);
mjnh ko hiểu lắm,help me));


Về Đầu Trang Go down
Admin
Admin
Admin


Posts : 120
Danh tiếng : 6
Join date : 10/11/2014
Age : 22

Giải các bài toán về mảng một chiều  Empty
Bài gửiTiêu đề: Re: Giải các bài toán về mảng một chiều    Giải các bài toán về mảng một chiều  Icon_minitime7/12/2014, 11:17

uyen1245 đã viết:
bài 2 : tông các số lẽ mà???
uk đúng rồi ^^! nhầm
Về Đầu Trang Go down
https://forumpascalvanlang.forumvi.com
uyen1245




Posts : 5
Danh tiếng : 0
Join date : 16/11/2014

Giải các bài toán về mảng một chiều  Empty
Bài gửiTiêu đề: Re: Giải các bài toán về mảng một chiều    Giải các bài toán về mảng một chiều  Icon_minitime24/11/2014, 16:23

bài 2 : tông các số lẽ mà???
Về Đầu Trang Go down
Admin
Admin
Admin


Posts : 120
Danh tiếng : 6
Join date : 10/11/2014
Age : 22

Giải các bài toán về mảng một chiều  Empty
Bài gửiTiêu đề: Giải các bài toán về mảng một chiều    Giải các bài toán về mảng một chiều  Icon_minitime13/11/2014, 12:31

Bài 1: Nhập dãy số thực a. Tính trung bình cộng các số âm.
Bài giải:
uses crt;
var a:array[1..100] of real;
   i,n,dem:integer;
   tbc,tong:real;
begin
clrscr;
      dem:=0;
      tong:=0;
      write('Nhap n:');readln(n);
      for i:=1 to n do
          begin
               write('Nhap a[',i,']:');
               readln(a[i]);
          end;
      for i:=1 to n do
      if a[i]<0 then
         begin
              dem:=dem+1;
              tong:=tong+a[i];
         end;
      tbc:=tong/dem;
      writeln('TBC cac so am:',tbc:2:3);
readln;
end.

Bài 2: Nhập dãy số nguyên. Tính trung bình cộng các số lẽ.
Bài giải:
uses crt;
var a:array[1..100] of integer;
   i,n,dem:integer;
   tbc,tong:real;
begin
clrscr;
      dem:=0;
      tong:=0;
      write('Nhap n:');readln(n);
      for i:=1 to n do
          begin
               write('Nhap a[',i,']:');
               readln(a[i]);
          end;
      for i:=1 to n do
      if a[i] mod 2=1 then
         begin
              dem:=dem+1;
              tong:=tong+a[i];
         end;
      tbc:=tong/dem;
      writeln('TBC cac so am:',tbc:2:3);
readln;
end.

Bài 3: Sinh ngẫu nhiên dãy n số nguyên. Tìm các số trong dãy thỏa mãn định lý Pytago.
Bài giải:
uses crt;
var a:array[1..100] of integer;
   i,n,j,k:integer;
begin
clrscr;
      write('Ban muon chon bao nhieu so ngau nhien:');readln(n);
      writeln;
      randomize;
      for i:=1 to n do a[i]:=random(100);
         for i:=1 to n do  write(a[i]:3);
      for i:=1 to n do
      for j:=i to n do
      for k:=1 to n do
if (i<>j) and (i<>k) and (k<>j) and (sqr(a[i])+sqr(a[j])=sqr(a[k])) then
  writeln(a[i],'^2 +',a[j],'=',a[k],'^2');
readln;
end.

Bài 4: Nhập dãy số nguyên.Tìm các số trong dãy thỏa tính chất a3+b3+c3 = 100a+10b+c.
Bài giải:
uses crt;
var a:array[1..100] of integer;
   i,j,k,n:integer;
begin
clrscr;
      write('nhap n:');readln(n);
      for i:=1 to n do
          begin
               write('Nhap a[',i,']:');
               readln(a[i]);
          end;
      for i:=1 to n do
      for j:=i to n do
      for k:=1 to n do
iff(i<>j)and(i<>k)and(k<>j)and (sqr(a[i])*a[i]+sqr(a[j])*a[j]+sqr(a[k])*a[k]=100*a[i]+10*a[j]+a[k]) then
writeln(a[i], ' ,a[j], ‘ ,a[k]);
readln;
end.

Bài 5: Sinh ngẫu nhiên n số nguyên (n<200). Đếm và tính tổng các số lẽ của chúng.
Bài giải:
uses crt;
var a:array[1..100] of integer;
   n,i,dem,tong:integer;
begin
clrscr;
      tong:=0;
      write('nhap n:');readln(n);
      dem:=0;
      randomize;
      for i:=1 to n do a[i]:=random(200);
      for i:=1 to n do
          begin
               write(a[i]:5);
               if a[i] mod 2=1 then dem:=dem +1;
               tong:=tong+a[i];
          end;
          writeln;
      writeln('Co ',dem,' so le.');
      writeln('Tong cac so le:',tong);
readln;
end.

Bài 6: Nhập dãy số nguyên. Tìm phần tử lớn nhất.
Bài giải:
uses crt;
var a:array[1..100] of integer;
   i,max,n:integer;
begin
clrscr;
      write('nhap n:');readln(n);
      for i:=1 to n do
          begin
               write('Nhap a[',i,']:');
               readln(a[i]);
          end;
      for i:=1 to n do
begin
      max:=a[1];
      if a[i]>a[1] then max:=a[i];
end;
      writeln('GTLN :',max);
readln;
end.

Bài 7: Nhập dãy số thực. Tìm phần tử bé nhất.
Bài giải:
uses crt;
var a:array[1..100] of real;
   i,n:integer;
   min:real;
begin
clrscr;
      write('Nhap n:');readln(n);
      for i:=1 to n do
          begin
               write('Nhap a[',i,']:');
               readln(a[i]);
          end;
      for i:=1 to n do
begin
      min:=a[1];
      if a[i]<a[1] then min:=a[i];
end;
      writeln('GTNN :',min:2:1);
readln;
end.

Bài 8: Nhập dãy số thực. Tìm hai phần tử có tổng lớn nhất.
Bài giải:
uses crt;
var a:array[1..100] of real;
   i,n,j,k:integer;
   max,pt1,pt2:real;
begin
clrscr;
      write('nhap n:');readln(n);
      for i:=1 to n do
          begin
               write('Nhap a[',i,']:');
               readln(a[i]);
          end;
      max:=a[1] + a[2];
      for i:=1 to n do
      for j:=i to n do
      if i<>j then  if (a[i]+a[j]>max) then
         begin
              max:=a[i]+a[j];
              pt1:=a[i];
              pt2:=a[j];
         end;
         else if (a[i]+a[j]=max) then
         begin
              max:=a[i]+a[j];
              pt1:=a[i];
              pt2:=a[j];
         end;
      writeln(pt1:2:1 ,' va ' , pt2:2:1,' la 2 pt co tong lon nhat.');
readln;
end.

Bài 9: Cho dãy số thực a và nhập số thực x. Kiểm tra xem x có thuộc dãy không. Nếu có chỉ ra vị trí của nó.
Bài giải:
uses crt;
var a:array[1..100] of real;
   i,n,dem:integer;
   x:real;
begin
clrscr;
      dem:=0;
      write('nhap n:');readln(n);
      for i:=1 to n do
          begin
               write('Nhap a[',i,']:');
               readln(a[i]);
          end;
      write('Nhap x:');readln(x);
       for i:=1 to n do if x=a[i] then dem:=dem+1;
       if dem=0 then writeln(x:0:1,' ko thuoc day tren.')
       else
      for i:=1 to n do
      if x=a[i] then writeln(x:0:1,' thuoc day so tren, thuoc vitri a[',i,']');
readln;
end.

Bài 10: Cho dãy số thực a và nhập số thực x. Hãy xóa mọi số lớn hơn x trong dãy.
Bài giải:
uses crt;
var a:array[1..100] of real;
   x:real;
   i,n:integer;
begin
clrscr;
      write('nhap n:');readln(n);
      for i:=1 to n do
          begin
               write('Nhap a[',i,']:');
               readln(a[i]);
          end;
      write('Nhap x:');readln(x);
      write('Day so sau khi xoa bo cac so lon hon x la:');
      for i:=1 to n do
      if a[i]<=x then write(a[i]:6:2);
readln;
end.

Bài 11: Nhập dãy số thực a. Tìm các số trong dãy bằng tổng hai số khác trong dãy.
Bài giải:
uses crt;
var a:array[1..100] of real;
   i,j,k,n:integer;
begin
clrscr;
      write('Nhap n:');readln(n);
      for i:=1 to n do
          begin
               write('Nhap a[',i,']:');
               readln(a[i]);
          end;
      for i:=1 to n do
          for j:=i to n do
              for k:=1 to n do
      if (k<>i) and (k<>j) and (i<>j) and (a[i]+a[j]=a[k]) then
      writeln(a[k]:2:1,'=',a[i]:2:1 , '+' ,a[j]:2:1);
readln;
end.

Bài 12: Cho dãy n số nguyên a1;a2;…;an. Xếp lại dãy số theo nguyên tắc: a1 đổi chỗ cho an; a2 đổi chỗ với an-1…
Hướng dẫn: công thức đổi: 1 và n – i +1.
Bài giải:
uses crt;
var a:array[1..100] of integer;
   j,i,n,tam,so:integer;
(*****)
procedure dc(var a,b:integer);
var tam:integer;
begin
    tam:=a;
    a:=b;
    b:=tam;
end;
(*****)
begin
clrscr;
      write('nhap n:');readln(n);
      for i:=1 to n do
          begin
               write('Nhap a[',i,']:');
               readln(a[i]);
          end;
  writeln('Sx theo QT: a[1] doi cho a[',n,'], a[2] doi cho a[',n-1,'].a[3] doi cho a[',n-2,']...');
      writeln;
     for i:=1 to n do write(a[i]:5);
     for i:=1 to (n div 2) do dc(a[i],a[n-i+1]);
     writeln;
     writeln;
     for i:=1 to n do
     write(a[i]:5);
readln;
end.

Bài 14:  Sinh ngẫu nhiên dãy n số nguyên ( n<2000). Không dùng mảng phụ, hãy chuyển các số âm về đầu dãy, các số dương về cuối dãy sao cho không làm thay đổi trật tự trước sau của các số cùng dấu.
Bài giải:
uses crt;
var a:array[1..100] of integer;
   n,m,i:integer;
   (*****)
procedure sx(var a,b:integer);
var tam:integer;
begin
    tam:=a;
    a:=b;
    b:=tam;
end;
   (*****)
begin
clrscr;
      write('ban muon sinh ngau nhien bao nhiu so:');readln(n);
      for i:=1 to n do
          begin
               write('Nhap a[',i,']:');
               readln(a[i]);
          end;
      writeln('Day so ban dau:');
      for i:=1 to n do
          write(a[i]:3);
      writeln;
      writeln('Day so sau khi bien doi:');
      for i:=1 to n do
      if a[i]<0 then write(a[i]:3);
      for i:=1 to n do
      if a[i]=0 then write(a[i]:3);
      for i:=1 to n do
      if a[i]>0 then write(a[i]:3);
readln;
end.

Bài 15: Sinh ngẫu nhiên n số nguyên. Sắp xếp các số này theo thứ tự tăng dần. Nhập vào một số nguyên x bất kì. Hãy chen số x vào dãy và luôn thỏa mãn là dãy tăng dần. Chỉ ra vị trí chèn.
Bài giải:
uses crt;
var a:array[1..100] of integer;
n,i,j,x,k,vt:integer;
(*****)
procedure sx(var a,b:integer);
var tam:integer;
begin
    tam:=a;
    a:=b;
    b:=tam;
end;
(*****)
begin
clrscr;

write('Ban muon nhap bao nhiu so:');readln(n);
         randomize;
for i:=1 to n do a[i]:=random(20);
       for i:=1 to n do write(a[i]:3);
writeln;
       for i:=1 to n-1 do
       for j:=i+1 to n do
       if a[i]>a[j] then sx(a[i],a[j]);
       writeln('Day so sau khi xep tang dan:');
       for i:=1 to n do write(a[i]:3);
       writeln;
write('nhap x:');readln(x);
k:=x;
       for j:=n downto 1 do
           if k<a[j] then vt:=j
           else if k>a[n] then vt:=n+1;
           for i:=1 to n do
           if x<a[i] then sx(x,a[i]);
       a[n+1]:=x;
writeln('Day so sau khi chen ',x,' vao:');
for i:=1 to n+1 do write(a[i]:3);
       writeln;
       writeln('Vi tri chen la:',vt);
readln;
end.

Bài 16: Sinh ngẫu nhiên n số nguyên dương (n<200).
a) Xóa các số trong dãy nhỏ hơn 10.
b) Xóa các số trong dãy thuộc đoạn [50,99].
Bài giải:
uses crt;
var a:array[1..100] of integer;
   n,i,j:integer;
begin
clrscr;

      write('Ban muon sinh ngau nhien bao nhiu so:');readln(n);

      writeln('Day so ban dau:');
      randomize;
      for i:=1 to n do a[i]:=random(100);
      for i:=1 to n do write(a[i]:3);
      writeln;
      writeln('Sau khi xoa cac so nho hon 10:');
      for i:=1 to n do if a[i]>10 then write(a[i]:3);
      writeln;
      (*****)
      writeln('Sau khi xoa cac so tu 50..99 la:');
      for i:=1 to n do
      if (a[i]<50) or (a[i]>99) then write(a[i]:3);
readln;
end.
Về Đầu Trang Go down
https://forumpascalvanlang.forumvi.com
Sponsored content





Giải các bài toán về mảng một chiều  Empty
Bài gửiTiêu đề: Re: Giải các bài toán về mảng một chiều    Giải các bài toán về mảng một chiều  Icon_minitime

Về Đầu Trang Go down
 
Giải các bài toán về mảng một chiều
Về Đầu Trang 
Trang 1 trong tổng số 1 trang
 Similar topics
-
» Giải các bài toán cơ bản về mảng hai chiều
» Giải các bài toán đặc biệt về mảng một chiều
» Giải các bài toán đặc biệt về mảng hai chiều
» Các bài toán về mảng một chiều
» Các bài toán cơ bản về mảng hai chiều

Permissions in this forum:Bạn không có quyền trả lời bài viết
Nơi trao đổi thông tin Văn Lang  :: Bài tập :: Mảng :: Mảng một chiều-
Chuyển đến