Cái này có thể do copy bị lỗi. Chương trình của mình trên máy của mình là là i*i. mình đã sửa lại cho đúng!
cái này mình test không hề bị sai. bạn xem lại đi! để %s hay không đều đc.
hàm kiểm tra số nguyên tố chỉnh sửa lại:
bài nhập mảng có một chút nhầm lẫn kitti đã sửa lại.C Code:
int ktSNT (const int a) { int i = 0; { if( a % i == 0 || a < 2 && a != 2) { return 0; } } return 1; }
Nhưng không phảo là lỗi do không hiểu thứ tự ưu tiên trong dấu ngoặc đơn mà bị nhầm toán tử && ở đây phải dùng toán tử ||.
rất cảm ơn những ý kiến của bạn nhưng lần sau nên test kĩ sai vì lỗi gì thì hãy nói đừng nói lung tung.
mình có thể biết nó lỗi ở đâu để sửa nhưng những bạn mới lại đi thêm ngoặc vào rồi vẫn thấy bị sai.
còn bài tự luận mình nhầm và đã sửa lại thành 26.
skype: hvphu2010
Yahoo: hvphu2010
Sdt: 0129 609 4567
skype: hvphu2010
Yahoo: hvphu2010
Sdt: 0129 609 4567
Kitti: xin lưu ý mọi người một chút đó là nếu sửa thì sửa trực tiếp vào bài trả lời của mình.
vd như vodanh2492 nên viết trực tiếp tên trường vào đề bài. không nên viết thành một bài trả lời khác.
Lưu ý là viết tên trường nên rõ ràng, không viết tắt và đây là topic đề thi nên không giải quyết các vấn đề ngoài đề thi (các đề bài không có tên trường rõ ràng sẽ coi như không phải đề thi).
skype: hvphu2010
Yahoo: hvphu2010
Sdt: 0129 609 4567
các anh cho em hỏi , cái dòng đó ý nghĩa là sao , em vẫn chưa hiểu lắm câu hỏi
ví dụ như 1 dãy số của nó là 1,2,3,2,5 ,-6 , 4,5,-4,5,-8;
thì tổng của nó tính bắt đầu từ -4 đến -8 , có nghĩa là tong =5;
hay là bắt đầu tính từ -6 đến -8 , tổng = 4+5+5 = 14;
các anh giải tích giùm em với , đọc đề bài thấy khó hiểu quá !
C Code:
#include <conio.h> #include <stdio.h> int main(){ char *_="%c%c%c%c%c%c%c%c%c%c%c%c%c%c";int __=3**_+5; getch();return 0;}
Mình không biết hàm printf hoạt động như thế nào nên không thể giải thích cho bạn được. Nhưng mà mình có thể đưa ra ví dụ chứng minh là nó có thể gây lỗi:
Xem hình này:
Đó là 1 trường hợp, trường hợp khác là chương trình bị crash.
Mình chỉ tìm lỗi, không sửa lỗi. Cái này mình nghĩ là nó bị sai ở phần dấu ngoặc trên cơ sở là đoán ý của bạn. Nhưng không đúng ý của bạn thì thôi, bạn xem lại đâu có mất gì đâu nào.Nhưng không phảo là lỗi do không hiểu thứ tự ưu tiên trong dấu ngoặc đơn mà bị nhầm toán tử && ở đây phải dùng toán tử ||.
rất cảm ơn những ý kiến của bạn nhưng lần sau nên test kĩ sai vì lỗi gì thì hãy nói đừng nói lung tung.
mình có thể biết nó lỗi ở đâu để sửa nhưng những bạn mới lại đi thêm ngoặc vào rồi vẫn thấy bị sai.
PostScript: Mình không có ý đả kích bạn đâu nha. Mình chỉ góp ý thôi mà. Nếu bạn không cần thì thôi vậy.
Gió thu lạnh lẽo hắt hiu lòng!
Học viên bưu chính viễn thông ( cơ sở 2 )
Đề bài : nhập 1 dãy số , tối thiểu là 2 số nguyên âm
tính tổng các số dương nằm giữa 2 số nguyên âm đầu tiên và cuối cùng của mảng
nếu 2 số âm liền kề nhau in ra tong =0;
C++ Code:
#include<iostream> #include<math.h> using namespace std; void input_arg(int *a, int n); void output_arg( int *a, int n); int sum_arg( int *a, int n); int dem_arg( int*a, int n); int main(){ int n,i; int dem_a; int *a = new int[n]; input_arg(a,n); else { // in mang output_arg(a,n); } delete[]a; system ("pause"); return 0; } // ham nhap mang void input_arg( int *a, int n){ int i; for ( i = 0 ; i < n ; i++){ } } // ham in mang void output_arg( int *a, int n){ int i, dem =0; for ( i = 0 ; i < n ; i++){ } } // ham kiem tra co 2 so am int dem_arg( int *a, int n){ int dem =0; for ( int i = 0 ; i < n ; i++ ){ if ( a[i] < 0 ) { dem ++; } } return dem; } int sum_arg( int *a, int n){ int i,j=0,k=0; int tong =0; int kt=0; for ( i = 0 ; i < n ; i++){ // neu 2 so am lien tiep la so am thi tong =0 if (( a[i] < 0) && (a[i+1] < 0 ) ){ kt=1; } } // neu khong thi else { for ( i = 0 ; i < n ; i++){ if ( a[i] < 0 ){ k = i; // gan chi so i cho k roi ket thuc vong lap break; } } // cout<<" k = " << k << endl; for ( i = (n-1) ; i > 0 ; i--){ if ( a[i] < 0 ){ j = i; // gan chi so cua i cho j roi ket thuc vong lap break; } } // tinh tong for ( i = k ; i < j ; i++){ if (a[i] > 0 ) tong += a[i]; } } return tong; }
Đã được chỉnh sửa lần cuối bởi xuyenit55 : 16-01-2011 lúc 02:06 PM.
Gửi Kiti: Cơ chế hàm printf và scanf rất phức tạp, bạn nên làm đúng nguyên tắc lập trình khi thao tác trên các hàm này; việc làm của bạn hoàn toàn không đúng. Với những chương trình đòi hỏi chạy liên tục thì một thao tác không chuẩn do lập trình viên gây ra sẽ gây lỗi trầm trọng, crash hệ thống, lỗi memory,... Tốt nhất các bạn nên làm đúng nguyên tắc lập trình trên ngôn ngữ hiện có!