Từ 1 tới 3 trên tổng số 3 kết quả

Đề tài: tìm lỗi dùm em với

  1. #1
    Ngày gia nhập
    12 2011
    Bài viết
    1

    Mặc định tìm lỗi dùm em với

    Em không hiểu chương trình này có vấn đề chổ nào> Nhưng ban đầu thì chạy ngon lắm. nhưng chỉ dược vài lần.Nhừng lần sau nó đều báo là không tìm thấy trong khi rõ ràng là co. ai giúp em tim cói nó có vấn đề gì được không? em cảm ơn nhiều lắm
    Đề: phát sinh ngẫu nhiên mảng và tìm phần tử nguyên tố lớn nhất trong mảng. nếu nhiếu phần tử thì in phần tử có giá trị nhỏ nhất.Nếu không tìm thấy thì trả về giá trị -1
    Code:
    #include <stdio.h>
    #include <conio.h>
    #include <ctime>
    #include <cstdlib>
    #define max 10000
    void nhapsophantu (int &n)
    {
    	do
    	{
    		printf("\nNhap so phan tu cua mang: ");
    		scanf ("%d", &n);
    	}while (n < 1 || n > 10000);
    }
    void phatsinhmang (int mang[],int  h)
    {
    	srand (time(0));
    	for (int i = 0; i < h; i++)
    	{
    		mang[i] = -10000 + rand() % 20001;
    	}
    }
    void inmang (int mang1[], int k)
    {
    	for (int i = 0; i < k; i++)
    	{
    		printf ("\n Phan tu thu: %d \t Gia tri: %d", i, mang1[i]);
    	}
    }
    bool ktsonguyento (int n)
    {
    	if (n <= 1)
    		return false;
    	else
    	{
    		for (int i = 2; i < n; i++)
    		{
    			if (n % i == 0)
    				return false;
    		}
    	}
    
    	return true;
    }
    int nguyentolonnhat (int mang2[],int n, int &maxt)
    {
    	int vt = -1; /*mat = 0;*/
    	for (int i = 0; i < n; i++)
    	{
    		if(ktsonguyento(mang2[i]))
    		{
    			if(mang2[i] > maxt)
    			{
    				maxt = mang2[i];
    				vt = i;
    			}
    
    		}
    	}
    	if(vt != -1 ) printf("\nGia tri max: %d\t vt: %d", maxt, vt);
    	return (vt);
    }
    void main ()
    {
    	int n, MangA[max], maxt = 0, vit;
    tieptuc:	nhapsophantu (n);
    	phatsinhmang (MangA, n);
    	printf ("\n\n\t\t\tMangA da duoc phat sinh ngau nhien la:\n");
    	inmang (MangA, n);
    	vit = nguyentolonnhat( MangA, n, maxt);
    	if (vit != -1)
    	{
    		printf ("\n\tVi tri nho nhat cua so nguyen to lon nhat la:%d \n\tGia tri cua so nguyen to do la: %d", vit, maxt);
    	}
    	else printf ("\n\n\t\tXin loi! Khong tim thay. Ban hay thu lai xem sao!");
    	printf ("\n\t\tBan muon tiep tuc nua khong? \n\t\tNhan ESC de thoat hoc phim bat ki de tiep tuc!!!");
    	if (getch()!=27) goto tieptuc;
    	else printf ("\n\n\n\t\t\tBye Bye");
    	getch();
    }

  2. #2
    Ngày gia nhập
    03 2009
    Bài viết
    22

    Code của bạn đúng về ý tưởng nhưng bạn quên rửa kho biến maxt sau khi người dùng tiếp tục nên xảy ra trường hợp nếu trong mảng mới có số nguyên tố nhưng nhỏ hơn hoặc bằng maxt(số nguyên tố lớn nhất của mảng cũ) thì nó vẫn không return true trong hàm nguyentolonnhat được

    Code:
    void main ()
    {
    	int n, MangA[max], maxt = 0, vit;
    tieptuc:	nhapsophantu (n); 
            maxt = 0; // rửa kho
    	phatsinhmang (MangA, n);
    	printf ("\n\n\t\t\tMangA da duoc phat sinh ngau nhien la:\n");
    	inmang (MangA, n);
    	vit = nguyentolonnhat( MangA, n, maxt);
    	if (vit != -1)
    	{
    		printf ("\n\tVi tri nho nhat cua so nguyen to lon nhat la:%d \n\tGia tri cua so nguyen to do la: %d", vit, maxt);
    	}
    	else printf ("\n\n\t\tXin loi! Khong tim thay. Ban hay thu lai xem sao!");
    	printf ("\n\t\tBan muon tiep tuc nua khong? \n\t\tNhan ESC de thoat hoc phim bat ki de tiep tuc!!!");
    	if (getch()!=27) goto tieptuc;
    	else printf ("\n\n\n\t\t\tBye Bye");
    	getch();
    }

  3. #3
    Ngày gia nhập
    12 2011
    Bài viết
    1

    em cảm ơn anh nhiều. em làm được rồi!!!

Các đề tài tương tự

  1. Lập trình C++ coi dùm minh bài code sai ở chỗ nào và sữa dùm mình với
    Gửi bởi hchuy94 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 02-09-2013, 10:16 AM
  2. Bài tập C tìm lỗi dùm em với
    Gửi bởi dammelaptrinh trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 27-12-2011, 09:03 PM
  3. Nhớ mấy anh đánh giá dùm CV của em
    Gửi bởi tomahutbui trong diễn đàn Thắc mắc chung
    Trả lời: 6
    Bài viết cuối: 10-06-2011, 06:01 PM
  4. Mình mới vừa học lập trình ,xin fix lỗi dùm mình và cho mình hỏi 1 vải điều .
    Gửi bởi ANHCHANG60GIAY trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 9
    Bài viết cuối: 30-04-2010, 11:40 AM
  5. xem dùm bài đệ quy t=x^n??
    Gửi bởi #include# trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 6
    Bài viết cuối: 10-04-2008, 11:41 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn