Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <iomanip>
- #include <locale.h>
- #include <stdlib.h>
- #include <ctime>
- using namespace std;
- void viv(int *a, int n)
- {
- for(int i=0;i<n;i++)
- cout<<a[i]<<" ";
- }
- bool kratnost(int p, bool b,int K )
- { int q;
- if(p!=0 && b==1)
- {
- q=p%10;
- if(q%K==0)
- {
- b=1;
- p=p/10;
- kratnost(p,b,K);
- }
- else
- return 0;
- }
- else
- return b;
- }
- void sort(int *D, int n)
- {
- int k,max,i,j;
- for(i=n-1;i>=0;i--)
- {
- k=i;
- max=D[i];
- for(j=0; j<=i-1;j++)
- if(D[j]>max)
- {
- k=j;
- max=D[j];
- }
- if(k!=i)
- {
- D[k]=D[i];
- D[i]=max;
- }
- }
- }
- void main()
- { setlocale(LC_ALL,"rus");
- cout<<"Здравствуйте! Эта программа генерирует массив С из N элементов.\nВ ячейках массива хранятся";
- cout<<" числа в диапазоне [A;B]. \nПрограмма выведет отсортированный массив D\n";
- cout<<"в котором хранятся числа массива С, цифры которых кратны K.\n";
- int *C,*D=new int [0],N,A,B,t=0,K;
- bool b=1,b1=0,bb;
- cout<<"Введите количество элементов в массиве (N):";
- cin>>N;
- for(;N<1;)
- {
- cout<<"Введите количество элементов в массиве (N):";
- cin>>N;
- }
- cout<<"Введите начало отрезка (A):";
- cin>>A;
- cout<<"Введите конец отрезка (B):";
- cin>>B;
- cout<<"Введите К (Кратность цифр чисел): ";
- cin>>K;
- C=new int [N];
- srand(time(0));
- for(int i=0;i<N;i++) //Генерация случайным образом
- C[i]=rand()%(B-A+1)+A;
- cout<<"Массив С: ";
- viv(C,N); //Вывод C
- for(int i=0,j=0;i<N;i++) //Проверки на кратность и создание массива D
- {
- bb=kratnost(C[i],1,K);
- if(bb)
- {
- t++;
- D=(int*)realloc (D,(t)*sizeof (int));
- D[j]=C[i];
- j++;
- }
- }
- cout<<endl;
- cout<<"Массив D: ";
- viv(D,t); //Вывод массива D
- cout<<endl;
- for(int i=0; i<t-1 && b;i++) //Проверка на возрастание
- if(D[i]<=D[i+1])
- {
- b1=1;
- b=b1;
- }
- else
- {
- b1=0;
- b=b1;
- }
- if (b1)
- cout<<"Массив D - возрастающая последовательность:";
- else
- {
- sort(D,t);
- cout<<"Возрастающий массив D :";
- }
- viv(D,t);
- cout<<endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement