дана полная программа-помогите ввод и вывод двумерного массива записать отдельно в функции и ввод и вывод строки тоже записать как отдельные функции... Код | #include <vcl.h> #include <conio.h> #include <iostream.h> #include <stdlib.h> #include <stdio.h> #include <string.h> #include <iomanip.h>
void create(int a[], int &n); void print(int a[], int n); int fibonachi(int n, int a[]); void sozdat_matrix(int m[100][100], int &n, int &k); void sort_matrix(int m[100][100],int n, int k); stroka();
//------------------------------------------- void main() { int a[100], m[100][100]; int n,k; create(a,n); print(a,n); fibonachi (n,a); sozdat_matrix(m,n,k); sort_matrix(m,n,k); stroka(); getch(); } //---------------------------------------------- void create(int a[],int &n) { srand(time(NULL)); cout<<"n="; cin>>n; for (int i=0; i<n; i++) a[i]=rand()%100; } //================================================ void print(int a[],int n) { cout<<"Massiv:"; for(int i=0; i<n; i++) cout<<setw(4)<<a[i]; cout<<"\n"; } //=============================================== int fibonachi (int n, int a[]) { int q[100]; int max, g, b, i, j, c, k=0;
max=a[0]; for (i=1; i<n; i++) if (max<a[i]) max=a[i]; cout <<"max="<<max;
g=0; b=1; q[0]=1; for (i=1; b<=max-g; i++) { c=g+b; g=b; b=c; q[i]=b; k++; }
printf("\nFibonachi: "); for (j=0; j<=k; j++) cout<<setw(4)<<q[j]<<" ";
cout<<"\nDelete Fibonachi: "; for (i=0; i<=k; i++) for (j=0; j<n; j++) if (q[i]==a[j]) { for (b=j; b<=n-1; b++) a[b]=a[b+1]; n=n-1; j--; }
if (b<n-1) for (i=0; i<b-1; i++) cout<<a[i]<<" "; else for(int i=0; i<n; i++) cout<<setw(4)<<a[i]<<" "; cout <<"\n"; }
//============Создание двумерного массива и вывод на консоль============// void sozdat_matrix(int m[100][100], int &n, int &k) { printf("\nSize matrix:\n"); srand(time(NULL)); cout<<"n="; cin>>n; cout<<"k="; cin>>k; printf("\nMatrix:\n"); for(int i=0;i<n;i++) { for (int j=0;j<k;j++) { m[i][j]=(rand()%100); cout<<setw(4)<<m[i][j]; } printf("\n"); } }
void sort_matrix(int m[100][100],int n, int k) { int i, j, z, p; cout<<"\n\Sort matrix:\n"; for( z=0;z<n;z++) { for( i=0;i<(n-1);i++) { for( j=0;j<k;j++) { if (m[i][j]<m[i+1][j]) //i+1, двигаемся по вертикали { p=m[i+1][j]; // m[i+1][j]=m[i][j]; // SWAP (меняем местами) m[i][j]=p; } } } } for( i=0; i<n; i++) { for( j=0; j<k; j++) cout<<setw(4)<<m[i][j]; cout<<"\n"; } }
stroka() { char str[255], s[255]; cout<<"Input stroku:\n"; gets (str); char *stroka = new char [20]; gets(stroka); OemToChar(stroka, s); cout<<"\n";
char s1[255]="aAeEiIoOuU", s2[255]=""; bool f; int i,j,k,b,n=0,h=0; i=0; while (i<strlen(s)) { f=true; for (j=0; j<strlen(s1); j++) if (s[i]==s1[j]) f=false; if (f==false) if (i==0||s[i-1]==' ') while (s[i]!=' ') i++; if (f) {s2[h]=s[i]; h++;} else if (s[i-1]!=' ') {s2[h]=s[i]; h++;}; i++; } cout<<"\Otvet:\n"; cout<<s2; }
|
|