Đến nội dung

Hình ảnh

Lập trình Pascal

pascal

  • Please log in to reply
Chủ đề này có 200 trả lời

#161
thienmtp

thienmtp

    Lính mới

  • Thành viên
  • 2 Bài viết


Viết chương trình nhập từ bàn phím số nguyên dương $N(N\leq 100)$ và dãy A gồm N số nguy

 



 

Mình làm ý tưởng thế này không biết đúng không!

         var s:string;

       n,i,d:integer;
       begin
       repeat
       write('n=');
       readln(n);
       until (n>=1)and(n<=10000);
       s:=''; d:=0;
       while n>1 do
             begin
             if (n mod 2<>0)or(n=2) then
                begin
                 n:=n-1;
                 s:=s+'N';
                 d:=d+2;
                end
             else
                 begin
                  n:= n div 2;
                  s:=s+'D';
                  d:=d+4;
                 end;
             end;
       writeln('nang luong ton : ',d);
       for i:=length(s) downto 1  do
           write(s[i]);
       readln;
       end.

 

viết 1 ct nhập dãy số nguyên có n phần tử và 1 số nguyên x và kt xem có bao nhiêu số trong mảng có giá trị = x, chúng ở vị trí nào

 $A_1,A_2,...,A_n$ có giá trị tuyệt đối không lớn hơn $1000$. Hãy cho biết dãy A có phải là cấp số cộng hay không và thông báo ra màn hình ?



#162
nghethuat102

nghethuat102

    Trung sĩ

  • Thành viên
  • 147 Bài viết

Kiểm tra x có trong dãy số không thì dùng 1 vòng for 1..n if x=a[i] then ghi vị trí.  còn nếu cấp số cộng hay không thì kiểm tra so sánh a[i] với a[i-1] với i=2..n



#163
nghethuat102

nghethuat102

    Trung sĩ

  • Thành viên
  • 147 Bài viết

viết 1 ct nhập dãy số nguyên có n phần tử và 1 số nguyên x và kt xem có bao nhiêu số trong mảng có giá trị = x, chúng ở vị trí nào

var a:array[1..100] of longint;
     n,x,d:longint;
begin

  readln(n,x);

  d:=0;

  for i:=1 to n do readln(a[i]);

  for i:=1 to n if a[i]=x then begin inc(d); writeln('vi tri ',i); end;

  writeln('co tat ca ' ,d,' so = ',x);

  readln;
end.



#164
SDSO3

SDSO3

    Lính mới

  • Thành viên
  • 3 Bài viết

LẬP TRÌNH PASCAL? mình có bài toán sau cần giải gấp nhưng chưa biết ai biết chỉ dùng. cảm ơn nhiều.

Bài toán :quản lý nhân sự .Viết chương trình tạo 1menu để quản lý nhân sự ,mỗi cán bộ là 1 cấu trúc ,gồm:Mã ván bộ ,Họ đệm và tên cán bộ ,phòng ban,chức vụ,hệ số lương.Ch trình gồm các công việc sau : 1.Tạo fanh sách cán bộ : quá trình nhập ds sẽ dừng lại khi nhập mã số <=0. 2.thêm một cán bộ vào ds. 3.tính lương cho nhân viên. 4.thống kê số lượng cán bộ theo từng phòng ban.(tên phban do người dùng nhập ,in ra màn hình bảng ds cán bộ theo tên phban). 5.in tên màn hình tất cả cán bộ có hệ số lương >=4.9. 6.Tìm và in ds cán bộ yheo chức vụ. 7.Tìm và in dạn sách cán bộ theo hệ số lương và phòng ban. 8.Sắp xếp danh sách cán bộ theo thứ tự của tên. Sau đó tính độ phức tạp của thuật toán đó?


Bài viết đã được chỉnh sửa nội dung bởi SDSO3: 13-10-2015 - 15:16


#165
Truong1998

Truong1998

    Lính mới

  • Thành viên
  • 1 Bài viết

Pro giúp tôi thuật toán này với

Cho N số nguyên dương A1, A2, …, AN. Từ các số nguyên này, có thể tạo ra một

số nguyên mới bằng cách kết nối tất cả các số đã cho viết liên tiếp tiếp nhau.

Ví dụ:  với  N  = 3,  các  số 50, 9, 80  ta  có thể tạo  ra  các  số  mới như  sau: 50980,

