Đừng nghĩ rằng bạn đang cô đơn bởi vì có ai đó đang sẵn sàng giơ tay cho bạn nắm. Hãy cùng chia sẻ để vơi đi nỗi buồn và tận hưởng trọn vẹn niềm vui trong cuộc sống này bạn nhé!










You are not connected. Please login or register

1Thuật toán search,sort Empty Thuật toán search,sort Thu May 30, 2013 6:35 pm

posts :
114
:
Points :
10236
:
avatar-dulieu :
57,11757|50,11908|49,10855|64,12636|51,11463|48,12290|58,12220|66,11458
:
Thanked :
12
:
Birthday :
10/02/1994
:
Age :
30
:
tvt-12cth1

Admin

Admin
https://laptrinhc.forumvi.com



Được sửa bởi tvt-12cth1 ngày Thu May 30, 2013 7:15 pm; sửa lần 4.

2Thuật toán search,sort Empty Re: Thuật toán search,sort Thu May 30, 2013 6:39 pm

posts :
114
:
Points :
10236
:
avatar-dulieu :
57,11757|50,11908|49,10855|64,12636|51,11463|48,12290|58,12220|66,11458
:
Thanked :
12
:
Birthday :
10/02/1994
:
Age :
30
:
tvt-12cth1

Admin

Admin
https://laptrinhc.forumvi.com
Bài 1: linearSearch

Code:
//tim kiem thuong

#include <iostream.h>


void nhap(int a[],int n)
{
   for(int i=0;i<n;i++)
   {
      cout<<"a["<<i<<"]=";
      cin>>a[i];
   }
}

void xuat(int a[],int n)
{
   for(int i=0;i<n;i++)
   {
      cout<<a[i]<<"\t";
   }
}

int search(int a[],int n,int m)
{
   for(int i=0;i<n;i++)
      if(a[i]==m)
         return i;
   return -1;
}

int main()
{
   int a[100];
   int n,m;
   cout<<"Nhap vao so phan tu: ";
   cin>>n;
   nhap(a,n);
   xuat(a,n);
   cout<<"\nNhap vao so muon tim: ";
   cin>>m;
   int kq=search(a,n,m);
   if(kq==-1)
      cout<<"Khong tim thay";
   else
      cout<<"So "<<m<<" nam o vi tri "<<kq<<endl;
}

3Thuật toán search,sort Empty Re: Thuật toán search,sort Thu May 30, 2013 6:40 pm

posts :
114
:
Points :
10236
:
avatar-dulieu :
57,11757|50,11908|49,10855|64,12636|51,11463|48,12290|58,12220|66,11458
:
Thanked :
12
:
Birthday :
10/02/1994
:
Age :
30
:
tvt-12cth1

Admin

Admin
https://laptrinhc.forumvi.com
Bài 2: Tìm kiếm nhị phân

Code:
#include <iostream.h>

void nhap(int a[],int n)
{
   for(int i=0;i<n;i++)
   {
      cout<<"a["<<i<<"]=";
      cin>>a[i];   
   }
}
void xuat(int a[],int n)
{
   for(int i=0;i<n;i++)
      cout<<a[i]<<"\t";   
}

void soft(int a[],int n)
{
   int temp;
   for(int i=0;i<n;i++)
   for(int j=i+1;j<n;j++)
   if(a[i]>a[j])
   {
      temp=a[i];
      a[i]=a[j];
      a[j]=temp;   
   }
}
void search(int a[],int n)
{
   int l=0,m, flag = 0;
   int element;
   cout<<"\nNhap vao so muon tim: ";
   cin>>element;
   while(l <= n)
   {
      m = (l+n)/2;
      if( a[m] == element)
      {      
         cout<<"\n"<<"so ban tim nam o vi tri: "<<m<<endl;
         flag =1;
         break;
      }
      else
         if(a[m] < element)
            l = m+1;
         else
            n = m-1;
   }
   if( flag == 0)
   {
      cout<<"\n"<<"So ban tim khong co trong mang"<<endl;   
   }
}
int main()
{
   int a[100];
   int n;
   cout<<"Nhap vao so luong phan tu: ";
   cin>>n;
   nhap(a,n);
   soft(a,n);
   xuat(a,n);
   search(a,n-1);
}

