17113

Формування робочих масивів за допомогою операцій селекції вихідного масиву

Лабораторная работа

Информатика, кибернетика и программирование

Лабораторна робота № 22 Тема: Формування робочих масивів за допомогою операцій селекції вихідного масиву Ціль роботи: вивчити і навчитися застосовувати обробку масивів по заданих логічних умовах формування нових масивів. Обладнання: ПКПО Borland C Теоретичні відо

Украинкский

2013-06-29

74 KB

1 чел.

Лабораторна робота № 22

Тема: Формування робочих масивів за допомогою операцій селекції вихідного масиву

Ціль роботи: вивчити і навчитися застосовувати обробку масивів по заданих логічних умовах, формування нових масивів.

Обладнання: ПК,ПО Borland C++

Теоретичні відомості

Дивися теоретичні відомості по попередній роботі.

Приклад

/*    ЗАНЯТТЯ N 10

  Розробив Петров Ю.В.

  Оголосити масиви заданої розмірності, виконати їхній

  ініціалізацію з застосуванням функції random() і явно.

  Одержати доступ до елементів масивів з використанням

  операторів організації циклу. Переписати позитивні

  елементи масиву x[1],x[2],...,x[N] у масив y[t], а

  негативні - у масив z[p]. Елементи в масивах y[t]

  і z[p] розташовувати підряд, елементи масиву y1[t]

  розрахувати для позитивних x[і] по формулі

  y1[t]=y1[t]+2*exp(b*y[t]-y[t]*y[t]),де b=N/5    */

 #include <stdlib.h>

 #include <stdio.h>

 #include <conio.h>

 #include <math.h>

 # define N 20

 main()

 { clrscr();

   randomize();

   int і,t=0,p=0,b=N/5;

   int x[N],y[N],z[N]; //Оголошення одномірного масиву (вектора)

   float y1[N]={2.3,3.4,4.0,5.2,6.6,7.9,8.34,9.8,10.4,11.2,\

   10.1,9.9,8.7,7.5}; //Ініціалізація перших 14, інші -0

   printf("\nвывод елементів вихідного масиву y1[ ]\n");

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

     {printf(" y1[%2d]=%4.1f",i+1,y1[i]);

      if ((i+1)%5==0) printf("\n");

     }

   printf("\nинициализация одномірного масиву x[N]\n");

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

     { x[і]=random(40)-20;

printf(" x[%2d]=%2d ",i+1,x[i]);    // виведення елементів

if ((i+1)%5==0) printf("\n");       //масиву x[ ]

 if (x[i]>=0)            //Вибір позитивних значень

   { y[t]=x[i];    //Розрахунок елементів масиву y1[ ]

    y1[t]=y1[t]+2*exp(b*y[t]-y[t]*y[t]); t++;

   }

else {z[p]=x[i]; p++;} //Вибір негативних значень

     }

   printf("\nвывод елементів масиву y[ ]>0\n");

   i=0;

   while ( i<t )

     { printf(" y[%2d]=%2d ",i+1,y[i]);

if ((i+1)%5==0) printf("\n");

i++;

     }

   printf("\n");

   printf("\nвывод елементів масиву y1[ ] після розрахунку\n");

   i=0;

   do

     { printf(" y1[%2d]=%3.2f",i+1,y1[i]);

if ((i+1)%5==0) printf("\n");

i++;

      } while ( i<t );

   printf("\n");

   printf("\nвывод елементів масиву z[ ]<0\n");

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

     { printf(" z[%2d]=%2d ",i+1,z[i]);

if ((i+1)%5==0) printf("\n");

     }

   getch();

   return 1;

 }

/*   виведення елементів вихідного масиву y1[ ]

 y1[ 1]= 2.3 y1[ 2]= 3.4 y1[ 3]= 4.0 y1[ 4]= 5.2 y1[ 5]= 6.6

 y1[ 6]= 7.9 y1[ 7]= 8.3 y1[ 8]= 9.8 y1[ 9]=10.4 y1[10]=11.2

 y1[11]=10.1 y1[12]= 9.9 y1[13]= 8.7 y1[14]= 7.5 y1[15]= 0.0

 y1[16]= 0.0 y1[17]= 0.0 y1[18]= 0.0 y1[19]= 0.0 y1[20]= 0.0

    Ініціалізація одномірного масиву x[N]

 x[ 1]=  8  x[ 2]= 10  x[ 3]=- 7  x[ 4]= 13  x[ 5]=- 1

 x[ 6]=-14  x[ 7]=  5  x[ 8]= 17  x[ 9]=-14  x[10]=-19

 x[11]= 13  x[12]=  8  x[13]=-10  x[14]=-16  x[15]=  5

 x[16]=  9  x[17]=-11  x[18]=-12  x[19]=-16  x[20]=- 3

    виведення елементів масиву y[ ]>0

 y[1]= 8    y[2]=10    y[3]=13    y[4]= 5   y[5]=17

 y[6]=13    y[7]= 8    y[8]= 5    y[9]= 9

    виведення елементів масиву y1[ ] після розрахунку

 y1[1]=2.30 y1[2]=3.40 y1[3]=4.00 y1[4]=5.21 y1[5]=6.60

 y1[6]=7.90 y1[7]=8.34 y1[8]=9.81 y1[9]=10.40

     виведення елементів масиву z[ ]<0

 z[ 1]=- 7  z[ 2]=- 1  z[ 3]=-14  z[ 4]=-14  z[ 5]=-19

 z[ 6]=-10  z[ 7]=-16  z[ 8]=-11  z[ 9]=-12  z[10]=-16

 z[11]=- 3   

                                    */

Приклад прогами на С++

Скласти програму для обробки масивів відповідно до індивідуального завдання приведеному в таблиці 10.1.

