tin học 11 Cho mảng A gồm N phần tử (N<=50) Viết chương trình con tính : a) tổng các phần tử có trong mảng b) kiểm tra xem có phần tử trong mảng X không? Nếu không có thì thông báo không có. Nếu có thì đưa ra vị trí. c) Tính tích lập phương của các phần tử chẵn d) sắp xếp mảng giảm dần e) đếm số phần tử là số nguyên tố trong mảng.

2 câu trả lời

uses crt;
var i,n,vt,dnt,s,x,lp,j,t:longint; a:array[1..1000000]of longint;
function nt(a:longint):boolean;
var i:longint;
begin
   i:=2;
   while(a>1)and(a mod i<>0)do inc(i);
   nt:=i=a;
end;
begin 
clrscr;
   write('Nhap N (N<=50): ');readln(n);
   write('Nhap X: ');readln(x);
   for i:=1 to n do 
      begin 
         write('A[',i,']= ');readln(a[i]);  
         inc(s,a[i]);
         if x=a[i] then vt:=i;
         if a[i] mod 2=0 then lp:=lp*a[i]*a[i]*a[i];
         if nt(a[i]) then inc(dnt);
         for j:=1 to i-1 do 
            if a[i]>a[j] then 
               begin t:=a[i]; a[i]:=a[j]; a[j]:=t; end;
      end; 
   writeln('a) Tong: ',s);
   if dnt=0 then writeln('b) X khong co trong mang') else 
   writeln('b) Vi tri cua x: ',vt);
   writeln('c) Tich lap phuong cua ca phan tu chan: ',lp);
   writeln('d) Mang da sap xep: '); 
   for i:=1 to n do write(a[i],' '); writeln;
   writeln('e) Mang co ',dnt,' so nguyen to');
readln
end.

program bai_giai;
uses crt;
var A:array[1..10000] of integer;
    n,i,t,d,x,dnt,tlt,tg,j:longint;
{---HAM-NT---}
function ktnt(k:longint):boolean;
var r:longint;
begin
    ktnt:=false;
    if k<2 then exit;
    for r:=2 to trunc(sqrt(k)) do
        if k mod r=0 then exit;
    ktnt:=true;
end;
{---CT-chinh---}
BEGIN
    clrscr;
    repeat
        write('Nhap N = ');  readln(n);
        if (n<1) or (n>50) then writeln('Nhap lai!');
    until (n>0) and (n<=50);
    t:=0; tlt:=1; dnt:=0;
    for i:=1 to n do
        begin
            write('A[',i,']= ');  readln(A[i]);
            t:=t+A[i];
            if A[i] mod 2=0 then tlt:=tlt*A[i]*A[i]*A[i];
            if ktnt(A[i]) then dnt:=dnt+1;
        end;
    writeln('a) Tong cac phan tu trong mang la: ',t);
    write('b) Nhap X: ');  readln(x);
    d:=0;
    for i:=1 to n do
        if A[i]=X then
            begin
                write(i,' ');
                d:=d+1;
            end;
    if d=0 then write('Khong co');
    writeln;
    writeln('c) Tich lap phuong cac phan tu chan la: ',tlt);
    for i:=1 to n-1 do
        for j:=i+1 to n do
            if A[i]<A[j] then
                begin
                    tg:=A[i];
                    A[i]:=A[j];
                    A[j]:=tg;
                end;
    write('d) Mang giam dan: ');
    for i:=1 to n do write(A[i],' ');
    writeln;
    writeln('e) Co ',dnt,' so nguyen to');
    readln;
end.

Câu hỏi trong lớp Xem thêm