4Thuật toán search,sort Empty Re: Thuật toán search,sort Thu May 30, 2013 6:40 pm

posts :
114
:
Points :
10236
:
avatar-dulieu :
57,11757|50,11908|49,10855|64,12636|51,11463|48,12290|58,12220|66,11458
:
Thanked :
12
:
Birthday :
10/02/1994
:
Age :
30
:
tvt-12cth1

Admin

Admin
https://laptrinhc.forumvi.com
Bài 3: Danh Sách Sinh Viên

Code:


#include <iostream.h>

struct sv
{
   int id;
   float toan,van;   
};

int kt(sv SV[],int n,int id)
{
   for(int i=0;i<n;i++)
      if(SV[i].id==id)
         return i;
   return -1;
}

void nhap(sv SV[],int n)
{
   for(int i=0;i<n;i++)
   {
      lai:
      cout<<"\nID: ";
      cin>>SV[i].id;
      if(kt(SV,i,SV[i].id)!=-1)
      {
         cout<<"ID da ton tai, hay nhap id khac";
         goto lai;
      }
      cout<<"\n Diem Toan: ";
      cin>>SV[i].toan;
      cout<<"\n Diem Van: ";
      cin>>SV[i].van;
   }   
}

void xuat(sv SV[],int n)
{
   for(int i=0;i<n;i++)
   {
      cout<<"\n---------------------------------\n";
      cout<<"ID: "<<SV[i].id<<"\n Diem Toan: "<<SV[i].toan<<"\n Diem Van: "<<SV[i].van;
      cout<<"\n---------------------------------\n";
   }
}

void search(sv SV[],int n)
{
   int id;
   cout<<"\n\nNhap vao id: ";
   cin>>id;
   int kq=kt(SV,n,id);
   if(kq==-1)
      cout<<"Khong tim thay";
   else
      cout<<"ID: "<<SV[kq].id<<"\n Diem Toan: "<<SV[kq].toan<<"\n Diem Van: "<<SV[kq].van;
}

int main()
{
   sv SV[100];
   int n;
   cout<<"Nhap vao so luong phan tu: ";
   cin>>n;
   nhap(SV,n);
   xuat(SV,n);
   search(SV,n);
}

5Thuật toán search,sort Empty Re: Thuật toán search,sort Thu May 30, 2013 6:41 pm

posts :
114
:
Points :
10236
:
avatar-dulieu :
57,11757|50,11908|49,10855|64,12636|51,11463|48,12290|58,12220|66,11458
:
Thanked :
12
:
Birthday :
10/02/1994
:
Age :
30
:
tvt-12cth1

Admin

Admin
https://laptrinhc.forumvi.com
Bài 4: sort

Code:


#include <iostream.h>

void nhap(int a[],int n)
{
   for(int i=0;i<n;i++)
   {
      cout<<"a["<<i<<"]=";
      cin>>a[i];   
   }
}
void xuat(int a[],int n)
{
   for(int i=0;i<n;i++)
      cout<<a[i]<<"\t";   
}

int swap(int &a,int &b)
{
   int temp=a;
   a=b;
   b=temp;
}

void sort_noibot(int a[],int n)
{
   for(int i=0;i<n-1;i++)
      for(int j=0;j<n-1-i;j++)
         if(a[j]>a[j+1])
            swap(a[j],a[j+1]);
}

void sort_thuong(int a[],int n)
{
   for(int i=0;i<n;i++)
      for(int j=i+1;j<n;j++)
         if(a[i]>a[j])
            swap(a[i],a[j]);
}

int main()
{
   int a[100];
   int n;
   cout<<"Nhap vao so luong: ";
   cin>>n;
   nhap(a,n);
   xuat(a,n);
   sort_noibot(a,n);
   cout<<"\nSap xep noi bot:\n\n";
   xuat(a,n);
   sort_thuong(a,n);
   cout<<"\n\nSap xep thuong:\n\n";
   xuat(a,n);
}



Được sửa bởi tvt-12cth1 ngày Thu May 30, 2013 7:11 pm; sửa lần 1.

