1. 1.2) Kiểu dữ liệu mảng
1.2.1) Nhập – xuất mảng
62. Viết chương trình nhập xuất mảng một chiều các số thực.
#include <iostream.h>
void nhapso(int M[100], int &n );
int main(int argc, char *argv[])
{
int M[100],n;
nhapso(M,n);
return 0;
}
void nhapso(int M[100], int &n)
{
cout<<"nhap so"<<endl;
cin>>n;
for(int i=0; i<=n; i++)
{
cout<<"mang so la: ["<<i+1<<"]= ";
cin>>M[i];
}
}
2. 63. Viết chương trình khởi tạo giá trị các phần tử là 0 cho mảng một
chiều các số nguyên gồm n phần tử.
#include <iostream.h>
void nhapso(int M[5], int &n);
void xuatso(int M[5], int n);
int main(int argc, char *argv[])
{
int M[5],n;
nhapso(M,n);
xuatso(M,n);
return 0;
}
void nhapso(int M[5], int &n)
{
cout<<"nhap so "<<endl;
3. cin>>n;
for(int i=0; i<=n; i++)
{
cout<<"phan tu mang ["<<i+1<<"] = ";
cin>>M[i];
}
}
Void xuatso(int M[5], int n)
{
for(int i=0; i<=n; i++)
Cout<<”a[”<<i+1<<”]= ”<<0<<endl;
}
64. Viết chương trình phát sinh ngẫu nhiên mảng một chiều các số
nguyên âm.
#include <iostream.h>
#include <stdlib.h>
4. #include <conio.h>
#include <time.h>
void nhapso(int M[5], int &n);
void xuatso(int M[5], int n);
int main(int argc, char *argv[])
{
int M[5],n;
nhapso(M,n);
xuatso(M,n);
return 0;
}
void nhapso(int M[5], int &n)
{
int kt,so;
cout<<"nhap gia tri phan tu mang "<<endl;
cin>>n;
srand(time(NULL));
for(int i=0; i<n; i++)
{
do
{
kt=1;
so=(rand()%50)-100;
for(int j= i-1; j>=0; j--)
{
if(so==M[j])
kt=0;
}
}
5. while(kt==0);
M[i]=so;
}
}
void xuatso(int M[5], int n)
{
for(int i=0; i<n; i++)
{
cout<<"a["<<i+1<<"]= "<<M[i]<<endl;
}
}
65. Viết chương trình phát sinh ngẫu nhiên mảng một chiều các số
nguyên sao cho mảng có thứ tự tăng dần (Không sắp xếp).
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <time.h>
void nhapso(int M[100], int &n);
void xuatso(int M[100], int n);
int main(int argc, char *argv[])
7. }
}
void xuatso(int M[100], int n)
{
cout<<"gia tri phan tu mang"<<endl;
for(int i=0; i<n; i++)
{
cout<<"a["<<i+1<<"]= "<<M[i]<<endl;
}
}
66. Viết chương trình nhập mảng các số thực và xuất các phần tử
âm trong mảng.
#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>
void nhapso(int M[100], int &n);
void xuatso(int M[100], int n);
int main(int argc, char *argv[])
8. {
int M[100],n;
nhapso(M,n);
xuatso(M,n);
return 0;
}
void nhapso(int M[100], int &n)
{
int so;
cout<<"nhap mang "<<endl;
cin>>n;
srand(time(NULL));
for(int i=0; i<n; i++)
{
if(i==0)
do
{
so=((rand()%1000)-499);
if(so<100-n)
M[0]=so;
}
while(so>=100-n);
else
do
{
so=(rand()%1000)-499;
10. #include <iostream.h>
void nhapmang(int mang[],int &n);
void ptL(int mang[],int n);
int main(int argc, char *argv[])
{
int mang[100];
int n;
nhapmang(mang,n);
ptL(mang,n);
return 0;
}
void nhapmang(int mang[],int &n)
{
cout<<"nhap so phan tu: ";
cin>>n;
int i;
for( i=0;i<n;i++)
{
cout<<"nhap gia tri phan tu ["<<i+1<<"]:";
cin>>mang[i];
}
11. }
void ptL(int mang[],int n)
{
int i;
cout<<"phan tu le co trong mang la"<<endl;
for( i=0;i<n;i++)
{
if(i%2==0)
cout<<"a["<<i+1<<"]="<<mang[i]<<", ";
}
cout<<endl;
}
68. Viết chương trình nhập vào mảng một chiều các số nguyên và xuất ra
phần tử chẵn nhỏ hơn 20.
#include <iostream.h>
void nhapmang(int mang[],int &n);
12. int phantuchan(int mang[],int n);
int main(int argc, char *argv[])
{
int mang[100];
int n;
nhapmang(mang,n);
phantuchan(mang,n);
return 0;
}
void nhapmang(int mang[],int &n)
{
cout<<"nhap so phan tu: ";
cin>>n;
int i;
for( i=0;i<n;i++)
{
cout<<"nhap gia tri phan tu ["<<i+1<<"]:";
cin>>mang[i];
}
}
int phantuchan(int mang[],int n)
{
13. int i;
cout<<"phan tu chan co trong mang be hon 20 la";
for( i=0;i<n;i++)
{
if(mang[i]%2==0 && mang[i]<20)
cout<<"a["<<i+1<<"]="<<mang[i]<<" ";
}cout<<endl;
}
14. 69. Vi t ch ng trình nh p vào m ng m t chi u các sế ươ ậ ả ộ ề ố nguyên và
xu t ra màn hình các ph n t là s nguyên t .ấ ầ ử ố ố
#include <iostream.h>
void nhapmang(int mang[],int &n);
void SNT(int mang[],int &n);
int main(int argc, char *argv[])
{
int mang[100];
15. int n;
nhapmang(mang,n);
SNT(mang,n);
return 0;
}
void nhapmang(int mang[],int &n)
{
cout<<"nhap so phan tu: ";
cin>>n;
int i;
for( i=0;i<n;i++)
{
cout<<"nhap gia tri phan tu ["<<i+1<<"]:";
cin>>mang[i];
}
}
void SNT(int mang[],int &n)
{
int i,dem;
for( i=0;i<n;i++)
{
19. 1.2.2) Tìm kiếm
71. Viết phương thức tìm vịtrí phần tửcó giá trịx xuất hiện cuối cùng
trong mảng.
#include <iostream.h>
void nhapmang(int mang[],int &n);
int tim(int mang[],int n,int x);
int main(int argc, char *argv[])
{
int mang[100];
int n,x,i;
nhapmang(mang,n);
cout<<"nhap x=";
cin>>x;
i=tim(mang,n,x);
if (i>0)
cout<<"vi tri xuat hien cua so "<<x <<
" sau cung la vi tri: "<<i;
else
cout<<"Khong tim thay "<<x<<" trong mang:";
cout<<endl;
return 0;
20. }
void nhapmang(int mang[],int &n)
{
cout<<"nhap so phan tu: ";
cin>>n;
int i;
for( i=0;i<n;i++)
{
cout<<"nhap gia tri phan tu ["<<i+1<<"]:";
cin>>mang[i];
}
}
int tim(int mang[],int n,int x)
{
int i;
for( i=n-1;i>=0;i--)
{
if(mang[i]==x) return i;
}
return 0;
cout<<endl;
}
21. 72. Viết phương thức tìm vịtrí của phần tửnhỏnhất trong mảng các số
nguyên.
#include <iostream.h>
void nhapmang(int mang[],int &n);
void timM(int mang[],int &n);
int main(int argc, char *argv[])
{
int mang[100];
int n;
nhapmang(mang,n);
timM(mang,n);
return 0;
}
void nhapmang(int mang[],int &n)
{
22. cout<<"nhap so phan tu: ";
cin>>n;
int i;
for( i=0;i<n;i++)
{
cout<<"nhap gia tri phan tu ["<<i+1<<"]:";
cin>>mang[i];
}
}
void timM(int mang[],int &n)
{
int i,min=mang[0];
for(i=0;i<n;i++)
if(min>mang[i])
min=mang[i];
cout<<"gia tri nho nhat trong mang la:"<<min<<"n";
}
23. 73. Viết phương thức tìm vị trí của phần tử lớn nhất trong mảng các số
nguyên.
#include <iostream.h>
void nhapmang(int mang[],int &n);
void timkiem(int mang[],int n);
int main(int argc, char *argv[])
{
int mang[100];
int n;
nhapmang(mang,n);
timkiem(mang,n);
return 0;
}
void nhapmang(int mang[],int &n)
{
24. cout<<"nhap so phan tu: ";
cin>>n;
int i;
for( i=0;i<n;i++)
{
cout<<"nhap gia tri phan tu ["<<i+1<<"]:";
cin>>mang[i];
}
}
void timkiem(int mang[],int n)
{
int i,max=mang[0];
for( i=1;i<n;i++)
if(max<mang[i])
max=mang[i];
cout<<"gia tri lon nhat trong mang la "<<max<<" ";
}