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.Як визначається кількість байтів, на яке зміщається покажчик індексного вираження?  Чи залежить зсув покажчика від типу елементів масиву?


 

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

71669. СХЕМОТЕХНИКА: ЛАБОРАТОРНЫЙ ПРАКТИКУМ 458 KB
  Приведены лабораторные работы по курсу «Схемотехника» с использованием программы Electronics Workbench. Изложен краткий теоретический материал разработки моделей в программе. Рассмотрены методические примеры и представлены задания на самостоятельную работу.
71670. Общая энергетика: Учебное пособие 3.18 MB
  В учебном пособии излагаются общие вопросы энергетических систем теоретические основы преобразования различных видов энергии тепловой ядерной гидравлической солнечной ветровой геотермальной и т. Рассматриваются технологические процессы и различные схемы преобразования...
71671. ПОСОБИЕ ПО ПРАКТИЧЕСКОЙ ФОНЕТИКЕ 403 KB
  Артикуляция (Articulation) – уклад органов речи при произнесении того или иного звука. Палатализация (Palatalization) – смягчение согласного под влиянием следующего за ним гласного переднего ряда. Палатализация создаётся поднятием средней части языка во время произнесения...
71674. ОСНОВЫ ИЗМЕРЕНИЙ 836 KB
  Материал изложен с учетом требований программ дисциплин по которым осуществляется подготовка инженеров-метрологов в Белорусском государственном университете информатики и радиоэлектроники и охватывает ряд вопросов касающихся основ измерений.
71675. Метрология и измерения: Учебно-методическое пособие 3.97 MB
  Учебно-методическое пособие Метрология и измерения предназначено для индивидуальной работы студентов изучающих курсы измерений. Обработка результатов измерений с однократными наблюдениями Обработка результатов многократных наблюдений при прямых измерениях.
71676. ОЧЕРКИ ПО ТЕОРИИ И ПРАКТИКЕ ДИЗАЙНА НА ЗАПАДЕ 823.5 KB
  Дизайн в моде, о нем написано много и напишут еще больше. Вполне понятно, на глазах одного поколения возникла и утвердилась новая профессиональная деятельность, которую нужно как-то осмыслить. Сначала писали о терминах, о том, что английское «design» — производное от итальянского «disegno»...
71677. ИНФОРМАТИКА: КОМПЬЮТЕРНЫЙ ПРАКТИКУМ: «WORD 2007, EXCEL 2007» 7.88 MB
  Цель данного пособия - объяснить студентам, а также всем интересующимся основы работы в текстовом и табличных процессорах Microsoft Word и Microsoft Excel 2007. Необходимость написания данной работы возникла в связи с появлением нового поколения программных продуктов корпорации Microsoft.