Главная страница
Навигация по странице:

  • ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЕ«ДОНЕЦКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ» Кафедра электронной техники

  • Отчётпо лабораторной работе № 1

  • Операции с одномерными массивами. Использование меню и функций. Сортировка массивов.. Операции с одномерными массивами. Использование меню и функций. Сортировка массивов


    Скачать 18.3 Kb.
    НазваниеОперации с одномерными массивами. Использование меню и функций. Сортировка массивов
    АнкорОперации с одномерными массивами. Использование меню и функций. Сортировка массивов
    Дата07.02.2022
    Размер18.3 Kb.
    Формат файлаdocx
    Имя файлаlaba 1 Kydryavcev.docx
    ТипДокументы
    #354366

    МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ДНР

    ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
    ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЕ
    «ДОНЕЦКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»


    Кафедра электронной техники
    Отчёт
    по лабораторной работе №
    1
    по дисциплине «Компьютерные технологии и программирование»
    на тему: Операции с одномерными массивами. Использование меню и функций. Сортировка массивов.

    Студента 1 курса, группы АУП-18
    Направление подготовки
    «Автоматизация технологических процессов и производств»
    Кудрявцева Кирилла Игоревича
    Преподаватель кафедры ЭТ
    Стародубцева Оксана Николаевна

    Национальная шкала ___________
    Кол-во балов _________ECTS_____


    Г. Донецк-2018 год

    Цель работы: Получение навыка программирования операций с одномерными массивами в алгоритмическом языке С, использование функций, изучение методов сортировки.

    16

    Размерность
    A: 15
    B: 22
    C: 20
    D: 20

    Диапазон значений
    A:     [–30;  50]
    B:     [–18;  20]
    C:     [  –9;  33]
    D:     [–80;–40]

    Сортировка массивов A и C по убыванию челночным методом.
    Произведение средних арифметических массивов B и D.


    Код программы

    #define NMAX 50

    #include

    #include

    #include

    void Search(float[], int, char);

    int SearchAverage(float[], int);

    void Entermass(float[],int*, float,float,char);

    void EnterKlav(float[],int*,char);

    void About(void);

    void Viewmass(float[],int,char);

    void main (void)

    {

    char ch;

    randomize();

    int na, nb, nc, nd;

    float a[NMAX],b[NMAX],c[NMAX],d[NMAX];

    clrscr();

    randomize();

    do{

    clrscr();

    printf("\n\t\t\t\tF1- o programm\n");

    printf("\t\t\t\tF2- vvod massiva\n");

    printf("\t\t\t\tF3- vivod massiva\n");

    printf("\t\t\t\tF4- run process\n");

    printf("\t\t\t\tESC-vixod\n");
    ch=getch();

    if(!ch) ch=getch();

    switch(ch)

    {

    case 59:
    About();

    getch(); break;

    case 60:

    clrscr(); printf("Vvod masiva \n");

    char flag;

    printf("nagmite Y esli xotite vvesti mass s klaviaturyi:");

    scanf("%c", &flag);

    clrscr() ;

    if(flag!='y')

    {

    Entermass(a,&na,-30,50,'A');

    Entermass(b,&nb,-18,20,'B'); Entermass(c,&nc,-9,33,'C'); Entermass(d,&nd,-80,-40,'D');

    }

    else

    {

    EnterKlav(a,&na,'A'); EnterKlav(b,&nb,'B'); EnterKlav(c,&nc,'C'); EnterKlav(d,&nd,'D');

    }
    getch(); break;
    case 61:

    clrscr(); printf("Vivod masiva\n");

    Viewmass(a,na,'A');Viewmass(b,nb,'B'); Viewmass(c,nc,'C'); Viewmass(d,nd,'D');

    getch(); break;

    case 62:

    clrscr(); printf("RUN\n");

    printf("do\n"); Viewmass(c,nc,'C');

    printf("posle\n");Search(c,nc,'C');

    printf("do\n"); Viewmass(a,na,'A');

    printf("posle\n");Search(a,na,'A');

    float S1=SearchAverage(b,nb);float S2=SearchAverage(d,nd);

    printf("Srednee B:%8.3f\n", S1); printf("Srednee D:%8.3f\n", S2); printf("Proizvedenie B i D:%8.3f", S1*S2);

    getch(); break;

    }

    }

    while (ch!=27);

    }

    void About(void)

    {

    clrscr();

    printf("laba1 var 8 zad 16 \n");

    printf("sortirovka A i C cheslochnim metodom\

    \Proizvedenie sr.arifmetichnih mass B i D\n");

    printf("AYP-18 Kudravcev K.I.\n");

    }

    void Entermass(float x[],int*size,float xn,float xk,char c)

    {

    int i;

    clrscr();

    printf("Press size(<=%d)for mass %c\n",NMAX,c);

    scanf("%d",size);

    for(i=0;i<*size;i++) x[i]=xn+random(1000*(xk-xn+1))/1000.;

    }

    void EnterKlav(float x[],int*size,char c)

    {

    int i;

    clrscr();

    printf("Press size(<=%d)for mass %c\n",NMAX,c);

    scanf("%d",size);

    printf("vvodite mass:\n");

    for(i=0;i<*size;i++)

    scanf("%f",&x[i]);

    }

    void Viewmass(float x[],int size,char c)

    {

    int i;

    printf("Mass %c\n",c);

    for(i=0;i
    printf("\n");

    }

    int SearchAverage(float x[],int size)

    {

    int i;

    float s=0;

    for(i=0;i
    s=s+x[i];

    s=s/size-1;

    return s;

    }

    void Search(float x[],int size, char c)

    {int l, r, i, k; float buf;

    k=l=0;

    r=size-2;

    while(l<=r)

    {

    for(i=l;i<=r;i++)

    if(x[i]
    {

    buf=x[i];

    x[i]=x[i+1];

    x[i+1]=buf;

    k=i;

    }

    r=k-1;

    for(i=r;i>=l;i--)

    if(x[i]
    {

    buf=x[i];

    x[i]=x[i+1];

    x[i+1]=buf;

    k=i;

    }

    l=k+1;

    }

    Viewmass(x,size,c);

    }


    написать администратору сайта