Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <windows.h>
- #include <locale.h>
- #include <time.h>
- #include <stdlib.h>
- #include <ctype.h>
- #define TElement unsigned char
- #define N 10
- #define MIN 21
- #define MAX 254
- int Select(TElement m[],int n,TElement rez[],int r, TElement Min, TElement Max);// Объявление функции select для ее корректной работы
- int main(void){
- setlocale(LC_ALL, "Rus");
- int ndig, npun;
- TElement m[N];
- TElement dig[N];
- TElement pun[N];
- Randomize();
- title();
- printf("ЗАПОЛНЕНИЕ МАССИВА \n");
- Filling(m,N,MIN,MAX);
- printf ("\nРАСПЕЧАТКА ИСХОДНОГО МАССИВА \n");
- Print(m,N);
- puts ("МАССИВ ЦИФР");
- ndig=Select(m,N,dig,0,'0','9');
- BSort(dig,ndig);
- Print(dig,ndig);
- puts ("МАССИВ ЗНАКОВ ПУНКТУАЦИИ");
- npun=SelectP(m,N,pun,0);
- Print(pun,npun);
- return 0;
- }
- void Randomize(){
- srand(time(0));
- }
- int Random(int diapazon){
- return (rand() % diapazon);
- }
- void Filling(TElement m[],int n, TElement MinValue, TElement MaxValue){
- int i;
- TElement Diapazon;
- Diapazon=MaxValue-MinValue;
- for (i=0;i<n;i++)
- m[i]=(TElement)Random(Diapazon)+MinValue;
- }
- void Print(TElement m[],int n){
- int i;
- if (n>0){
- printf("Номер ");
- for(i=0;i<n;i++)
- printf("%4d",i);
- printf("\nЗначение");
- for(i=0;i<n;i++)
- printf("%4c",m[i]);
- puts("\n");
- }
- else
- puts ("\n Массив пуст \n");
- }
- int Select(TElement m[],int n,TElement rez[],int r, TElement Min, TElement Max){
- int i;
- for (i=0;i<n;i++)
- if((m[i]>=Min)&&(m[i]<=Max)){
- rez[r]=m[i];
- r++;
- }
- return r;
- }
- int SelectP(TElement m[],int n,TElement rez[],int r){
- int i;
- for(i=0; i<n;i++)
- if (ispunct(m[i]) || m[i]=='?' || (int)m[i]==63 || m[i]=='?'){
- rez[r]=m[i];
- r++;
- }
- return r;
- }
- void Obmen(TElement m[], int n, int i1, int i2){
- int tmp;
- tmp=m[i1];
- m[i1]=m[i2];
- m[i2]=tmp;
- }
- void Bubble(TElement m[],int n, int up){
- int i;
- for (i=n-1;i>up;i--)
- if (m[i]<m[i-1])
- Obmen(m,n,i,i-1);
- }
- void BSort(TElement m[],int n){
- int i;
- for (i=0;i<n-1;i++)
- Bubble(m,n,i);
- }
- void title()
- {
- printf (" Лабораторная работа N 5 вариант 13 \n Тема: Массивы \n");
- printf (" Выполнил студент гр.ИСТбд-12 Шарапов А.Н.\n\n");
- printf (" Из исходного массива символов, заполненного случайным образом\n");
- printf ("символами с кодами в диапазоне от 21 до 254\n");
- printf ("выделить в отдельные массивы символы цифр и знаков препинания.\n");
- printf (" Провести сортировку полученных массивов.Для контроля результата\n");
- printf ("сделать распечатку массивов в том числе исходного\n\n\n");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement