Mình có 1 bài C++ về xử lý xâu Nhập vào 1 xâu kí tự là 1 số thực VD: "-1.548", "53.25",... Đề bài: in ra màn hình xâu là một số thực với các chữ số có nghia VD: "-1.2340000" thì in ra "-1.234" (bỏ hết số 0 ở cuối) ".2546" thì in ra "0.2546" (nếu có dấu chấm ở đầu thì thêm số 0 đằng trước nó) "-.2546" thì in ra "-0.2546" "0024623" thì in ra "24623" (bỏ hết mấy số 0 ở đầu đi) . ___________Auto Merge________________ . Mình vướng mắc mấy cái phần khai báo biến kiểu char nên không làm được Bạn nào làm giúp mình với, hoặc gợi ý cái thuật toán cũng được Cám ơn trước
Nếu thế thì chỉ đơn giản vậy thôi Mã: string giaTri = comboBox1.SelectedItem.ToString(); Nếu giá trị là dạng số thì ép kiểu thành Integer hay Double gì đó rồi xử lí tiếp. Bạn có thể down cái file đính kèm để xem thử demo: chọn 1 giá trị từ combobox, click button thì nó hiện giá trị đã chọn ở dưới. Mình dùng MS Studio 2005, viết bằng C# trên WinForm.
Mình làm giúp demo cái "-.2546" thì in ra "-0.2546" thôi,còn lại bạn có thể tự xử lý vì cũng tương tự. Mã: #include <iostream> #include <conio.h> using namespace std; void XuLy(char **a,int n) { *(*a + n + 1) = '\0'; if(**a == '-'&& *(*a + 1) == '.' ) { while(n > 1) { *(*a + n) = *(*a + n - 1); n--; } *(*a + 1) = '0'; } } void main() { char *str; str = new char[10]; cin>>str; int n = strlen(str); XuLy(&str,n); cout<<str; getch(); }
Mình chỉ xử lý thêm được cái ".2546" thì in ra "0.2546" thôi Cái này là thêm số 0 vào thì mình còn từa tựa làm theo được Còn mấy cái còn lại là bớt số 0 đi thì mình không làm được :( Căn bản là bạn không chú thích cái thuật toán nên mình chả hiểu 1 số đoạn nó thực hiện thao tác gì luôn :( Phiền bạn làm giúp thêm 1 trong 2 đoạn còn thiếu để mình còn từa tựa được không Có gì chú thích rõ hơn hộ mình nhá
Chả phải mình gợi ý rồi hay sao Dùng stringstream để chuyển số và xâu, nhanh hơn việc thêm từng kí tự 1 rất nhiều
Chuyển xâu ra số: "1.23000000" -> số = 1.23 Chuyển số ra xâu: 1.23 -> xâu "1.23" /*bước này có phần hỏi có bao nhiêu chữ sau dấu phẩy khi chuyển sang xâu cơ mà */ VD: 1.23 in ra 5 chữ số sau dấu phẩy thì số sẽ là 1.23000 -> sau khi chuyển sang xâu sẽ là "1.23000" Nếu không nói gì nó sẽ in tất -> công chuyển đổi bằng mo à
vậy hàm chuyển từ số sang xâu là gì Mình chỉ biết mỗi hàm chuyển từ xâu sang số thôi PHP: atof(char *xau);
, khi dùng C++ thì ko nên dùng atoi và itoa. Dùng C++ thì cậu có thể dùng lexical_cast ( nếu cậu am hiểu vể boost ) hoặc dùng stringstream. PHP: stringstream ss;ss << "-.123"; // Nhập số vào streamdouble temp;ss >> temp; // Chuyển thành số cast để lấy string từ stream là ss.str();
Các bạn cho mình hỏi tí! Mình mới tập lập trình trên Visual Basic, vậy có cách nào cố định độ phân giải của màn hình khi chạy phần mềm hay không? Tớ đã thử, nhưng cái code tớ xài thì dùng cho màn hình này được, sang đến cái khác thì mọi thứ lại nhảy lung tung; nghĩa là chạy trên PC để bàn thì khác, màn hình Laptop khác, của projector cũng khác. Làm cách nào để cố định được như vậy?
Mình ko học VB nhưng đã viết windows App thì cứ rờ vào winAPI ấy. Mà thực ra rất ghét các phần mềm force độ phân giải màn hình
Cụ thể là làm ntn ạh? Làm sao mà khi đóng gói ra phần mềm thì nó cố định luôn ấy! :'> Mặc dù khó chịu tí nhưng đành chịu, not any other resolution
Bạn nào giúp mình cái thuật toán tìm hạng của ma trận kích thước m x n với Thuật toán thôi, nếu code được thì càng tốt Cảm ơn trước :-*
Tìm hạng thì áp dụng cái phương pháp khử gì đó quên tên rồi, nói chung là biến đổi về ma trận tam giác rồi đếm, ko có thuật toán gì ở đây cả. Cứ trừ từng hàng cho nhau
Định thức thì làm y hệt như trừ từng hàng của cái tính hạng, nhưng ta thực hiện 2 lần, 1 lần xuôi 1 lần ngược để được 1 hàng chéo
2 cách làm kia mình đều nghĩ ra trước khi lên đây hỏi rồi nhưng chưa có ý tưởng triển khai cho nó thế nào. Thế nó mới đau chứ
vậy còn cách nào gán 2 ma trận có cùng kích thước cho nhau không? để đỡ khỏi dùng 2 vòng for lồng nhau ý PHP: float a[4][4],b[4][4];b=a;//ma trận a đã cho trước