Câu 4: (8 điểm) Một dãy số gồm N số nguyên dương . Tính tổng các phần tử có trong dãy số, in ra số lần xuất hiện các phần tử có trong dãy số.

Câu 4: (8 điểm)
Một dãy số gồm N số nguyên dương . Tính tổng các phần tử có trong dãy số, in ra số lần xuất hiện các phần tử có trong dãy số.
– Yêu cầu: Cho một dãy số gồm N số nguyên dương. Hãy thực hiện các yêu cầu trên. Giả thiết dữ liệu được nhập đúng đắn, không cần kiểm tra
– Dữ liệu vào: Cho từ tệp văn bản có tên DAYSO.INP có dạng như sau:
+ Dòng 1: Ghi số nguyên dương N (1≤N≤100000)
+ Dòng 2: Ghi dãy N số nguyên dương a1, a2,…, an (1≤ai≤1000,i=1..n)
– Kết quả: Ghi ra tệp văn bản có tên DAYSO.OUT theo cấu trúc sau:
+ Dòng 1: In ra tổng các phần tử trong dãy số.
+ Dòng tiếp theo: In ra phần tử và số lần xuất hiện của nó.
Ví dụ:
DAYSO.INP DAYSO.OUT
8 42
6 7 8 1 8 9 2 1 6:1
7:1
8:2
1:2
2:1

0 bình luận về “Câu 4: (8 điểm) Một dãy số gồm N số nguyên dương . Tính tổng các phần tử có trong dãy số, in ra số lần xuất hiện các phần tử có trong dãy số.”

  1. uses crt;
    const max=1000;
    var f,f1:text;
            a,sl:array[1..100000] of int64;
            n,i,j,s:longint;
    begin
            clrscr;
            assign(f,’DAYSO.INP’); reset(f);
            assign(f1,’DAYSO.OUT’); rewrite(f1);
            readln(f,n);
            for i:=1 to n do read(f,a[i]);
            for i:=1 to max do sl[i]:=0;
            for i:=1 to n do
                    begin
                            inc(sl[a[i]]);
                            inc(s,a[i]);
                    end;
            writeln(f1,s);
            for i:=1 to max do if sl[i] > 0 then writeln(f1,i,’:’,sl[i]);
            close(f);
            close(f1);
            readln
    end.

    Bình luận
  2. const fi=’dayso.inp’;
    fo=’dayso.out’;
    var f1,f2:text;
    a,b:array[1..100000]of integer;
    i,n,dem,j,kt,t,dem1: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,’Tong cac phan tu trong day so la: ‘,t);
    b[1]:=a[1];
    dem:=1;
    for i:=1 to n do
    begin
    kt:=0;
    for j:=1 to dem do
    if a[i]=b[j] then kt:=1;
    if kt=0 then
    begin
    inc(dem);
    b[dem]:=a[i];
    end;
    end;
    for i:=1 to dem do
    begin
    dem1:=0;
    for j:=1 to n do
    if b[i]=a[j] then inc(dem1);
    writeln(f2,b[i],’ xuat hien ‘,dem1,’ lan’);
    end;
    close(f1);
    close(f2);
    end.

    Bình luận

Viết một bình luận