6Thuật toán search,sort Empty Re: Thuật toán search,sort Thu May 30, 2013 6:42 pm

posts :
114
:
Points :
10236
:
avatar-dulieu :
57,11757|50,11908|49,10855|64,12636|51,11463|48,12290|58,12220|66,11458
:
Thanked :
12
:
Birthday :
10/02/1994
:
Age :
30
:
tvt-12cth1

Admin

Admin
https://laptrinhc.forumvi.com
Bài 5: Bài tổng hợp

Code:

#include <iostream.h>
#include <stdio.h>
#include <conio.h>

void nhap(int a[],int n)
{
   for(int i=0;i<n;i++)
   {
      cout<<"a["<<i<<"]=";
      cin>>a[i];
   }
}

void xuat(int a[],int n)
{
   cout<<"\n\n";
   for(int i=0;i<n;i++)
   {
      cout<<a[i]<<"\t";
   }
}

void soft(int a[],int n)
{
   int temp;
   for(int i=0;i<n;i++)
   for(int j=i+1;j<n;j++)
      if(a[i]>a[j])
      {
         temp=a[i];
         a[i]=a[j];
         a[j]=temp;
      }
}

int tong(int a[],int n)
{
   int Tong=0;
   for(int i=0;i<n;i++)
      Tong+=a[i];   
   return Tong;
}

int trungbinh(int a[],int n)
{
   int Trungbinh=0;
   for(int i=0;i<n;i++)
      Trungbinh+=a[i];
   return Trungbinh/n;
}

bool nt(int n)
{
   for(int i=2;i<n;i++)
      if(n%i==0)
         return false;
   return true;
}

int tong_nt(int a[],int n)
{
   int Tong_nt=0;
   for(int i=0;i<n;i++)
      if(nt(a[i])==true)
         Tong_nt+=a[i];
   return Tong_nt;
}

int soluong_nt(int a[],int n)
{
   int stt=0;
   for(int i=0;i<n;i++)
      if(nt(a[i])==true)
         stt++;
   return stt;
}

int am(int a[],int n)
{
   int Am=0;
   for(int i=0;i<n;i++)
      if(a[i]<0 && a[i]<Am)
         Am=a[i];
   return Am;
}

int duong(int a[],int n)
{
   int Duong=a[0];
   for(int i=0;i<n;i++)
      if(a[i]>0 && a[i]<Duong)
         Duong=a[i];
   return Duong;
}

void logout()
{
   cout<<"\n\nEnter break......";
   getch();
}

void menu(int a[],int n)
{
   cout<<"1) Tim phan tu lon nhat trong mang\n";
   cout<<"2) Tim phan tu nho nhat trong mang\n";
   cout<<"3) Tong phan tu trong mang\n";
   cout<<"4) Trung binh cong phan tu trong mang\n";
   cout<<"5) Tong so nguyen to trong mang\n";
   cout<<"6) So luong so nguyen to trong mang\n";
   cout<<"7) Phan tu am nho nhat trong mang\n";
   cout<<"8) Phan tu duong nho nhat trong mang\n";
   cout<<"9) Thoat\n\n";
   cout<<"#Lua chon:";
   int lchon;
   cin>>lchon;
   system("cls");
   switch(lchon)
   {
      case 1:
         xuat(a,n);
         cout<<"\n\nPhan tu lon nhat la: "<<a[n-1];
         logout();
         break;
      case 2:
         xuat(a,n);
         cout<<"\n\nPhan nho nhat la: "<<a[0];
         logout();
         break;
      case 3:
         xuat(a,n);
         cout<<"\n\nTong phan tu: "<<tong(a,n);
         logout();
         break;
      case 4:
         xuat(a,n);
         cout<<"\n\nTrung binh cong: "<<trungbinh(a,n);
         logout();
         break;
      case 5:
         xuat(a,n);
         cout<<"\n\nTong nguyen to: "<<tong_nt(a,n);
         logout();
         break;
      case 6:
         xuat(a,n);
         cout<<"\n\nSo luong nguyen to: "<<soluong_nt(a,n);
         logout();
         break;
      case 7:
         xuat(a,n);
         cout<<"\n\nPhan tu am nho nhat: "<<am(a,n);
         logout();
         break;
      case 8:
         xuat(a,n);
         cout<<"\n\nPhan tu duong nho nhat: "<<duong(a,n);
         logout();
         break;
      case 9:   
         exit(0);
   }
}

int main()
{
   int a[100];
   int n;
   cout<<"Nhap vao so luong phan tu: ";
   cin>>n;
   nhap(a,n);
   soft(a,n);
   do
   {
      system("cls");
      menu(a,n);   
   }while(true);
}

7Thuật toán search,sort Empty Re: Thuật toán search,sort Thu May 30, 2013 6:43 pm

posts :
114
:
Points :
10236
:
avatar-dulieu :
57,11757|50,11908|49,10855|64,12636|51,11463|48,12290|58,12220|66,11458
:
Thanked :
12
:
Birthday :
10/02/1994
:
Age :
30
:
tvt-12cth1

Admin

Admin
https://laptrinhc.forumvi.com
Mô phỏng thuật toán tìm kiếm thường

Code:

// Thuat toan tim kiem thuong

#include <iostream.h>
#include <windows.h>  //thu vien do hoa
#include <stdio.h>    //system("cls");


/**********************************************************************************/

void textcolor(WORD color)
{
    HANDLE hConsoleOutput;
    hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);

    CONSOLE_SCREEN_BUFFER_INFO screen_buffer_info;
    GetConsoleScreenBufferInfo(hConsoleOutput, &screen_buffer_info);

    WORD wAttributes = screen_buffer_info.wAttributes;
    color &= 0x000f;
    wAttributes &= 0xfff0;
    wAttributes |= color;

    SetConsoleTextAttribute(hConsoleOutput, wAttributes);
}
void textbackground(WORD color)
{
    HANDLE hConsoleOutput;
    hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);

    CONSOLE_SCREEN_BUFFER_INFO screen_buffer_info;
    GetConsoleScreenBufferInfo(hConsoleOutput, &screen_buffer_info);

    WORD wAttributes = screen_buffer_info.wAttributes;
    color &= 0x000f;
    color <<= 4;
    wAttributes &= 0xff0f;
    wAttributes |= color;

    SetConsoleTextAttribute(hConsoleOutput, wAttributes);
}
void gotoxy(short x,short y)
{
    HANDLE hConsoleOutput;
    COORD Cursor_an_Pos = { x,y};
    hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleCursorPosition(hConsoleOutput , Cursor_an_Pos);
}
/****************************************************************************/

void checkbox(int n)
{
   system("cls");
   textbackground(15);
   for(int i=0;i<n;i++)
   {
      gotoxy((i+2)*4,10);cout<<"  ";   
   }
}

int *capphat(int n)
{
   int *a=new int[n];
   return a;
}

void input(int *&a,int &n)
{
   cout<<"Nhap vao so luong phan tu: ";cin>>n;
   a=capphat(n);    //cap phat bo nho cho con tro
   checkbox(n);
   textcolor(0);
   for(int i=0;i<n;i++)
   {
      gotoxy(((i+2)*4)+1,10);cin>>a[i];   
   }
}

void mophong(int i)
{
   gotoxy(((i+2)*4)+1,12);cout<<"^";
      Sleep(2000);
   gotoxy(((i+2)*4)+1,12);cout<<" ";
}

void search(int *a,int n)
{
   textbackground(0);
   textcolor(15);
   int element,flag=0;
   gotoxy(10,20);cout<<"Nhap vao so muon tim: ";cin>>element;
   for(int i=0;i<n;i++)
   {
      if(a[i]==element)
      {
         mophong(i);
         textbackground(10);
         gotoxy((i+2)*4,10);cout<<" "<<a[i]<<" ";
         flag=1;
         break;
      }
      mophong(i);
   }
}

int main()
{
   int *a=NULL;
   int n;
   input(a,n);
   search(a,n);
   delete[] a;  //giai phong bo nho da cap phat
   cout<<"\n\n";
}

8Thuật toán search,sort Empty Re: Thuật toán search,sort Thu May 30, 2013 6:45 pm

