Tách Dãy Số Từ Chuỗi - Writes - Dạy Nhau Học Trang chủ » Tách Số Trong Chuỗi C » Tách Dãy Số Từ Chuỗi - Writes - Dạy Nhau Học Có thể bạn quan tâm Tách Số Trong Chuỗi Java Tách Số Trong Chuỗi Javascript Tách Số Trong Chuỗi Ký Tự Excel Tách Số Trong Chuỗi Python Tách Số Trong Excel Tách dãy số từ chuỗi share writes c nguyenvanquan7826 (Quân) August 4, 2018, 5:47pm #1 Bài viết này sẽ giúp các bạn tách dãy số từ chuỗi. Ví dụ với chuỗi "-1.223 %^& fsf 0.234 56.65 fsf 9 f" Chúng ta sẽ tách được ra các số: -1.223 0.234 56.65 9 #include <string.h> #include <stdlib.h> #include <stdio.h> int main(void) { // khong doc duoc str khi bat dau bang dau tru (-) char* str= "-1.223 %^& fsf 0.234 56.65 fsf 9 f"; // khai bao, cap phat bo nho them s de cong them vao dau 1 ky tu char* const s = (char*)malloc(sizeof(strlen(str))+1); // cong them ky tu a strcpy(s, "a"); strcpy(s + strlen(s), str); printf("%s\n",s); // tach lay cac so int total_n = 0; int n; float i; // cac so can tach printf("\nday cac so\n"); while (1 == sscanf(s + total_n, "%*[^0123456789-]%f%n", &i, &n)) { total_n += n; printf("%f\n", i); } return 0; } Ngoài ra thi việc này làm dễ dàng bằng java, các bạn có thể xem thêm tại đây: tách dãy số từ chuỗi 6 Likes ltd (Lê Trần Đạt) November 18, 2014, 12:59am #2 Cái này hay đấy Quân, cái này có vẻ ứng dụng trong thực tế được. Ứng dụng của nó là gì vậy? 3 Likes mrmike612 (minh tran) November 18, 2014, 3:29am #3 anh có thể giải thích cách hoạt động của chương trình này được ko ạ ? Nhất lả ở chỗ điều kiện của vòng while, chỗ sscanf. nguyenvanquan7826 (Quân) November 19, 2014, 12:41am #4 Em cũng chưa nghĩ ra nữa ứng dụng của nó là gì nữa mrmike612: anh có thể giải thích cách hoạt động của chương trình này được ko ạ ? Nhất lả ở chỗ điều kiện của vòng while, chỗ sscanf. trong vòng while thực hiện duyệt tìm tất cả các “thành phần” bắt đầu bằng số hoặc dấu âm, khi tìm được thì đọc nó vào bién i, nói chung nó liên quan đến regex bạn có thể search thêm về nó. 1 Like phuongle71104 (Phương Lê) November 19, 2014, 2:26pm #5 Hàm scanf. #include <stdio.h> int main() { int a; float b, c, d; char cha[10], chb[10], chc[10], chd[10]; printf("\n Nhap dong vao: -1.223 %%^& fsf 0.234 56.65 fsf 9 f\n\n "); scanf("%6f %3s %3s %5f %5f %3s %d %1s", &b, cha, chb, &c, &d, chc, &a, chd); printf("\n %2.3f\n %1.3f\n %2.2f\n %d\n", b, c, d, a); return 0; } Hàm scanf phân biệt dữ liệu khác nhau bằng khoảng cách trắng. Dòng vào: “-1.223 %^& fsf 0.234 56.65 fsf 9 f” có 8 dữ liệu, tương ứng 8 biến. Hàm scanf đọc dòng vào với 8 dữ liệu và gán cho 8 địa chỉ tương ứng. Tham số d…d tương ứng trên dòng vào là: 6, 3, 3, 5, 5, 3, 1, 1 #include <stdio.h> int main() { int a; float b, c, d; printf("\n Nhap dong vao: -1.223 %%^& fsf 0.234 56.65 fsf 9 f\n\n "); scanf("%6f %*s %*s %5f %5f %*s %d %*s", &b, &c, &d, &a); printf("\n %2.3f\n %1.3f\n %2.2f\n %d\n", b, c, d, a); return 0; } % * s Các ký tự trên dòng vào được đọc bình thường nhưng không gán cho các địa chỉ tương ứng, không có đối tương ứng. #include <stdio.h> int main() { int a; float b, c, d; char cha[10], chb[10], chc[10], chd[10]; printf("\n Nhap dong vao: -1.223 %%^& fsf 0.234 56.65 fsf 9 f\n\n "); scanf("%6f %[^0123456789 ] %[^0123456789] %5f %5f %[^0123456789] %d %s", &b, cha, chb, &c, &d, chc, &a, chd); printf("\n %2.3f\n %1.3f\n %2.2f\n %d\n", b, c, d, a); return 0; } %[^0123456789] Các ký tự trên dòng vào sẽ lần lượt được đọc cho đến khi nào gặp một ký tự không thuộc tập các ký tự đặt trong [ ]. %[^0123456789 ] Tương tự như trên. %[^0123456789] Không đọc ký tự số từ 0 … 9 %[^0123456789 ] Có một khoảng cách trắng. Không đọc ký tự số từ 0 … 9 và ký tự chữ từ a … z 2 Likes ltd (Lê Trần Đạt) split this topic November 19, 2014, 2:04pm #6 I moved a post to a new topic: Tách các số trong mảng mà không dùng vòng lặp for? DayNhauHoc's Discord Học C++ Free? Click Blog Dạy Nhau Học Tự Học Lập Trình 83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao? Từ khóa » Tách Số Trong Chuỗi C Tách Số Trong Chuỗi C Tách Chuỗi Trong C (strtok) Tách Số Ra Khỏi Chuỗi Và Tính Tổng - Cộng đồng C Việt Cần Giúp Bài Tách Chữ Số - Programming - Dạy Nhau Học Tách Dãy Số Từ Chuỗi [C++ Cơ Bản] Tách Các Từ Trong Một Chuỗi | Thào A Vảng - YouTube Làm Thế Nào để Tách Chuỗi Văn Bản Trong Excel Theo Dấu Phẩy ... Hướng Dẫn Cách Tách Số Ra Khỏi Chuỗi Trong Excel Có Ví Dụ Minh Họa ... Cách Tách Số Ra Khỏi Chuỗi Ký Tự Trong Excel Nhanh Nhất Tách Số Ra Khỏi Chuỗi Trong Excel - Thủ Thuật Phần Mềm Hàm Strtod Tách Số Từ String | VnCoding Lập Trình C: Hàm Xử Lý Chuỗi (String) | V1Study