Kiểm tra input nhập từ bàn phím
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 ạ.
tạo mảng trong khi nhập mảng để duyệt chúng ta chèn điều kiện do while chẳng hạn với dấu mà bạn mong muốn
Bạn có thể làm như sau :
Bước 1 : khai báo 1 mảng
bước 2 : bạn sẽ tạo 1 hàm để nhập mảng với các điều kiện dấu, ký tự như bạn muốn
Bước 3 : bạn tạo 1 hàm xuất mảng với công thức xuất mảng
Em có thể nói rõ hơn “như vậy” là “như thế nào” không?
Cụ thể là chỗ này, anh chưa rõ cái nào là input, cái nào là output
Dạ, 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ố.
Như trên em ví dụ là
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à :
Em xin lỗi, tiếng việt em ko đc tốt lắm nên giải thích hơi lằng nhăng ạ.
ok
Đề có bắt buộc phải nhập dấu
,
không? Anh thấy bỏ công làm cái đó ko đáng. Nhưng cái này làm được.Đang có hứng, đã làm
e đưa tất cả số
dấu ','
người dùng nhập vào 1 mảng, e để ý sẽ thấy tất cả phần tử chứadấu ','
sẽ có chỉ số lẻ (mảng chạy từ 0 nhé). Nếu có cái nào k fairdấu ','
thì e báo lỗi.ý em như này a xem đc k? tạo 1 hàm bool để duyệt mảng đó . Sau đó cứ thấy ko phải dấu ‘,’ dùng lặp kiểm tra if nếu sai thì mình cout "invalid number "
Cứ thấy không phải dấu
,
ở vị trí nào trong mảng em ?cái này em hiểu lầm ý rồi! phải là trong lúc nhập nếu gặp số ko có dấu ‘,’ thì báo nhập lại luôn cho dễ
Dạ, em cảm ơn rất nhiều ạ.
Anh Đạt khi nào rảnh làm video về pointer và malloc trong C nhé ^^ Anh giải thích rất dễ hiểu ạ.
À, anh đã khỏe lại rồi, cổ họng hết ho. Sắp có videos mới rồi đấy. Nếu khỏe thì anh sẽ quay videos múa lửa để câu views. Nhớ ủng hộ
Sau này các posts được coi là off-topics sẽ được move vào đây
I moved 4 posts to a new topic: Off-topics will be moved here