VT16 - Liệt kê các số âm

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift

Viết chương trình đọc vào các số nguyên từ bàn phím cho tới khi giá trị nhận được là số 0. Liệt kê các số âm trong danh sách đọc được theo thứ tự được nhập

Input

  • Danh sách các số nguyên ~a_{i}~, luôn có phần tử cuối cùng có giá trị 0

Output

  • Nếu có số âm, in ra danh sách các số âm trong mảng, giữ nguyên thứ tự gốc và in cách nhau 1 dấu cách
  • Nếu không có, in ra NOT FOUND

Sample

Input #1
-1 3 -2 5 -4 0
Output #1
-1 -2 -4
Input #2
1 2 3 4 0
Output #2
NOT FOUND

Giới hạn

  • ~|a_{i}| \le 1000~
  • Số lượng phần tử của danh sách không vượt quá 10000

Bình luận

Hãy đọc nội quy trước khi bình luận.



  • -1
    thangok  đã bình luận lúc 15, Tháng 2, 2024, 12:35

    Ae tham khảo

    include<bits/stdc++.h>

    using namespace std; int main() { int a[10000]; int i=-1; do{ i++; cin>>a[i];

    }
    while(a[i]!=0);
    int dem=0;
    for(int j=0;j<=i;j++)
        if(a[j]&lt;0) {cout<&lt;a[j]<<" ";
        dem++;}
    if(dem==0) cout<<"NOT FOUND";
    return 0;
    

    }


  • 5
    hohoanghai5042011  đã bình luận lúc 30, Tháng 1, 2024, 8:05

    #include <bits/stdc++.h>

    using namespace std; long long n,a[10000001],i=0,k,d=0; int main() { i=0; cin>>k; while (k!=0) { if (k<0) d=1; a[++i]=k; cin>>k; } n=i; if (d==0) cout<<"NOT FOUND"; else for (i=1;i<=n;i++) if (a[i]<0) cout<<a[i]<<" "; }


  • 1
    ______  đã bình luận lúc 30, Tháng 1, 2024, 8:03

    include <bits/stdc++.h>

    using namespace std;

    >  long long n,a[10000001],i=0,k,d=0;  int main()  { i=0;  cin>>k; 
    > while (k!=0)  { if (k&lt;0)  d=1;  a[++i]=k;  cin>>k;  } n=i;  if (d==0) 
    > cout<<"NOT FOUND";  else for (i=1;i<=n;i++)  if (a[i]&lt;0) 
    > cout<&lt;a[i]<<" ";  }
    

  • 0
    DKN13  đã bình luận lúc 11, Tháng 1, 2024, 12:43

    Liet ke so am

    A = list(map(int,input().split()))

    B = []

    s = 0

    for i in range(len(A)):

    if A[i] < 0:
    
        B.append(A[i])
    
        s+=1
    

    if s==0:

    print("NOT FOUND")
    

    else:

    for i in range(len(B)):
    
        print(B[i],end = " ")
    

    • 1
      thh  đã bình luận lúc 21, Tháng 1, 2024, 11:31

      như này có thể AC full nhưng b mất tối đa O(~3~ * ~10^4~) nhé, bạn nên tìm cách tối ưu,cụ thể là:

      phần for len(A) mất ~10^4~, phần đẩy vô map B và s += 1 là mất ~10^4~ và cuối cùng là phần cout mất ~10^4~ tổng là ~3~*~10^4~

      Trong trường hợp xấu nhất nhé


  • 0
    kitajima2910  đã bình luận lúc 1, Tháng 1, 2024, 4:36

    Java 8+ AC 100%, cách mình làm:

    import java.util.Scanner;
    
    /**
     *
     * @author Kitajima2910
     */
    public class VT16 {
    
        public static void main(String[] args) {
    
            Scanner sc = new Scanner(System.in);
    
            int count = 0;
    
            while(true) {
                int e = sc.nextInt();
    
                if(e < 0) {
                    System.out.print(e + " ");
                    count++;
                }
    
                if(e == 0) {
                    break;
                }
    
            }
    
            if(count == 0) {
                System.out.println("NOT FOUND");
            }
    
        }
    
    }
    

  • 2
    LiuChi_3007  đã bình luận lúc 20, Tháng 12, 2023, 13:36

    Hỗ trợ mng nhaa!

    include<bits/stdc++.h>

    using namespace std; int main(){ int n; int check = 0; for(int i=0;;i++){ cin >> n; if(n==0){ if(check==0){ cout <<"NOT FOUND"; } break; } if(n<0){ check=1; cout << n << " "; } } }


  • 1
    hoangvanthong  đã bình luận lúc 17, Tháng 12, 2023, 14:17

    Code Cpp tham khảo:

        int n=0
        do{
            cin>>a[n]
            n++
        }while(a[n-1]!=0)
        bool ok=false
        for(int i=0; i&lt;n; i++){
            if(a[i]&lt;0){
                cout<&lt;a[i]
                ok=true
            }
        }
        if(ok==false){
            cout<<"NOT FOUND"
        }
    }
    

  • 4
    huyhoang190605  đã bình luận lúc 24, Tháng 11, 2023, 11:36

    code py3 tham khảo:

    n = list(map(int,input().split()))
    if min(n) >=0:
        print('NOT FOUND')
    res = [i for i in n if i < 0]
    for i in res:
        print(i)
    

  • 3
    hohoanghai5042011  đã bình luận lúc 10, Tháng 11, 2023, 7:53

    cho xin 1 vote


  • -1
    anhdeptrai1912  đã bình luận lúc 4, Tháng 11, 2023, 15:18

    ad cho em hỏi sao bài em lại bị segmentation fault vậy ạ


    • 0
      datcry4  đã bình luận lúc 15, Tháng 1, 2024, 10:26

      bạn xem lại giới hạn phấn tử mảng nha.Số lượng phấn tử mảng không vượt quá 10000


  • -2
    Names_  đã bình luận lúc 6, Tháng 10, 2023, 7:31 chỉnh sửa

    Sử dụng vector để lưu giữ số và khi cin la 0 thì sài push_back để đẩy về cuối và break.


  • -4
    PQM1709  đã bình luận lúc 27, Tháng 7, 2023, 8:08

    Bài này dùng một vòng while