###### tags: `C++ Lab` # Chapter 5(Arrays) 1. Print sorted array (dsec) ```#include <iostream> using namespace std; int main(){ int n,t,a[100],sum=0; cout<<"Input n: "; cin>>n; for(int i=0;i<n;i++) { cout<<"Input element #"<<i+1<<": "; cin>>a[i]; } //sort array(desc) for(int i=0;i<n;i++) { for(int j=i+1;j<n;j++) { if(a[j]>a[i]) { t=a[i]; a[i]=a[j]; a[j]=t; } } } // print sorted cout<<"Sorted: "<<endl; for(int i=0;i<n;i++) { cout<<a[i]<<" "; } cout<<endl; return 0; } ``` 2. Print sorted array (asc) and remove duplicates ```#include <iostream> using namespace std; int main(){ int n,t,a[100]; cout<<"Input n: "; cin>>n; for(int i=0;i<n;i++) { cout<<"Input element #"<<i+1<<": "; cin>>a[i]; } //sort array(asc) for(int i=0;i<n;i++) { for(int j=i+1;j<n;j++) { if(a[j]<a[i]) { t=a[i]; a[i]=a[j]; a[j]=t; } } } //remove duplicates for(int i=0;i<n;i++) { for(int j=i+1;j<n;j++) { if(a[i]==a[j]) { for(int k=j;k<n;k++) { a[k]=a[k+1]; } n--; j--; } } } cout<<"Sorted and Deleted Duplicates: "<<endl; for(int i=0;i<n;i++) cout<<a[i]<<" "; return 0; } ``` 3. Find largest,smallest and sum of elements in the array ```#include <iostream> using namespace std; int main(){ int n,t,a[100],sum=0; cout<<"Input n: "; cin>>n; for(int i=0;i<n;i++) { cout<<"Input element #"<<i+1<<": "; cin>>a[i]; } //sort array(asc) for(int i=0;i<n;i++) { for(int j=i+1;j<n;j++) { if(a[j]<a[i]) { t=a[i]; a[i]=a[j]; a[j]=t; } } } //sum array for(int i=0;i<n;i++) { sum+=a[i]; } cout<<"largest: "<<a[n-1]<<endl; cout<<"smallest: "<<a[0]<<endl; cout<<"sum: "<<sum<<endl; return 0; } ``` 4. Create increasing order array, insert a number into array(need to keep the order) ```#include <iostream> using namespace std; int main(){ int n,a[100]; cout<<"Input n: "; cin>>n; a[0]=0; for(int i=1;i<n;i++) { cout<<"Input element #"<<i<<": "; cin>>a[i]; if(a[i]<a[i-1]) { cout<<"The input is incorrect"<<endl; cout<<"Input element #"<<i<<": "; cin>>a[i]; } else { continue; } } cout<<"Array: "<<endl; for(int i=1;i<n;i++) { cout<<a[i]<<" "; } cout<<endl; int x; cout<<"Input x: "; cin>>x; int p=0; while(a[p]<x) p++; for(int i=n;i>=p;i--) { a[i]=a[i-1]; } n++; a[p]=x; cout<<"Sorted: "<<endl; for(int i=1;i<n;i++) cout<<a[i]<<" "; return 0; } ``` 5. Create 2-dimensional array. Input number to find(location, how many matches) ```#include <iostream> #include <string> using namespace std; int main(){ int n,m,i,j,k=0; cout<<"columns: "; cin>>m; cout<<"rows: "; cin>>n; string num[n][m]; //input 2-dimensional array for(i=0;i<n;i++) { for(j=0;j<m;j++) { cout<<"["<<i<<"]["<<j<<"]: "; cin>>num[i][j]; } } string x; cout<<"Enter another integer: "; cin>>x; for(i=0;i<n;i++) { for(j=0;j<m;j++) { if(num[i][j]==x) { cout<<"location is: "<<"["<<i<<"]["<<j<<"]"<<endl; k++; } } } cout<<"The value of "<<x<<" appeared "<<k<<" time(s)."<<endl; return 0; } ``` 6. convert the position (row>col, col>row) ```#include <iostream> #include <string> using namespace std; int main(){ int i,j; string num[4][4],trans[4][4]; //input 2-dimensional array for(i=0;i<4;i++) { for(j=0;j<4;j++) { cout<<"["<<i<<"]["<<j<<"]: "; cin>>num[i][j]; } } //transposition for (i=0;i<4;i++) { for (j=0;j<4;j++) { trans[j][i] = num[i][j]; } } //output original 2-dimensional array cout<<"original:"<<endl; for(i=0;i<4;i++) { for(j=0;j<4;j++) { cout<<" "<<num[i][j]; } cout<<endl; } //output changed 2-dimensional array cout<<"transposition:"<<endl; for(i=0;i<4;i++) { for(j=0;j<4;j++) { cout<<" "<<trans[i][j]; } cout<<endl; } return 0; } ``` 7. Find odd, even, prime and non-prime numbers in arrays ```#include <iostream> using namespace std; int main(){ int i=0,k=0,n,j; cout<<"How many numbers you want to input: "; cin>>n; int arr[n]; for(j=0;j<n;j++) { cin>>arr[j]; } cout<<"Lists of odd numbers: "; for(j=0;j<n;j++) { if((arr[j]%2)!=0) { cout<<arr[j]<<" "; i++; } } cout<<"Total: "<<i<<endl; cout<<"Lists of even numbers: "; for(j=0;j<n;j++) { if((arr[j]%2)==0) { cout<<arr[j]<<" "; k++; } } cout<<"Total: "<<k<<endl; cout<<"Lists of prime numbers: "; for(j=0;j<n;j++) { int flag=0; int end=arr[j]/2; for(int i=2;i<=end;i++) { if(arr[j]%i==0) { flag=1; break; } } if(flag==1||arr[j]==1) { continue; } else { cout<<arr[j]<<" "; } } cout<<endl; cout<<"Lists of not prime numbers: "; for(j=0;j<n;j++) { int flag=0; int end=arr[j]/2; for(int i=2;i<=end;i++) { if(arr[j]%i==0||arr[j]==1) { flag=1; break; } } if(flag==1||arr[j]==1) { cout<<arr[j]<<" "; } else { continue; } } cout<<endl; return 0; } ``` 8. Calculate the sum of squares of negative numbers in arrays ```#include <iostream> using namespace std; int main(){ int n,sum=0; cout<<"How many numbers you want to input: "; cin>>n; int arr[n]; for(int j=0;j<n;j++) { cin>>arr[j]; if(arr[j]<0) { sum+=arr[j]*arr[j]; } } cout<<"The sum of squares of negative numbers: "<<sum<<endl; return 0; } ``` 9. reverse 1-dimensional array ```#include <iostream> #include <string> using namespace std; int main(){ int i,n,j; cout<<"How many numbers you want to input: "; cin>>n; string num[n],num1[n]; for(i=0;i<n;i++) { cin>>num[i]; } cout<<"reverse: "<<endl; for(int i=n-1; i>=0; i--) num1[j++]=num[i]; for(int i=0;i<n;i++) cout<<num1[i]<<" "; return 0; } ``` 10. Calculate the sum of 2 matrix ``` example: 3 8 + 4 0 = 7 8 4 6 1 -9 5 -3 ``` ```#include <iostream> using namespace std; int main(){ int n,m,i,j; cout<<"rows: "; cin>>n; cout<<"columns: "; cin>>m; int a[n][m],b[n][m],sum[n][m]; cout<<"Matrix A: "<<endl; for(i=0;i<n;i++) { for(j=0;j<m;j++) { cout<<"["<<i<<"]["<<j<<"]: "; cin>>a[i][j]; } } cout<<"Matrix B: "<<endl; for(i=0;i<n;i++) { for(j=0;j<m;j++) { cout<<"["<<i<<"]["<<j<<"]: "; cin>>b[i][j]; } } for(i=0;i<n;i++) { for(j=0;j<m;j++) { sum[i][j]=a[i][j]+b[i][j]; } } cout<<"Sum:"<<endl; for(i=0;i<n;i++) { for(j=0;j<m;j++) { cout<<" "<<sum[i][j]; } cout<<endl; } return 0; } ``` 11. The product of 2 matrix ``` example: 3 4 2 * 13 9 7 15 = 83 63 37 75 8 7 4 6 6 4 0 3 ``` ```#include <iostream> using namespace std; int main(){ int x,n; cout<<"Matrix A length: "; cin>>x; cout<<"Matrix B column: "; cin>>n; int a[x],b[x][n],mul[n]; cout<<"Matrix A: "<<endl; for(int i=0;i<x;i++) { cout<<"["<<i<<"]: "; cin>>a[i]; } cout<<"Matrix B: "<<endl; for(int i=0;i<x;i++) { for(int j=0;j<n;j++) { cout<<"["<<i<<"]["<<j<<"]: "; cin>>b[i][j]; } } for(int i=0;i<n;i++) { mul[i]=0; } int p=0; for(int j=0;j<n;j++){ for(int k=0;k<x;k++){ mul[j]+=a[p]*b[k][j]; p++; } p=0; } cout<<"Ans: "<<endl; for(int i=0;i<n;i++) { cout<<mul[i]<<" "; } return 0; } ``` 12. merge 2 ordered arrays(not using merged and then sorted) ```#include <iostream> using namespace std; int main(){ int x,n; cout<<"Matrix A length: "; cin>>x; cout<<"Matrix B column: "; cin>>n; int a[x],b[x][n],mul[n]; cout<<"Matrix A: "<<endl; for(int i=0;i<x;i++) { cout<<"["<<i<<"]: "; cin>>a[i]; } cout<<"Matrix B: "<<endl; for(int i=0;i<x;i++) { for(int j=0;j<n;j++) { cout<<"["<<i<<"]["<<j<<"]: "; cin>>b[i][j]; } } for(int i=0;i<n;i++) { mul[i]=0; } int p=0; for(int j=0;j<n;j++){ for(int k=0;k<x;k++){ mul[j]+=a[p]*b[k][j]; p++; } p=0; } cout<<"Ans: "<<endl; for(int i=0;i<n;i++) { cout<<mul[i]<<" "; } return 0; } ```