Trang chủ Tin Học Lớp 9 Cho trước 2 dãy số nguyên A, B có giá...

Cho trước 2 dãy số nguyên A, B có giá trị các phần tử tăng dần và có cùng số phần tử n ( n nhập không quá 50). Cho trước giá trị của phần tử lớn nhất trong cả

Câu hỏi :

Cho trước 2 dãy số nguyên A, B có giá trị các phần tử tăng dần và có cùng số phần tử n ( n nhập không quá 50). Cho trước giá trị của phần tử lớn nhất trong cả 2 dãy không quá 1000. Hãy tạo ra 1 dãy C có kết quả là hòa hai dãy A và B sao cho các phần tử trong C cũng có giá trị tăng dần ? In kết quả từng dãy ra màn hình. Vd : ta có A=[2 4 6 9 24 30] B=[1 4 7 10 15 21] Kết quả C=[1 2 4 4 6 7 9 10 15 21 24 30] giúp em với ạ cần gấpppppp

Lời giải 1 :

uses crt;
var a,b,c:array[1..1000]of longint;n,k,tam,i,j:longint;
begin
 clrscr;
  write('nhap n phan tu:');readln(n);
  while n>50 do
        begin
         write('nhap lai n:');readln(n);
        end;
  for i:=1 to n do
        begin
         write('a[',i,']=');readln(a[i]);
        end;
  for j:=1 to n do
        begin
         write('b[',j,']=');readln(b[j]);
        end;
  for i:=1 to n do c[i]:=a[i];
  for j:=1 to n do c[n+j]:=b[j];
  for i:=1 to n*2-1 do
   for j:=i+1 to n*2 do
    if(c[i]>c[j])then
        begin
         tam:=c[i];c[i]:=c[j];c[j]:=tam;
        end;
  for k:=1 to n*2 do write(c[k],' ');
 readln;
end.

Thảo luận

-- tại sao lại cho k chạy từ 1 đến n*2 như vậy
-- bây giờ mình nhập c[i]=3 c[j]=4 n=1
-- mình nhầm nhé bạn sửa lại i=1 còn j=2
-- bây giờ mình nhập c[1]=3 c[2]=4 n=1
-- nếu như cho nó chạy từ 1 tới n =1 hì nó chỉ xuất được số 3 thôi còn n*2=n=2
-- k chạy từ 1 tới n*2 là n=2 nghĩa là k chạy tới 2 k=1 xuất c[1] k=2 thì xuất c[2]
-- đó là mấu chốt bài này nhé bạn
-- chúc bạn học tốt

Lời giải 2 :

program bai_giai;
uses crt;
var A,B,C:array[1..100] of longint;
    n,i,j,d:integer;
begin
    clrscr;
    readln(n);
    for i:=1 to n do read(A[i]);
    for i:=1 to n do read(B[i]);
    d:=0;   j:=1;    B[n+1]:=A[n]+1;
    for i:=1 to n do
        begin
            while A[i]>B[j] do
                begin
                    d:=d+1; C[d]:=B[j];
                    j:=j+1;
                end;
            d:=d+1; C[d]:=A[i];
        end;
    if j<n then
        for i:=j to n do
            begin
                d:=d+1; C[d]:=B[i];
            end;
    for i:=1 to d do write(C[i],' ');
    readln;    readln;
end.

Bạn có biết?

Tin học, tiếng Anh: informatics, tiếng Pháp: informatique, là một ngành khoa học chuyên nghiên cứu quá trình tự động hóa việc tổ chức, lưu trữ, xử lý và truyền dẫn thông tin của một hệ thống máy tính cụ thể hoặc trừu tượng (ảo). Với cách hiểu hiện nay, tin học bao hàm tất cả các nghiên cứu và kỹ thuật có liên quan đến việc mô phỏng, biến đổi và tái tạo thông tin.

Nguồn : Wikipedia - Bách khoa toàn thư

Tâm sự 9

Lớp 9 - Là năm cuối ở cấp trung học cơ sở, sắp phải bước vào một kì thi căng thẳng và sắp chia tay bạn bè, thầy cô và cả kì vọng của phụ huynh ngày càng lớn mang tên "Lên cấp 3". Thật là áp lực nhưng các em hãy cứ tự tin vào bản thân là sẻ vượt qua nhé!

Nguồn : ADMIN :))

Liên hệ hợp tác hoặc quảng cáo: gmail

Điều khoản dịch vụ

Copyright © 2021 HOCTAPSGK