Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ООП_Лаб_Гриф.doc
Скачиваний:
7
Добавлен:
14.11.2019
Размер:
2.81 Mб
Скачать

Приклад

/* ЗАНЯТТЯ N 9

Виконав студент групи ..ІТ....... Петров Р.В.

Застосування масивів при роботі з перемінними

різних типів (int, float), зміна значень перемінних.

Приклади прийомів роботи з масивами. */

#include <stdio.h>

#include <stdlib.h>

#include <conio.h>

#define N 15

#define M 10

int p[N], x[N], i, j, j1, count = 0;

int y[N*2], z[N] = {15, 37, 10, -20, -10, 25, 27, 30, 89, 67,\

24, -6, 22}; //Ініціалізація елементів масиву

int *pi = y; //Два останніх елементи z[N] дорівнюють 0

float *pf, mf[N];

void main( void )

{ clrscr( );

randomize( );

pf=mf;

printf("Вихідний масив p[ ]: \n");

for (і = 0; і <N; і++)

{ p[і]=random( 81) - 40; //Ініціалізація за допомогою функції

printf("%4d", p[ і ] ); //random( ) в інтервалі +40 ... - 40

if (p[ і ] > 0) //Вибір елементів >0 у масив х[ ]

{ x[ count ] = p[ i ];

mf[ count ] = x[count] / 5.5;

count++;

}

}

printf("\n");

printf("Вихідний масив z[ j ]: \n");

for (і = 0; і < N; і++) printf("%4d", z[ і ] );

printf("\n Робочий масив x[ count ] > 0 з p[ і ]: \n");

for (і = 0; і < count; і++) printf("%4d", x[ і ] );

j=0; //Вибір елементів у масив у[ ] з z[ ] і р[ ] за умовами

for (i = 0; i < N; i++)

{ if (z[ i ] >= - M && z[ i ] <= (M+N) && (z[ i ] % 2 = = 0))

{ *pi = z[ i ]; pi++; j++;}

if (p[ i ] >= -M && p[ i ] <= (M+N) && (p[ i ] % 2 = = 0))

{ *( y + j ) = p[ i ]; pi++; j++;}

}

j1 = j;

printf("\n Робочий масив y[ j ] з z[ і ] і р[ і ] за умовами \n");

printf(" – M < y[ j ] < (M+N) і парне: \n");

for (і = 0; і < j1; і++) printf("%4d", y[ і ] );

printf("\n Робочий масив mf[ j ] = x[ j ] / 5.5 \n");

for (і = 0; і < count; і++) printf("%6.4f ", *(pf + і));

//Сортування масиву x[ ]

for (i = 0; i < count; i++)

for (j = i; j < count; j++)

if (x[ i ] < x[ j ] )

{ int c = x[ i ]; x[ i ] = x[ j ]; x[ j ] = c;

}

else continue;

//Сортування масиву в[ ]

for (i = 0; i < j1; i++)

for (j = i; j < j1; j++)

if (y[ i ] < y[ j ] )

{int c = y[ i ]; y[ i ] = y[ j ]; y[ j ] = c;

}

else continue;

printf("\n Сортований масив x[ ]: \n");

for (і = 0; і < count; і++)

printf("%4d", x[ і ] );

printf("\n Сортований масив y[ ]: \n");

for (i = 0; i < j1; i++)

printf("%4d", y[ i ] );

getch( );

}

/* Вихідний масив p[ ]:

32 37 -34 11 30 8 -11 -38 6 -21 -27 -23 -30 -19 -29

Вихідний масив z[ j ]:

15 37 10 -20 -10 25 27 30 89 67 24 -6 22 0 0

Робочий масив x[count] > 0 з p[ і ]:

32 37 11 30 8 6

Робочий масив y[ j ] з z[ і ] і р[ і ] за умовами

- M < y[ j ] < (M+N) і парне:

10 -10 8 6 24 -6 22 0 0

Робочий масив mf[ j ] = x[ j ] / 5.5

5.8182 6.7273 2.0000 5.4545 1.4545 1.0909

Сортований масив x[ ]:

37 32 30 11 8 6

Сортований масив y[ ]:

24 22 10 8 6 0 0 -6 -10 */