50809, 95080, 98050, 80509, 80950. Có tất cả N! số được tạo ra. Trong trường hợp này, số lớn nhất là 98050.

Yêu cầu: cho N số nguyên dương A1, A2, …, AN. Hãy xác định số lớn nhất có thể

tạo thành theo nguyên tắc trên.

Dữ liệu vào từ tệp văn bản KETNOI.INP:

o Dòng đầu tiên chứa số nguyên N với 1 < N ≤ 106.

o Dòng thứ hai chứa N số nguyên A1, A2, …, AN với 0 < Ai < 100, 1 ≤ i ≤ N.

Hai số kề nhau cách nhau một khoảng trắng.

Dữ liệu ra ghi vào tệp văn bản KETNOI.OUT: Số lớn nhất có thể tạo ra từ dãy

số.

  KETNOI.INP

 3

 

50 9 80

KETNOI.OUT

98050

hi, mình mới tham gia
bạn làm đc chưa



#166
htth2820

htth2820

    Lính mới

  • Thành viên
  • 2 Bài viết

Cho hỏi bài này vs các ACE!!

Cho N số nguyên dương . Từ các số nguyên này tạo một số nguyên mới bằng cách kết nối các số đã cho liên tiếp vs nhau.

Ví dụ: Với N=4 và các số 12,34,567,890 ta có thể tạo ra các số mới như 1234567890, 3456789012,... Trong trường hợp này số lớn nhất có thể tạo thành là 8905673412.

Dữ liệu vào: Cho file connect.inp gồm n+1 dòng;

                       -Dòng đầu: Ghi số nguyên N (Số lượng phần tử);

                       -Các dòng còn lại ghi các phàn tử 

Dữ liệu ra: file connect.out ghi ra số lớn nhất có thể tạo thành từ các số nguyên ban đầu.

VD: Connect.inp:   4                                                Connect.out: 8905673412

                               12

                               34

                               567

                               890 

                                 

 



#167
htth2820

htth2820

    Lính mới

  • Thành viên
  • 2 Bài viết


 

Code the nay có được không bạn

type mangxau=array[1..10000] of string;
var i,j,max,n: longint; a : mangxau;
 
procedure sx(var a:mangxau);
var i,j:integer; tam:string;
begin
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]<a[j] then
begin
tam:=a[i]; a[i]:=a[j]; a[j]:=tam;
end;
end;
function kt(var s1,s2:string):boolean;
var i:byte;tam:string;
begin
i:=1; while s1[i]=s2[i] do inc(i);
tam:=copy(s1,i,length(s1)-i+1);
if tam<>'' then
begin
if tam<=s2 then
kt:=true
else
kt:=false;
end;
end;
procedure dc(var s1,s2:string);
var tg:string;
begin
tg:=s1; s1:=s2; s2:=tg;
end;
begin
write('nhap n=: ');readln(n);
for i:=1 to n do
readln(a[i]);
sx(a);
write('day vua sap xep');
for i:=1 to n do
write(a[i],' ');
writeln;
write('cac pt doi cho');
for i:=1 to n-1 do
for j:=i+1 to n do
if kt(a[i],a[j]) then
begin
dc(a[i],a[j]);
writeln(a[i],'  ',a[j]);
end;
writeln(' day thu duoc');
for i:=1 to n do
write(a[i],' ');
//readln;
readln
end.

 

Bạn ơi, cái code của bạn hình như sai r thì phải. Ở chỗ chương trình con kt ấy, giả sử mình nhập 2 số nguyên là 129899 và 1234567654 thì nó sẽ ghép thành 1234567654129899, như vậy đây sẽ k phải số lớn nhất ghép đc. Bạn xem xem có đúng k nhé!



#168
Sidious

Sidious

    Lính mới

  • Thành viên
  • 1 Bài viết

Giúp mình với :

Đề bài 1: Thiết kế chức năng tìm kiếm và thay thế 

Yêu cầu: nhập xâu S, nhập xâu tìm kiếm, nhập xâu thay thế

sau đó tìm và thay thế 

Đề bài 2: Cho dãy số nguyên b1, b2, ... bn

Yêu cầu: Nhập vào dãy số nguyên b1, b2,....bn

               Chọn ra các số nguyên chẵn cho vào dãy c1, c2,...cn

Mong mọi người giúp mình càng nhanh càng tốt.... thanks



#169
vanlong12

vanlong12

    Binh nhất

  • Thành viên mới
  • 34 Bài viết

