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
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
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…
có thể chi tiết hơn ko ạ , em mới code nên ko hiểu
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 ?
Mình dùng ngôn ngữ c++ , mình học vòng lặp và mảng rồi
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?
input là nhập vào 1 dãy số
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ị
- 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).
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ể
Đố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;
}
cảm ơn các bạn nhé