Diễn đàn hỏi đáp học thuật - Download Tài Liệu Miễn Phí
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Diễn đàn hỏi đáp học thuật - Download Tài Liệu Miễn PhíĐăng Nhập

VỮNG TIN - TIẾP BƯỚC - THÀNH CÔNG


descriptionMột số bài tập về mảng 1 chiều EmptyMột số bài tập về mảng 1 chiều

more_horiz
1. Viết hàm nhập một mảng số nguyên gồm n phần tử.
2. Viết hàm in mảng số nguyên gồm n phần tử
3. Viết hàm tìm phần tử lớn nhất của mảng
4. Viết hàm tìm phần tử lớn nhất trong mảng (trả về giá trị và chỉ số).
5. Viết hàm tìm phần tử nhỏ nhất trong mảng (trả về giá trị và chỉ số).
6. Viết hàm in ra các số nguyên tố trong mảng
7. Viết hàm đếm các số nguyên tố trong mảng
8. Viết hàm trung bình cộng các số nguyên tố trong mảng
9. Viết hàm tính tổng các phần tử chẵn chia hết cho 3.
10. Tính trung bình cộng các phần tử lẻ
11. Viết hàm tính tổng các số chính phương trong mảng
12. Viết hàm liệt kê các số chính phương trong mảng
13. Viết hàm sắp xếp mảng theo thứ tự tăng dần.
14. Viết hàm in ra các số lẻ theo thứ tự trị tuyệt đối tăng dần, các số chẵn theo thứ tự trị tuyệt đối giảm dần.
15. Hãy xoá bất kỳ phần tử trong mảng theo hai cách:
    - Xoá khi biết vị trí muốn xoá.
    - Xoá phần tử có giá trị là x.

16. Viết chương trình nhập vào một mảng 1 chiều, sau đó tìm xem trong mảng có đoạn tăng nào có số phần tử nhiều nhất.
17. Viết chương trình nhập vào một mảng 1 chiều, sau đó tìm xem trong mảng có đoạn tăng nào có tổng lớn nhất.
18. Viết chương trình nhập vào mảng 1 chiều có n phần tử (có thể dùng hàm randomize cho nhanh) sau đó xuất ra phần tử nào xuất hiện trong mảng nhiều nhất và xuất hiện bao nhiêu lần.
19. Cho mảng số nguyên độ dài n.
    - In ra mảng con các phần tử dương dài nhất
    - In ra mảng con có tổng lớn nhất.
    VD: cho mảng -1 30 2 -2 3 1 5 6 -5 4 8
    - In ra mảng con là: 3 1 5 6
    - In ra: 30 2

20. Đảo mảng 1 chiều gồm n phần tử nhập từ bàn phím.

Được sửa bởi Admin ngày Fri May 27, 2011 7:45 am; sửa lần 2.

descriptionMột số bài tập về mảng 1 chiều EmptyCâu 1,2,3,4,5

more_horiz

Code:


#include"conio.h"
#include"stdio.h"
void nhap(int a[],int &n)
{
  printf("nhap vao so phan tu cua mang");
  scanf("%d",&n);
  for(int i=0;i<n;i++)
  {
    printf("a[%d]=",i+1);
    scanf("%d",&a[i]);}
}
void xuat(int a[],int n)
{
  for(int i=0;i<n;i++)
  printf("%3d",a[i]);
}
int Tim_Max(int a[],int n)
{
  int max=a[0];
  for(int i=1;i<n;i++)
    if(a[i]>max)
      max=a[i];
  reurn max;
}
void Tim_Max(int a[],int n,int &max, int &vt)
{
  max=a[0];
  vt=0;
  for(int i=1;i<n;i++)
    if(a[i]>max)
    {
      max=a[i];
      vt=i;
    }
}
void Tim_Min(int a[],int n,int &min, int &vt)
{
  min=a[0];
  vt=0;
  for(int i=1;i<n;i++)
    if(a[i]<min)
    {
      min=a[i];
      vt=i;
    }
}

 


descriptionMột số bài tập về mảng 1 chiều EmptyCâu 19

more_horiz

Code:


