Em chào anh chị, em mới học lập trình c và em có 1 bài tập như sau.
Viết 1 chương trình mà khi chạy chương trình sẽ hiện dòng:
Input sequence:
Và đợi người dùng nhập 1 dãy số.
Em ví dụ là
1, 5, 19, 6, 8, 24, 135,-90, 230, 15
Người dùng nhập dấu “?” dùng để bảo với chương trình là họ đã nhập xong dãy số rồi.
Sau “?” người dùng tiếp tục nhập thêm 1 (hoặc nhiều số khác) mà họ muốn tìm xem trong dãy số trước dấu “?” có thể tìm đc 2 số mà tổng của nó là số sau dấu “?” hay không?
Như ở trên em ví dụ là: 6 39 3000 -400, sau đó EOF
Output sẽ là :
Sum 6 can be achieved.
Sum 39 can be achieved.
Sum 3000 can not be achieved.
Sum -400 can not be achieved.
Input sequence bắt buộc sau mỗi số phải có dấu “,” và sau dấu “?” là testing values, testing values thì ko cần “,” .
Em nghĩ ra cách là lập 2 array. 1 array lưu các số trước “?” và 1 array lưu các số sau “?”. Sau đó em sort lại và loại bỏ những số giống nhau.
Nhưng em đang gặp vấn đề với cách fill array. Cho em hỏi làm sao để khi nhập các số từ bán phím mà người dùng ko nhập dấu “,” sau các số thì sẽ hiện " Invalid input". Và làm cách nào để khi người dùng enter “?” thì các số tiếp theo sẽ lưu vào array thứ 2 ạ.
Hoặc anh chị nào có cách khác thì chỉ giúp em. Em cám ơn ạ.