Вар.

Умова задачі

6

Дано масив X(25). Сформувати новий масив з чисел вихідного, лежачих в інтервалі [-3,7]

#include<iostream.h>

int mas(double xk[10],double yk[10])

{int n,j;

for(n=0;n<10;n++)

{if((xk[n]>=(-3))&&(xk[n]<=7)) {yk[j]=xk[n]; j++;}

}

return j;

}

void main()

{int i,t;

double x[10],y[10],s;

cout<<"input array x:\n";

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

cin>>x[i];

s=1.0;

t=mas(x,y);

cout<<"y:\n";

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

cout<<y[i]<<"\n";

}

Хід роботи

1.Вивчити теоретичні відомості

2.Відповідно до індивідуального завдання, на основі програми попередньої роботи розробити алгоритм, що забезпечує формування робочих масивів по заданих логічних умовах. Операції з масивами винести в окрему функцію.

3.Розробити програму, набрати і налагодити програму на комп'ютері.

4.Вивчити роботу операторів.

5.Одержати результати.

6.Оформити звіт.

Підготуватися до захисту лабораторної роботи, вивчивши контрольні питання по даній темі.

Вимоги до змісту звіту приведені в лабораторній   роботі   №1.

Індивідуальне завдання

Скласти програму для обробки масивів відповідно до індивідуального завдання приведеному в таблиці 10.1.

Таблиця 10.1 - Індивідуальне завдання

Вар.

Умова задачі

1

Дано масив X(15). Сформувати новий масив з парних чисел вихідного

2

Дано масив X(25). Сформувати новий масив з непарних чисел вихідного

3

Дано масив D(15). Сформувати новий масив із кратних 3 чисел вихідного

4

Дано масив A(10). Сформувати новий масив з негативних чисел вихідного

5

Дано масив Z(15). Сформувати новий масив з позитивних парних чисел вихідного

6

Дано масив X(25). Сформувати новий масив з чисел вихідного, лежачих в інтервалі [-3,7]

7

Дано масив Y(10). Сформувати новий масив з непарних позитивних чисел вихідного

8

Дано масив D(12). Сформувати новий масив з позитивних кратних 3 чисел вихідного

9

Дано масив A(8). Сформувати новий масив з негативних парних чисел вихідного

10

Дано масив C(15). Сформувати новий масив з великих 8 чисел вихідного

11

Дано масив B(21). Сформувати новий масив із кратних 4 чисел вихідного

12

Дано масив A(12). Сформувати новий масив з негативних непарних чисел вихідного

13

Дано масив X(8). Сформувати новий масив з негативних не кратних 3 чисел вихідного

14

Дано масив G(9). Сформувати новий масив з парних чисел вихідного масиву, що коштують на непарних місцях

15

Дано масив Y(15). Сформувати новий масив з непарних, кратних 3 чисел вихідного

16

Дано масив A(18). Сформувати новий масив з непарних, кратних 5 чисел вихідного

17

Дано масив Z(10). Сформувати новий масив з парних чисел вихідного, лежачих в інтервалі [1,12]

18

Дано масив A(11). Сформувати новий масив з непарних чисел вихідного, лежачих в інтервалі [-3,15]

19

Дано масив B(10). Сформувати новий масив з номерів негативних парних чисел вихідного

20

Дано масив A(8). Сформувати новий масив з номерів негативних непарних чисел вихідного

21

Дано масив C(12). Сформувати новий масив з негативних чисел вихідного, що коштують на парних місцях

22

Дано масив F(13). Сформувати новий масив з негативних чисел вихідного, що коштують на непарних місцях

23

Дано масив H(12). Сформувати новий масив з позитивних чисел вихідного, що коштують на парних місцях

24

Дано масив V(19). Сформувати новий масив з негативних чисел вихідного, лежачих у діапазоні [-20,-5]

25

Дано масив N(11). Сформувати новий масив з негативних кратних 5 чисел вихідного

26

Дано масив K(15). Сформувати новий масив з позитивних чисел вихідного, що коштують на непарних місцях

27

Дано масив Y(11). Сформувати новий масив з негативних не кратних 5 чисел вихідного

28

Дано масив Z(14). Сформувати новий масив з позитивних кратних 5 чисел вихідного

29

Дано масив R(13). Сформувати новий масив з негативних кратних 10 чисел вихідного

30

Дано масив N(11). Сформувати новий масив з негативних кратних 8 чисел вихідного

Контрольні запитання

1.Як виробляється доступ до елементів масиву?

2.Яка кількість операторів циклу необхідно для обробки головної чи побічної діагоналі масиву?

3.Які методи сортування елементів Ви знаєте?

4.Чи можна використовувати покажчик на тип елементів масиву як ім'я масиву і що для цього необхідно?

5.Адреса якого елемента містить ім'я масиву?

6.Які класи пам'яті можна використовувати при оголошенні масиву?

7.Які класи пам'яті використовуються за замовчуванням?

8.Як розміщаються елементи масиву в пам'яті?

9.Як визначається кількість байтів, на яке зміщається покажчик індексного вираження?  Чи залежить зсув покажчика від типу елементів масиву?


 

А также другие работы, которые могут Вас заинтересовать

61405. Котел пищеварочный газовый 526 KB
  Варка в жидкой среде независимо от способа действия соответствующего аппарата основана на физико-химических превращениях веществ, входящих в состав продукта, которые протекают под действием теплоты и влаги
61410. Форма Военной Одежды Красной Армии в период Великой Отечественной Войны 627.53 KB
  Изменения в форме одежды военнослужащих Красной Армии с 1941 года Обмундирование начальствующего состава Красной Армии 1941 г. военного времени соответствует перечню из приложения к циркуляру Главного интенданта Красной Армии № 13 от 30.