CÁC BẠN GIÚP HỘ MÌNH BÀI NÀY VỚI ĐƯỢC KHÔNG?

  Cho một dãy số dài vô hạn sau: 12345678910111213141516171819202122… Ta cần chỉ ra chữ số đứng ở vị trí thứ n trong dãy. Ví dụ: n=10 à chữ số tìm được là 1, n=11 chữ số tìm được là 0, n=30 àchữ số tìm được là 2, …

THANK ! NẾU CÓ AI DUP MINH....HE


Bài viết đã được chỉnh sửa nội dung bởi vanlong12: 01-02-2016 - 20:21

_ _ _ nỗi bất hạnh làm ra con người_ _ _

  + _còn con người làm ra hạnh phúc_ +


#170
Fjzar

Fjzar

    Binh nhất

  • Thành viên mới
  • 30 Bài viết

Chú long có vẻ vất vả nhỉ ?



#171
Fjzar

Fjzar

    Binh nhất

  • Thành viên mới
  • 30 Bài viết

Thế không có giới hạn n à ? <_<



#172
Fjzar

Fjzar

    Binh nhất

  • Thành viên mới
  • 30 Bài viết

Không co giới hạn n thì không có cái máy tính nào chạy nổi đâu. -_-



#173
transontung

transontung

    Binh nhất

  • Thành viên mới
  • 25 Bài viết

Cho hỏi 1 bài về phương pháp quay lui với

Liệt kê tất cả các cách sắp xếp những con hậu trên bàn cờ N*N sao cho chúng không ăn được nhau



#174
Fjzar

Fjzar

    Binh nhất

  • Thành viên mới
  • 30 Bài viết

Bài 3 có gì mà khó khăn thế 

--> Chỉ cần chiển về xâu sau đó chạy ngược lại là được mà.



#175
vanlong12

vanlong12

    Binh nhất

  • Thành viên mới
  • 34 Bài viết


Giúp mình với :

Đề bài 1: Thiết kế chức năng tìm kiếm và thay thế 

Yêu cầu: nhập xâu S, nhập xâu tìm kiếm, nhập xâu thay thế

sau đó tìm và thay thế 

Đề bài 2: Cho dãy số nguyên b1, b2, ... bn

Yêu cầu: Nhập vào dãy số nguyên b1, b2,....bn

               Chọn ra các số nguyên chẵn cho vào dãy c1, c2,...cn

Mong mọi người giúp mình càng nhanh càng tốt.... thanks

cau 1 ban ghi minh doc k hieu lam,,con bai 2

bạn làm thế này xem,,,

 

var b,c:array[1..100]of integer;

i,j,k,l,n,s:integer;  

 begin

write('nhap so phan tu mang:');readln(n);

for i:=1 to n do

 begin

          write('b[',i,']=');readln(b[i]);

end;

write('mang b la:');

for i:=1 to n do

         write(b[i]:4);

l:=0;

for i:=1 to n do

if b[i] mod 2=0 then

begin

    l:=l+1;

    C[L]:=B[I];

end;

wrrite('mang c la:');

for j:=1 to l do

write(c[j]:4);

readln

end.


_ _ _ nỗi bất hạnh làm ra con người_ _ _

  + _còn con người làm ra hạnh phúc_ +


#176
cuongeatan

cuongeatan

    Lính mới

  • Thành viên mới
  • 2 Bài viết

mình có một số bài mong ad và mọi người chỉ dùng. cảm ơn nhiều

Bài 1: Viết chương trình nhập vào 2 dãy số nguyên (a)n và (b)m, với m<n. kiểm tra xem dãy (b)m có phải là dãy con của (a)n không?

 

bài 2: Viết chương trình nhập vào một dãy số nguyên a1,a2,...,an. Tìm trong dãy {a} 1 dãy con tăng dần dài nhất (có số phần tử lớn nhất) và in ra màn hình dãy con đó?

 

email: [email protected]

nếu giúp được mail họ mình với. thank nhiều



#177
cuongeatan

cuongeatan

    Lính mới

  • Thành viên mới
  • 2 Bài viết

các pro giúp mình với



#178
Master Kaiser

Master Kaiser

    Thượng sĩ

  • Thành viên
  • 265 Bài viết
" Trên hai đuờng thẳng song song L1 và L2, Người ta đánh dấu trên mỗi đường N 
Điểm, Các điểm  trên đường  thẳng L1 Được đánh số từ 1 đến N, từ  trái qua phải,  
còn các điểm  trên đường  thẳng L2 được đánh số bởi P[1],P[2],...P[N] cũng từ  trái 
qua phải, trong đó P[1],P[2],..P[N] là một hoán vị của các số 1,2,...N  
Ta gọi các số gán cho các điểm là số hiệu của chúng. Cho phép nối hai điểm trên 2 
đường thẳng có cùng số hiệu. 
Yêu Cầu  : Tìm cách nối được nhiều cặp điểm nhất với điều kiện các đoạn nối không 
được cắt nhau.  
Dữ Liệu : Vào từ File BaiToan2.Inp: 
•  Dòng đầu tiên chứa số nguyên dương N(N<=1000) 
•  Dòng thứ hai chứa các số P[1],P[2],....P[N] 
Kết Quả Ghi Ra File : BaiToan2.Out  
•  Dòng Đầu tiên chứa K là số lượng đoạn nối tìm được 
•  Dòng tiếp theo chứa K số hiệu của các đầu mút của các đoạn nối được ghi theo thứ 
tự tăng dần.  
Ví Dụ : 
      WIRES.INP          WIRES.OUT 
9   5 
2 5 3 8 7 4 6 9 1   2 3 4 6 9

  • PUA yêu thích

               Master Kaiser

                                   Liên hệ facebook : https://www.facebook...uyenhoanganh238


#179
hocpascal

hocpascal

    Trung sĩ

  • Thành viên
  • 109 Bài viết

Bài toán: Trở hàng

Cho một con Tầu có sức chứa là C(C<=5000 tấn). Tầu muốn chở một số gói hàng sao cho tổng số lượng các gói hàng là lớn nhất, đồng thời vẫn đảm bảo trọng tài 

Cho N (1<=N<=16) gói hàng và khối lượng các gói hàng nhập tùy ý từ bàn phím. Hãy cho biết khối lượng hàng lớn nhất mà tầu có thể chở và các gói hàng nào được chọnchọn.

ví dụ"

N=5

81 58 42 32 61

Kq:

81+58+42+61=242

các gói hàng được chọn là 81 58 42 61

Bài này cần các pro chỉ cách làm tốt nhất xin cảm ơn



#180
hocpascal

hocpascal

    Trung sĩ

  • Thành viên
  • 109 Bài viết

Các pro cho hỏi đây là dạng thuật toán gì mà sao hay quá!

đề bài

Chở hàng

Đoàn thành niên thành phố A muốn chở các gói hàng chuyển ra đảo Trường Sa. Tàu của Đoàn thì có sức chứa có hạn là C (100 <= C <= 5000) tấn. Đoàn muốn chuyển một số gói hàng sao cho tổng khối lượng hàng là lớn nhất, đồng thời vẫn đảm bảo trọng tải của tàu.

Cho N (1 <= N <= 16) gói hàng và khối lượng W_i của từng gói, hãy cho biết khối lượng hàng lớn nhất mà Đoàn có thể chở ra đảo là bao nhiêu?


Dữ liệu
  • Dòng 1: 2 số nguyên cách nhau bởi dấu cách: C và N

  • Dòng 2..N+1: Dòng i+1 chứa 1 số nguyên: W_i


Kết quả
  • Dòng 1: Một số nguyên là tổng khối lượng hàng lớn nhất mà Đoàn có thể chở ra đảo.

  • Dòng 2: Các gói hàng chở ra đảo

Ví dụ:

 

c=259 

n=5

a= 81 58 42 33 61

Kq: 224

các số được chọn 81 58 42 61

 

Code

Var f : array[0..5000] of boolean;

    a : array[1..16] of longint;

    c,n : longint;

    max : longint;

{}

Procedure solution;

var i,u,v : longint;

begin

    fillchar(f,sizeof(f),false);

    readln(c,n);

    for i:=1 to n do read(a[i]);

    f[0]:=true;

    for u:=1 to n do

        for v:=c downto a[u] do

            f[v]:=f[v] or f[v-a[u]];

    for u:=c downto 0 do

        if(f[u]) then Begin writeln(u); break; end;

end;

{}

Begin

    solution;

end.







Được gắn nhãn với một hoặc nhiều trong số những từ khóa sau: pascal

1 người đang xem chủ đề

0 thành viên, 1 khách, 0 thành viên ẩn danh