1. Trang chủ
  2. » Thể loại khác

Tài liệu bài tập về mảng pdf

10 1,3K 24
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tài liệu bài tập về mảng pdf
Định dạng
Số trang 10
Dung lượng 22,03 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

#include #include #include const MAX = 100; struct MANG { int data[MAX]; int n; }; void KhoitaoMANG &; int Is_EmptyMANG &; void NhapMANG &; void XuatMANG; int Tong_DuongMANG; int To

Trang 1

#include <iostream.h>

#include <conio.h>

#include <stdlib.h>

const MAX = 100;

struct MANG

{

int data[MAX];

int n;

};

void Khoitao(MANG &);

int Is_Empty(MANG &);

void Nhap(MANG &);

void Xuat(MANG);

int Tong_Duong(MANG);

int Tong_Am(MANG);

int Dem_Duong(MANG);

int Dem_Am(MANG);

float TBC_Am(MANG);

float TBC_Duong(MANG);

void TBC(MANG);

int Is_SNT(int);

void SNT(MANG);

void swap(int &,int &);

int KT_Chan(int);

int Sosanh(int,int);

void SapXepChan(MANG &);

void SapXepTang(MANG &);

void ChenX(MANG &);

int Search(MANG, int, int);

void Delete_Trung(MANG &);

int Is_DoiXung(MANG );

void menu();

{

menu();

}

void Khoitao(MANG & )

Trang 2

{

A n 0;

}

int Is_Full(MANG A)

{

if(A n == MAX)

return 1;

return 0;

}

int Is_Empty(MANG & )

{

if(0 == A n)

return 1;

return 0;

}

void Nhap(MANG & )

{

cout<<"\nNhap So Phan Tu: ";

cin>>A n;

if(A n > MAX)

{

A n = MAX;

cout<<"\nBan Chi Duoc Nhap "<<MAX<<" Phan Tu"; }

for(int i = 0 i < A n; i++)

{

cout<<"\nNhap Phan Tu Thu "<<i + 1<<": "; cin>>A data[ ];

}

}

void Xuat(MANG A)

{

cout<<"\nDu Lieu Trong Mang: ";

for(int i = 0 i < A n; i++)

cout<<A data[ ]<<" ";

}

int Sign(int n)//Kiem Tra 1 So La Am Hay Duong

{

if(n > 0)

return 1;

if(n < 0)

return -1;

return 0;

}

int Tong_Duong(MANG A)

{

Trang 3

int tong= ;

for(int i= ; < ; ++)

{

if(Sign( data[ ]) == 1)

tong+=A data[ ];

}

return tong;

}

int Tong_Am(MANG A)

{

int tong= ;

for(int i= ; < ; ++)

{

if(Sign( data[ ]) == -1)

tong+=A data[ ];

}

return tong;

}

int Dem_Duong(MANG A)

{

int dem= ;

for(int i= ; < ; ++)

{

if(Sign( data[ ]) == 1)

dem++;

}

return dem;

}

int Dem_Am(MANG A)

{

int dem= ;

for(int i= ; < ; ++)

{

if(Sign( data[ ]) == -1)

dem++;

}

return dem;

}

float TBC_Am(MANG A)

{

float TBC= ;

if(Dem_Am( )!=0)

TBC=float(Tong_Am( ))/Dem_Am( ); else

TBC= ;

return TBC;

}

Trang 4

float TBC_Duong(MANG A)

{

float TBC= ;

if(Dem_Duong( )!=0)

TBC=float(Tong_Duong( ))/Dem_Duong( );

else

TBC= ;

return TBC;

}

void TBC(MANG A)

{

if(TBC_Duong( )==0)

cout<<"\nTrong Mang Khong Co So Duong";

else

cout<<"\nTrung Binh Cong Cac So Duong La: "<<TBC_Duong( ); if(TBC_Am( )==0)

cout<<"\nTrong Mang Khong Co So Am";

else

cout<<"\nTrung Binh Cong Cac So Am La: "<<TBC_Am( );

}

int ChiaHet(int n, int i)

{

if(n i == 0)

return 1;

return 0;

}

//Ham kiem tra 1 so co phai la SNT

int Is_SNT(int n)

{

if(n 2)

return 0;

for(int i = 2 i < n; i++)

if(ChiaHet( , ) == 1)

return 0;

return 1;

}

//Ham xuat ra cac SNT trong MANG

void SNT(MANG A)

{

cout<<"\nCac SNT: ";

for(int i= ; < ; ++)

{

if(Is_SNT( data[ ]) == 1)

cout<<A data[ ]<<" ";

}

}

Trang 5

//Ham hoan vi 2 so a va b

void swap(int & ,int & )

{

int t;

t = a;

a = b;

b = t;

}

//Ham kiem tra 1 so co la so chan

int Is_Chan(int x)

{

if(x 2 == 0)

return 1;

return 0;

}

int Sosanh(int a,int b)

{

if(a b)

return 1;

if(a==b)

return 0;

return -1;

}

void SapXepChan(MANG & )

{

for(int i= ; < - ; ++)

{

if(Is_Chan( data[ ]) == 1)

{

for(int j= + ; < ; ++)

{

if(Is_Chan( data[ ]) == 1)

{

if(Sosanh( data[ ],A data[ ]) == 1) {

swap( data[ ],A data[ ]);

}

}

}

}

}

}

void Selection_Sort(MANG & )

