30/09/2018, 18:58
Tổng các số nguyên tố trong mảng 1 chiều
Cho 1 file text “CAU3.IN” chứa thông tin về 1 dãy số nguyên
- Dòng 1 ghi gtri tổng số phần tử của dãy số
+Dòng 2 ghi các gtri của các phần tử của dãy. Mỗi giá trị cách nhau 1 vài khoảng trắng.
a/ Đọc dãy số từ file trên và lưu vào 1 mảng …
b/ Tính tổng các số nguyên tố có trong mảng…
c/ Ghi giá trị của mảng đã tính ở câu b/ vào file “CAU3.OUT”.
YÊU CẦU: sử dụng con trỏ và mảng(cấp phát bộ nhớ động cho mảng)
mọi người xem dùm mình sai cái gì với ạ…HELP ME. thứ 2 mình thi cuối kì rồi…
cảm ơn mng nhiu nhiu <3
int *Tong_NT = new int[100];
int NT(int n)
{
int i, k= sqrt(n);
for(i=2;i<=k;i++)
if (n%i==0)
return 0;
return 1; // la so NT
}
struct contro
{
int info ;
contro * next ;
};
typedef contro * t ;
t first = new contro ;
void khoitao( t &first)
{
first = NULL ;
}
void kitudau(t &first , int x)
{
t p;
p = new contro;
p->info = x;
p->next = first;
first = p;
}
int main()
{
FILE *fptr;
int n=10, TONG=0;
if ((fptr=fopen("CAU3.IN.txt","r"))==NULL) //bao loi neu co
{
printf("Loi doc file CAU3.IN");
return 0;
}
int *Tong_NT;
if ((Tong_NT= (int *) malloc(n* sizeof(int)))==NULL) //bao loi neu co
{
printf("Loi cap phat bo nho");
fclose (fptr);
return 0;
}
for (int i=0; i<n; i++) //doc ki tu mang tu so
fscanf(fptr,"%d",(Tong_NT+i));
fclose (fptr);
if ((fptr=fopen("CAU3.OUT.txt","w"))==NULL) //bao loi neu co
{
printf("Loi tao file CAU3.OUT");
return 0;
}
for (int i=0; i<n; i++)
{
if(NT(Tong_NT[i])==1)
TONG=TONG+(Tong_NT[i]);
fprintf(fptr,"%d",TONG);
}
printf("Tong so NT: ") ;
for (int i=0; i<n; i++)
{
if(NT(Tong_NT[i])==1)
TONG=TONG+(Tong_NT[i]);
fprintf(fptr,"%d",TONG);
}
fclose (fptr);
printf("nChuong trinh da ket thuc");
}
Bài liên quan