30/09/2018, 18:08

Hỏi cách để in ra dãy số mà các số dương 1 dòng và các số âm một dòng

Cách để in ra dãy số mà các số dương 1 dòng và các số âm một dòng

hacked viết 20:15 ngày 30/09/2018

Lưu số âm vào một mảng, số dương vào một mảng, sau đó in hai mảng đó trên hai dòng khác nhau…

Em Beeng viết 20:16 ngày 30/09/2018

có thể chi tiết hơn ko ạ , em mới code nên ko hiểu

Thành Phạm viết 20:22 ngày 30/09/2018

Bạn định dùng ngôn ngữ nào? Học đến đâu rồi? Đến vòng lặp hay mảng chưa ?

Em Beeng viết 20:17 ngày 30/09/2018

Mình dùng ngôn ngữ c++ , mình học vòng lặp và mảng rồi

Thành Phạm viết 20:24 ngày 30/09/2018

Input của bạn là như nào? Là 1 file có các số cần lọc, hay là như nào?

Em Beeng viết 20:16 ngày 30/09/2018

input là nhập vào 1 dãy số

Thành Phạm viết 20:13 ngày 30/09/2018

Vậy bạn lưu dãy số đó vào 1 mảng, sau đó duyệt từng phần tử mảng đó, kiểm tra xem phần tử đó là dương hay âm, dương thì lưu vào mảng số dương, âm thì lưu vào mảng số âm. Sau đó duyệt 2 mảng đó, và in các giá trị

... viết 20:20 ngày 30/09/2018
  • Duyệt từ đầu đến cuối mảng input của bạn để tìm các số dương và in ra.
  • Xuống dòng.
  • Duyệt từ đầu đến cuối mảng input của bạn để tìm các số âm và in ra.

Như thế này khỏi mất công lưu vào thêm 2 mảng, trong khi có thêm 2 mảng phụ để lưu thì số bước chạy cũng là 2 * (số lượng phần tử mảng input).

Thành Phạm viết 20:18 ngày 30/09/2018

Em nghĩ là mình hạn chế số lần so sánh thì hay hơn so sánh thì tốn thời gian hơn so với in ra đúng k nhể

... viết 20:18 ngày 30/09/2018

Đối với người mới học thì cứ dùng kiểu code đơn giản nhất có thể cho họ làm quen ngôn ngữ đã.

#include <iostream>
using namespace std;

int main() {
    int input[100];
    int n;
    
    cout << "Nhap so phan tu: ";
    cin >> n;
    
    for(int i = 0; i < n; i++)    {
        cout << "Nhap a[" << i << "]: ";
        cin >> a[i];
    }
    
    //In ra cac phan tu duong
    for(int i = 0; i < n; i++)    {
        if(a[i] > 0)
            cout << a[i] << " ";
    }
    cout << endl;
    //In ra cac phan tu am 
    for(int i = 0; i < n; i++)    {
        if(a[i] < 0)
            cout << a[i] << " ";
    }
    
    return 0;
}
Em Beeng viết 20:08 ngày 30/09/2018

cảm ơn các bạn nhé

Bài liên quan
0