Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.
uses crt;
var st,k,t:string;
d,dem,i:integer;
begin
clrscr;
readln(st);
d:=length(st);
k='';
dem=1;
for i:=2 to d do
begin
if st[i]=st[i-1] then inc(dem);
if st[i]<>st[i-1] then
btegin
str(dem,t);
if dem>1 then k:=k+t+st[i-1];
else k:=k+st[i-1];
dem=1;
end;
if (i=d) then
begin
str(dem,t);
if dem>1 then k:=k+t+st[i];
else k:=k+st[i];
end;
end;
write(k);
readln;
end.
Var a:array[1..100] of integer;
i,s:integer;
Begin
For i:=1 to 100 do
Begin
Write('Nhap phan tu thu ',i,' = ');readln(a[i]);
If a[i] mod 2 <> 0 then s:=s+a[i];
End;
Write('Tong la ',s);
Readln;
End.
Mọi người giúp mình bài này với ạ :
Viết chương trình pascal nhập mảng và tìm số nhỏ thứ k trong mảng
uses crt;
var a:array[1..100]of integer;
i,n,t,j,tam:integer;
begin
clrscr;
readln(n,k);
for i:=1 to n do readln(a[i]);
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;
write(a[k]);
readln;
end.
program sonho;
var
arr:array[1..100] of integer;
k, n, i, min: integer;
begin
write('Nhap n: ');
readln(n);
write('Nhap cac phan tu cua day: ');
for i := 1 to n do
begin
readln(arr[i]);
end;
write('Nhap k: ');
readln(k);
min := arr[1];
for i := 2 to k do
begin
if (arr[i] < min) then
min := arr[i];
end;
writeln('So nho thu ', k, ' trong day la: ', min);
end.
var A:
array[1..n] of integer;
i, j, n: integer;
begin
write('Nhap so phan tu cua mang: ');
readln(n);
for i := 1 to n do
begin
write('Nhap phan tu thu ', i, ': ');
readln(A[i]);
end;
for i := 1 to n - 1 do
for j := i+1 to n do
if (A[i] mod 2 = 0) and (A[j] mod 2 = 0) and (A[i] < A[j]) or (A[i] mod 2 = 1) and (A[j] mod 2 = 1) and (A[i] > A[j]) then
begin
swap(A[i], A[j]);
end;
writeln('Mang da sap xep la: ');
for i := 1 to n do
writeln(A[i]);
end.
Câu 4:
fucntion tong(x:integer):integer;
var st:string;
d,i,n,y,t:integer;
begin
str(x,st);
d:=length(st);
t:=0;
for i:=1 to d do
begin
val(st[i],n,y);
t:=t+n;
end;
tong:=t;
end;
Câu 2:
const fi='bai2.inp';
fo='bai2.out';
var f1,f2:text;
a:array[1..100]of integer;
n,i,t:integer;
begin
assign(f1,fi); reset(f1);
assign(f2,fo); rewrite(f2);
readln(f1,n);
for i:=1 to n do
read(f1,a[i]);
t:=0;
for i:=1 to n do
t:=t+a[i];
writeln(f2,t);
close(f1);
close(f2);
end.
Lâu rồi ko lên hoc24, vừa lên thấy bài hay ngay mới hay chứ
Thuật toán:
t=1 thì ko nói rồi do dễ quá
Khi t=2 thì ta có 2 biến dem0 và dem1 để giữ số các số 0 và 1
Nếu dem1<vt cần tìm thì số đó ko thể là số 1=>writeln(0)
Ngược lại thì số đó là 1=>writeln(1)
Code:
Program kth;
uses crt;
var n,i,t,x,q,dem1,dem0:integer;
a:array[1..100000] of Byte;
f1,f2:text;
Begin
clrscr;
assign(f1,'kth.inp'); reset(f1);
assign(f2,'kth.out'); rewrite(f2);
read(f1,n,q);
for i:=1 to n do
begin
read(f1,a[i]);
dem1:=dem1+ord(a[i]=1);
dem0:=dem0+ord(a[i]=0);
end;
for i:=1 to q do
begin
read(f1,t,x);
case t of
1:begin
if a[x]=1 then
begin
dec(dem1); inc(dem0);
end
else
begin
inc(dem1); dec(dem0);
end;
a[x]:=1-a[x];
end;
2:writeln(f2,1*ord(dem1>=x)+0*ord(dem1<x));
end;
end;
Close(f1);
close(f2);
End.
*Note:ord(bool) giống như khi làm trong C++,tức:
-Khi bool=true thì ra 1
-Khi bool=false thì ra 0