posts :
114
:
Points :
10236
:
avatar-dulieu :
57,11757|50,11908|49,10855|64,12636|51,11463|48,12290|58,12220|66,11458
:
Thanked :
12
:
Birthday :
10/02/1994
:
Age :
30
:
tvt-12cth1

Admin

Admin
https://laptrinhc.forumvi.com
Mô phỏng thuật toán tìm kiếm nhị phân

Code:

// Thuat toan tim kiem nhi phan

#include <iostream.h>
#include <windows.h>  //thu vien do hoa
#include <stdio.h>    //system("cls");


/**********************************************************************************/

void textcolor(WORD color)
{
    HANDLE hConsoleOutput;
    hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);

    CONSOLE_SCREEN_BUFFER_INFO screen_buffer_info;
    GetConsoleScreenBufferInfo(hConsoleOutput, &screen_buffer_info);

    WORD wAttributes = screen_buffer_info.wAttributes;
    color &= 0x000f;
    wAttributes &= 0xfff0;
    wAttributes |= color;

    SetConsoleTextAttribute(hConsoleOutput, wAttributes);
}
void textbackground(WORD color)
{
    HANDLE hConsoleOutput;
    hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);

    CONSOLE_SCREEN_BUFFER_INFO screen_buffer_info;
    GetConsoleScreenBufferInfo(hConsoleOutput, &screen_buffer_info);

    WORD wAttributes = screen_buffer_info.wAttributes;
    color &= 0x000f;
    color <<= 4;
    wAttributes &= 0xff0f;
    wAttributes |= color;

    SetConsoleTextAttribute(hConsoleOutput, wAttributes);
}
void gotoxy(short x,short y)
{
    HANDLE hConsoleOutput;
    COORD Cursor_an_Pos = { x,y};
    hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleCursorPosition(hConsoleOutput , Cursor_an_Pos);
}
/****************************************************************************/

void checkbox(int n)
{
   system("cls");
   textbackground(15);
   for(int i=0;i<n;i++)
   {
      gotoxy((i+2)*4,10);cout<<"  ";   
   }
}

int *capphat(int n)
{
   int *a=new int[n];
   return a;
}

void input(int *&a,int &n)
{
   cout<<"Nhap vao so luong phan tu: ";cin>>n;
   a=capphat(n);    //cap phat bo nho cho con tro
   checkbox(n);
   textcolor(0);
   for(int i=0;i<n;i++)
   {
      gotoxy(((i+2)*4)+1,10);cin>>a[i];   
   }
}

void output(int *a,int n)
{
   for(int i=0;i<n;i++)
   {
      gotoxy((i+2)*4,10);cout<<" "<<a[i]<<" ";   
   }
}

void soft(int *a,int n)
{
   int temp;
   for(int i=0;i<n;i++)
   for(int j=i+1;j<n;j++)
   if(a[i]>a[j])
   {
      temp=a[i];
      a[i]=a[j];
      a[j]=temp;   
   }
}

void mophong(int i)
{
   gotoxy(((i+2)*4)+1,12);cout<<"^";
      Sleep(2000);
   gotoxy(((i+2)*4)+1,12);cout<<" ";
}

void search(int *a,int n)
{
   textbackground(0);
   textcolor(15);
   int l=0,m, flag = 0;
   int element;
   cout<<"\n\nNhap vao so muon tim: ";
   cin>>element;
   while(l <= n)
   {
      m = (l+n)/2;
      if( a[m] == element)
      {   
         mophong(m);
         textbackground(10);
         gotoxy((m+2)*4,10);cout<<" "<<a[m]<<" ";   
         flag =1;
         break;
      }
      else
         if(a[m] < element)
            l = m+1;
         else
            n = m-1;
      mophong(m);
   }
   if( flag == 0)
   {
      cout<<"\n"<<"So ban tim khong co trong mang"<<endl;   
   }
}

int main()
{
   int *a=NULL;
   int n;
   input(a,n);
   soft(a,n);
   output(a,n);
   search(a,n-1);
   delete[] a;  //giai phong bo nho da cap phat
   cout<<"\n\n";
}

