Bài tập  /  Bài đang cần trả lời

Viết chưng trình Pascal [nhập vào 1 dãy số nguyên dương gồm 10 số. Trong đó có 5 số nguyên âm. Tính tổng 5 số nguyên dương còn lại (nếu ko đủ 5 số nguyên dương, yêu cầu nhập lại) Dùng while...do]

viết ct Pascal [ nhập vào 1 dãy số nguyên dương gồm 10 số. Trong đó có 5 số nguyên âm. TÍnh tổng 5 số nguyên dương còn lại (nếu ko đủ 5 số nguyên dương, yêu cầu nhập lại) Dùng while...do ]
1 trả lời
Hỏi chi tiết
57
Tham khảo câu trả lời từ Trợ lý ảo Lazi
Dưới đây là chương trình Pascal để nhập vào một dãy số nguyên dương gồm 10 số, trong đó có 5 số nguyên âm. Chương trình sẽ tính tổng của 5 số nguyên dương còn lại. Nếu không đủ 5 số nguyên dương, chương trình sẽ yêu cầu nhập lại.

```pascal
program SumPositiveNumbers;

uses crt;

var
numbers: array[1..10] of Integer;
i, positiveCount, negativeCount, sum: Integer;

begin
clrscr;
while true do
begin
positiveCount := 0;
negativeCount := 0;
sum := 0;

writeln('Nhap vao 10 so nguyen (bao gom 5 so nguyen am):');
for i := 1 to 10 do
begin
readln(numbers[i]);
if numbers[i] > 0 then
Inc(positiveCount)
else if numbers[i] < 0 then
Inc(negativeCount);
end;

if (positiveCount >= 5) and (negativeCount >= 5) then
begin
positiveCount := 0;
for i := 1 to 10 do
begin
if numbers[i] > 0 then
begin
sum := sum + numbers[i];
Inc(positiveCount);
if positiveCount = 5 then
break;
end;
end;
writeln('Tong cua 5 so nguyen duong la: ', sum);
break;
end
else
begin
writeln('Khong du 5 so nguyen duong hoac 5 so nguyen am. Vui long nhap lai.');
end;
end;
readln;
end.
```

Chương trình này sẽ liên tục yêu cầu người dùng nhập lại dãy số nếu không đủ 5 số nguyên dương hoặc 5 số nguyên âm. Khi đủ điều kiện, chương trình sẽ tính tổng của 5 số nguyên dương đầu tiên và hiển thị kết quả.
1
0
Võ Tuấn Tài
23/06 08:46:33
program CalculateSum;
var
  numbers: array[1..10] of integer;
  i, positiveCount, sum: integer;
begin
  positiveCount := 0;
  
  repeat
    positiveCount := 0; // Đặt lại số lượng số nguyên dương
  
    writeln('Nhập vào 10 số nguyên: ');
    for i := 1 to 10 do
    begin
      write('Số thứ ', i, ': ');
      readln(numbers[i]);
      
      if numbers[i] > 0 then
        positiveCount := positiveCount + 1;
    end;
    
    if positiveCount < 5 then
      writeln('Phải nhập ít nhất 5 số nguyên dương. Vui lòng nhập lại.');
      
  until positiveCount >= 5;
  
  sum := 0;
  i := 1;
  while positiveCount < 5 do
  begin
    if numbers[i] > 0 then
    begin
      sum := sum + numbers[i];
      positiveCount := positiveCount + 1;
    end;
    i := i + 1;
  end;
  
  writeln('Tổng của 5 số nguyên dương còn lại là: ', sum);
end.

Mở khóa để xem toàn bộ nội dung trả lời

(?)
Bạn đã đạt đến giới hạn của mình. Bằng cách Đăng ký tài khoản, bạn có thể xem toàn bộ nội dung trả lời
Cải thiện điểm số của bạn bằng cách đăng ký tài khoản Lazi.
Xem toàn bộ các câu trả lời, chat trực tiếp 1:1 với đội ngũ Gia sư Lazi bằng cách Đăng nhập tài khoản ngay bây giờ
Tôi đã có tài khoản? Đăng nhập

Bạn hỏi - Lazi trả lời

Bạn muốn biết điều gì?

GỬI CÂU HỎI
Học tập không giới hạn cùng học sinh cả nước và AI, sôi động, tích cực, trải nghiệm
Bài tập Tin học Lớp 11 mới nhất

Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi

Vui Buồn Bình thường

Học ngoại ngữ với Flashcard

×
Trợ lý ảo Trợ lý ảo
×
Đấu trường tri thức | Lazi Quiz Challenge +500k