Lap trinh c++ có lời giải 3
-
Upload
minh-ngoc-tran -
Category
Internet
-
view
863 -
download
9
description
Transcript of Lap trinh c++ có lời giải 3
![Page 1: Lap trinh c++ có lời giải 3](https://reader033.fdocument.pub/reader033/viewer/2022061204/547eb2a2b4af9fea158b5643/html5/thumbnails/1.jpg)
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]; }
}
![Page 2: Lap trinh c++ có lời giải 3](https://reader033.fdocument.pub/reader033/viewer/2022061204/547eb2a2b4af9fea158b5643/html5/thumbnails/2.jpg)
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){
![Page 3: Lap trinh c++ có lời giải 3](https://reader033.fdocument.pub/reader033/viewer/2022061204/547eb2a2b4af9fea158b5643/html5/thumbnails/3.jpg)
cout<<"nhap so "<<endl;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>
![Page 4: Lap trinh c++ có lời giải 3](https://reader033.fdocument.pub/reader033/viewer/2022061204/547eb2a2b4af9fea158b5643/html5/thumbnails/4.jpg)
#include <stdlib.h>#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; }
![Page 5: Lap trinh c++ có lời giải 3](https://reader033.fdocument.pub/reader033/viewer/2022061204/547eb2a2b4af9fea158b5643/html5/thumbnails/5.jpg)
}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);
![Page 6: Lap trinh c++ có lời giải 3](https://reader033.fdocument.pub/reader033/viewer/2022061204/547eb2a2b4af9fea158b5643/html5/thumbnails/6.jpg)
int main(int argc, char *argv[]){int M[100],n;nhapso(M,n);xuatso(M,n);return 0;
}void nhapso(int M[100], int n){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) mang[0]=so;
} while(so>=100-n); else do { so=(rand()%1000)-499; if(so>=mang[i-1]) mang[i]=so;
}
![Page 7: Lap trinh c++ có lời giải 3](https://reader033.fdocument.pub/reader033/viewer/2022061204/547eb2a2b4af9fea158b5643/html5/thumbnails/7.jpg)
while(so<mang[i-1]); }
}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);
![Page 8: Lap trinh c++ có lời giải 3](https://reader033.fdocument.pub/reader033/viewer/2022061204/547eb2a2b4af9fea158b5643/html5/thumbnails/8.jpg)
int main(int argc, char *argv[]){
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 {
![Page 9: Lap trinh c++ có lời giải 3](https://reader033.fdocument.pub/reader033/viewer/2022061204/547eb2a2b4af9fea158b5643/html5/thumbnails/9.jpg)
so=(rand()%1000)-499; if(so>=M[i-1]) M[i]=so;
} while(so<M[i-1]); }
}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; }
}
67.Viết chương trình nhập mảng các số nguyên và xuất các phần tử lẻ có trong mảng.
![Page 10: Lap trinh c++ có lời giải 3](https://reader033.fdocument.pub/reader033/viewer/2022061204/547eb2a2b4af9fea158b5643/html5/thumbnails/10.jpg)
#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]; }
![Page 11: Lap trinh c++ có lời giải 3](https://reader033.fdocument.pub/reader033/viewer/2022061204/547eb2a2b4af9fea158b5643/html5/thumbnails/11.jpg)
} 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);
![Page 12: Lap trinh c++ có lời giải 3](https://reader033.fdocument.pub/reader033/viewer/2022061204/547eb2a2b4af9fea158b5643/html5/thumbnails/12.jpg)
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){
![Page 13: Lap trinh c++ có lời giải 3](https://reader033.fdocument.pub/reader033/viewer/2022061204/547eb2a2b4af9fea158b5643/html5/thumbnails/13.jpg)
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; }
![Page 14: Lap trinh c++ có lời giải 3](https://reader033.fdocument.pub/reader033/viewer/2022061204/547eb2a2b4af9fea158b5643/html5/thumbnails/14.jpg)
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];
![Page 15: Lap trinh c++ có lời giải 3](https://reader033.fdocument.pub/reader033/viewer/2022061204/547eb2a2b4af9fea158b5643/html5/thumbnails/15.jpg)
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++){
![Page 16: Lap trinh c++ có lời giải 3](https://reader033.fdocument.pub/reader033/viewer/2022061204/547eb2a2b4af9fea158b5643/html5/thumbnails/16.jpg)
dem=0; for(int t=1;t<=mang[i];t++)
if(mang[i]%t==0)dem++;if(dem==2)
cout<<"a["<<i+1<<"]="<<mang[i]<<", ";}cout<<endl;
}
70. 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ố chính phương nằm tại những vị trí lẻ trong mảng.
#include <iostream.h>
![Page 17: Lap trinh c++ có lời giải 3](https://reader033.fdocument.pub/reader033/viewer/2022061204/547eb2a2b4af9fea158b5643/html5/thumbnails/17.jpg)
void nhapmang(int mang[],int &n);void SCP(int mang[],int &n);int main(int argc, char *argv[]){
int mang[100];int n;nhapmang(mang,n);SCP(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 a["<<i<<"]="; cin>>mang[i]; }
}void SCP(int mang[],int &n)
![Page 18: Lap trinh c++ có lời giải 3](https://reader033.fdocument.pub/reader033/viewer/2022061204/547eb2a2b4af9fea158b5643/html5/thumbnails/18.jpg)
{int i,j;for( i=0;i<n;i++){
if(i%2==1){
j=1;while (j*j<mang[i])j++;if(j*j==mang[i]) cout<<"a["<<i<<"]="<<mang[i]<<", ";
}}cout<<endl;
}
![Page 19: Lap trinh c++ có lời giải 3](https://reader033.fdocument.pub/reader033/viewer/2022061204/547eb2a2b4af9fea158b5643/html5/thumbnails/19.jpg)
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;
elsecout<<"Khong tim thay "<<x<<" trong mang:";
cout<<endl;return 0;
![Page 20: Lap trinh c++ có lời giải 3](https://reader033.fdocument.pub/reader033/viewer/2022061204/547eb2a2b4af9fea158b5643/html5/thumbnails/20.jpg)
}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;
}
![Page 21: Lap trinh c++ có lời giải 3](https://reader033.fdocument.pub/reader033/viewer/2022061204/547eb2a2b4af9fea158b5643/html5/thumbnails/21.jpg)
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){
![Page 22: Lap trinh c++ có lời giải 3](https://reader033.fdocument.pub/reader033/viewer/2022061204/547eb2a2b4af9fea158b5643/html5/thumbnails/22.jpg)
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";
}
![Page 23: Lap trinh c++ có lời giải 3](https://reader033.fdocument.pub/reader033/viewer/2022061204/547eb2a2b4af9fea158b5643/html5/thumbnails/23.jpg)
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){
![Page 24: Lap trinh c++ có lời giải 3](https://reader033.fdocument.pub/reader033/viewer/2022061204/547eb2a2b4af9fea158b5643/html5/thumbnails/24.jpg)
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<<" ";}
![Page 25: Lap trinh c++ có lời giải 3](https://reader033.fdocument.pub/reader033/viewer/2022061204/547eb2a2b4af9fea158b5643/html5/thumbnails/25.jpg)