{

int i, ,pos;

int min;

for(i 0 i A n 1 i++)

{

Trang 6

min = A data[ ];

pos = i;

for(j = i + 1; j < A n; j++)

{

if(Sosanh(min, data[ ]) == 1) {

min = A data[ ];

pos = j;

}

}

swap( data[ ],A data[pos]);

}

}

//Ham Nay Cua Ham Xoa

int Search_Pos_x(MANG & , int x)

{

for(int i = 0; i < A n; i++)

{

if(Sosanh( data[ ],x) == 0)

{

return i;

}

}

return A n;

}

//Ham Nay Cua Ham Chen

int ISearch_Pos_x(MANG & , int x)

{

for(int i = 0; i < A n; i++)

{

if(Sosanh( data[ ],x) == 1)

{

return i;

}

}

return A n;

}

//Chen 1 So x vao Mang A o Vi Tri k

void Insert_Pos_k(MANG & , int x, int k) {

if(k < 0 || k > A n)

return;

if(Sosanh( , ) == 0)

{

A n++;

A data[ n - 1] = x;

}

else

{

Trang 7

A n++;

for(int i = A n - 1; i > k; i )

A data[ ] = A data[i - 1];

A data[ ] = x;

}

}

//Ham Chen x Vao Mang A, van Dam Bao Thu Tu void ChenX(MANG & , int x)

{

if(Is_Full( ) == 1)

{

cout<<"\nMang Da Day, Khong Chen Duoc"; return;

}

int k = ISearch_Pos_x( , );

Insert_Pos_k( , , );

}

//Ham Dem x Trong Mang

int Count_x(MANG A, int x)

{

int count = 0;

for(int i = 0; i < A n; i++)

{

if(Sosanh( data[ ],x) == 0)

count++;

}

return count;

}

//Ham Search x Trong Mang, tim thay return ve 1 int Search_x(MANG A, int x)

{

for(int i = 0; i < A n; i++)

{

if(Sosanh( data[ ],x) == 0)

return 1;

}

return 0;

}

//Ham Xoa 1 So X Trong Mang A Tai Vi Tri k void Xoa_Pos_x(MANG & , int x, int k)

{

//Neu Ko Co x Trong Day

if(Search_x( , ) == 0)

{

cout<<"\nKhong Co "<<x<<" Trong Mang"; return;

}

//Neu x Nam Cuoi Cung

Trang 8

if(k == A n - 1)

{

A n ;

return;

}

//Dich Cac Phan Tu De Xoa x

for(int i = k; i < A n - 1; i++)

A data[ ] = A data[i + 1];

A n ;

}

//Xoa Het Cac So Trung Voi x Trong Mang A

void Xoa_Trung_x(MANG & , int x)

{

while(Count_x( , ) > 1)

{

int k = Search_Pos_x( , );

Xoa_Pos_x( , , );

}

}

//Xoa Het Cac So Trung Nhau Trong Mang A

void Xoa_Trung_Mang(MANG & )

{

for(int i = 0; i < A n - 1; i++)

{

Xoa_Trung_x( , data[ ]);

}

}

int Is_DoiXung(MANG A)

{

int flag= ;

int i= , = - ;

while(i j && i!=j)

{

if(Sosanh( data[ ],A data[ ])!=0)

{

flag= ;

return flag;

}

i++;j ;

}

return flag;

}

void DeBai()

{

cout<<" -";

cout<<"\n| BAI TAP VAN DAP CO SO LAP TRINH - BAI TAP 2 |"; cout<<"\n -\n\n";

Trang 9

}

void menu()

{

MANG A;

Khoitao( );

int x;

char chon;

do

{

clrscr();

DeBai();

cout<<"\nBAI TAP VAN DAP CO SO LAP TRINH - BAI SO 2";

cout<<"\n0 THOAT";

cout<<"\n1 Nhap Mang";

cout<<"\n2 Xuat Mang";

cout<<"\n3 Trung Binh Cong Cac So Am/So Duong";

cout<<"\n4 Cac So Nguyen To Trong Mang";

cout<<"\n5 Sap Xep Cac So Chan Tang Dan";

cout<<"\n6 Chen 1 So Vao Day Da Tang Va Van Giu Nguyen Tinh Chat Tang"; cout<<"\n7 Xoa Cac Phan Tu Trung Nhau";

cout<<"\n8 Kiem Tra Tinh Doi Xung Cua Day";

cout<<"\nCHON: ";

chon = getch();

switch(chon)

{

case '0':

return;

case '1':

Nhap( );

break;

case '2':

Xuat( );

getch();

break;

case '3':

TBC( );

getch();

break;

case '4':

SNT( );

getch();

break;

case '5':

SapXepChan( );

cout<<"\nCac So Chan Da Duoc Sap Xep Tang Dan";

Xuat( );

getch();

break;

case '6':

Selection_Sort( );

cout<<"\nNhap So Can Chen Vao: ";

Trang 10

cin>>x;

ChenX( , );

cout<<"\nMang Van Dam Bao Thu Tu: "; Xuat( );

getch();

break;

case '7':

Xoa_Trung_Mang( );

cout<<"\nDa Xoa Cac Phan Tu Trung Nhau"; Xuat( );

getch();

break;

case '8':

if(Is_DoiXung( ))

cout<<"\nDay Doi Xung";

else

cout<<"\nDay Khong Doi Xung";

getch();

break;

default:

cout<<"\nKhong Co Phim Chuc Nang Nay"; getch();

break;

}

}while(chon);

}

Ngày đăng: 23/12/2013, 14:15

TỪ KHÓA LIÊN QUAN

w