9Thuật toán search,sort Empty Re: Thuật toán search,sort Thu May 30, 2013 6:46 pm

posts :
114
:
Points :
10236
:
avatar-dulieu :
57,11757|50,11908|49,10855|64,12636|51,11463|48,12290|58,12220|66,11458
:
Thanked :
12
:
Birthday :
10/02/1994
:
Age :
30
:
tvt-12cth1

Admin

Admin
https://laptrinhc.forumvi.com
Mô phỏng thuật toán sort

Code:

// Thuat toan sap xep thuong

#include <iostream.h>
#include <windows.h>  //thu vien do hoa
#include <stdio.h>    //system("cls");


/**********************************************************************************/

void textcolor(WORD color)
{
    HANDLE hConsoleOutput;
    hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);

    CONSOLE_SCREEN_BUFFER_INFO screen_buffer_info;
    GetConsoleScreenBufferInfo(hConsoleOutput, &screen_buffer_info);

    WORD wAttributes = screen_buffer_info.wAttributes;
    color &= 0x000f;
    wAttributes &= 0xfff0;
    wAttributes |= color;

    SetConsoleTextAttribute(hConsoleOutput, wAttributes);
}
void textbackground(WORD color)
{
    HANDLE hConsoleOutput;
    hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);

    CONSOLE_SCREEN_BUFFER_INFO screen_buffer_info;
    GetConsoleScreenBufferInfo(hConsoleOutput, &screen_buffer_info);

    WORD wAttributes = screen_buffer_info.wAttributes;
    color &= 0x000f;
    color <<= 4;
    wAttributes &= 0xff0f;
    wAttributes |= color;

    SetConsoleTextAttribute(hConsoleOutput, wAttributes);
}
void gotoxy(short x,short y)
{
    HANDLE hConsoleOutput;
    COORD Cursor_an_Pos = { x,y};
    hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleCursorPosition(hConsoleOutput , Cursor_an_Pos);
}
/****************************************************************************/

void checkbox(int n)
{
   system("cls");
   textbackground(15);
   for(int i=0;i<n;i++)
   {
      gotoxy((i+2)*4,10);cout<<"  ";   
   }
}

int *capphat(int n)
{
   int *a=new int[n];
   return a;
}

void input(int *&a,int &n)
{
   cout<<"Nhap vao so luong phan tu: ";cin>>n;
   a=capphat(n);    //cap phat bo nho cho con tro
   checkbox(n);
   textcolor(0);
   for(int i=0;i<n;i++)
   {
      gotoxy(((i+2)*4)+1,10);cin>>a[i];   
   }
}

void output(int *a,int n)
{
   textbackground(15);
   textcolor(0);
   for(int i=0;i<n;i++)
   {
      gotoxy((i+2)*4,10);cout<<" "<<a[i]<<" ";   
   }
   textbackground(0);
   textcolor(15);
}


void mophong(int i)
{
   gotoxy(((i+2)*4)+1,12);cout<<"^";
      Sleep(2000);
   gotoxy(((i+2)*4)+1,12);cout<<" ";
}

void swap(int &c,int &d,int *a,int n)
{
   int temp;
   temp=c;
   c=d;
   d=temp;
   output(a,n);
}


void soft(int *a,int n)
{
   textbackground(0);
   textcolor(15);
   for(int i=0;i<n;i++)
   {
      gotoxy(((i+2)*4)+1,12);cout<<"^";
      for(int j=i+1;j<n;j++)
      {
         if(a[i]>a[j])
         {
            gotoxy(((j+2)*4)-2,8);cout<<a[i]<<"<->"<<a[j];
            Sleep(1000);
            swap(a[i],a[j],a,n);
            Sleep(1000);
            gotoxy(((j+2)*4)-2,8);cout<<"    ";
         }
         mophong(j);
      }
      gotoxy(((i+2)*4)+1,12);cout<<" ";
   }
}

int main()
{
   int *a=NULL;
   int n;
   input(a,n);
   soft(a,n);
   delete[] a;  //giai phong bo nho da cap phat
   cout<<"\n\n";
}


Load

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang Thông điệp [Trang 1 trong tổng số 1 trang]

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


Loadding...
Tắt Load Ajax