void Mang_Con(int a[],int n)
{
   int *b;
   int i,j,vt;
   int dem=0;
   int max;
   b=new int[n];
   for(i=0;i<n;i++)
   {
      b[i]=0;
   }
   for(i=0;i<n;i++)
   {
      if(a[i]>0)
      {
         dem++;
      }
      else if(dem>0)
      {
         b[i-dem]=dem;
         dem=0;
      }
   }
   if(dem>0)
   {
      b[i-dem]=dem;
   }
   max=b[0];
   vt=0;
   for(i=0;i<n;i++)
   if(max<b[i])
   {
      max=b[i];
      vt=i;
   }
   j=vt+max;
   while(vt<j)
   {

      printf("%3d",a[vt]);
      vt++;
   }
}
void Mang_ConTong(int a[],int n)
{
   int *b;
   int i,j,vt;
   int dem=0;
   int tong=0;
   int max;
   b=new int[n];
   for(i=0;i<n;i++)
   {
      b[i]=0;
   }
   for(i=0;i<n;i++)
   {
      if(a[i]>0)
      {
         dem++;
         tong+=a[i];
      }
      else if(dem>0)
      {
         b[i-dem]=tong;
         dem=0;
         tong=0;
      }
   }
   if(dem>0)
   {
      b[i-dem]=tong;
   }
   max=b[0];
   vt=0;
   for(i=0;i<n;i++)
   if(max<b[i])
   {
      max=b[i];
      vt=i;
   }
        while((vt<n) &&( a[vt]>0))
   {
      printf("%3d",a[vt]);
      vt++;
   }
}

descriptionMột số bài tập về mảng 1 chiều EmptyRe: Một số bài tập về mảng 1 chiều

more_horiz
Thuật toán liệt kê mảng con dương dai nhất k cần dùng mảng b để lưu trữ lại ta có thể sử dụng hai biết luu vị trí và đếm là đủ.

Code:

   int vitri=0, dodai=0 ,d=0;
   for(int i = 0, i<n,i++)
   if(a[i]>0)
      d++;
   else
   {
      if(d>dodai)
         vitri = i-d;
         dodai = d;
      else
         d = 0;
   }
   //ta tim duoc doan duong dai nhat xuat phat tu vitri va co dodai


Được sửa bởi Admin ngày Wed Apr 07, 2010 10:50 pm; sửa lần 2.

descriptionMột số bài tập về mảng 1 chiều EmptyRe: Một số bài tập về mảng 1 chiều

more_horiz
Admin đã viết:
Thuật toán liệt kê mảng con dương dai nhất k cần dùng mảng b để lưu trữ lại ta có thể sử dụng hai biết luu vị trí và đếm là đủ.

Code:

   int vitri=0, dodai=0 ,d=0;
   for(int i = 0, i<n,i++)
   if(a[i]>0)
      d++;
   else
   {
      if(d>dodai)
         vitri = i-d;
         dodai = d;
      else
         d = 0;
   }
   //ta tim duoc doan duong dai nhat xuat phat tu vitri va co dodai

biến d (if(d>dem))làm gì hả thầy?

descriptionMột số bài tập về mảng 1 chiều EmptyCâu 8

more_horiz

Code:

int KiemTraSoNguyenTo(int n)
{
   if (n<=1)
       {
           return 0;
       }
       for (int i=2;i<n;i++)
       {
           if (n%i==0)
           {
                  return 0;
           }
       }

       return 1;

}

//Trung binh cong cac so nguyen to
float TBCong(int a[], int n)
{
   int s=0;
        float temp=0;
        for (int i= 0; i<n; i++)
        {
           if (KiemTraSoNguyenTo(a[i])==1)
                {
                   s=s+a[i];
                        temp++;
                }
        }
        if (temp == 0)
        {
           printf("\nMang ko co so thoa yeu cau ");
            return 0;
        }
        return s/temp;
}


descriptionMột số bài tập về mảng 1 chiều EmptyRe: Một số bài tập về mảng 1 chiều

more_horiz
yuglangvn đã viết:

Code:

int KiemTraSoNguyenTo(int n)
{
   if (n<=1)
       {
           return 0;
       }
       for (int i=2;i<n;i++)
       {
           if (n%i==0)
           {
                  return 0;
           }
       }

       return 1;

}

//Trung binh cong cac so nguyen to
float TBCong(int a[], int n)
{
   int s=0;
        float temp=0;
        for (int i= 0; i<n; i++)
        {
           if (KiemTraSoNguyenTo(a[i])==1)
                {
                   s=s+a[i];
                        temp++;
                }
        }
        if (temp == 0)
        {
           printf("\nMang ko co so thoa yeu cau ");
            return 0;
        }
        return s/temp;
}



Code:

char KiemTraSoNguyenTo(int n)
{
  if (n<2)
          return 0;
  else
  {
      for (unsigned int i=2;i<=sqrt(n);i++)
      {
          if (n%i==0)
          {
                  return 0;
          }
      }
      return 1;
  }
}

descriptionMột số bài tập về mảng 1 chiều EmptyRe: Một số bài tập về mảng 1 chiều

more_horiz
privacy_tip Permissions in this forum:
Bạn không có quyền trả lời bài viết
power_settings_newLogin to reply