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


 

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

63867. Трансформация предпринимательской культуры в России в постсоветский период 22.52 KB
  На современном этапе в ходе проведения социально-экономических реформ активно обсуждается вопрос экономической культуры российского предпринимательства. В данной связи следует учитывать что именно степень эффективности проведения...
63868. Трансформация языка в контексте социокульутрных изменений 48.38 KB
  В обществе непрерывно происходят различные социальные процессы которые могут приводить к возникновению новых элементов и исчезновению ранее существовавших элементов и отношений между ними. Одним из таких элементов относится Язык который подвергся изменениям в результате социокультурного развития.
63870. К вопросу о генезисе творческой стратегии современного акционизма 52.94 KB
  На первый взгляд акция и поэзия понятия антагонистические: акция кратковременна поэзия устремлена в вечность акция направлена вовне – поэзия автореферентна акция ставит конкретные цели поэзия бежит любого рода инструментализации...
63871. Социальная солидарность в эпоху перемен 43 KB
  Социальная солидарность sociаl solidаrity интеграция и ее степень или тип проявляемые обществом либо группой. Французский философ и социолог Эмиль Дюркгейм выделил что социальная солидарность это то что скрепляет и сплачивает индивидов в единое целое.
63872. Проблема толерантности в общеобразовательных учреждениях начального общего образования 59.5 KB
  Проблема толерантности в общеобразовательных учреждениях начального общего образования Развитие толерантности является объективной потребностью современного общества. В педагогических теориях толерантность оценивается как: отсутствие или ослабление реагирования на какой либо неблагоприятный фактор...
63873. Тенденции института семьи в трансформационном аспекте: внебрачная рождаемость 18.73 KB
  Появляются новые тенденции такие как например снижение количества ранних браков; рост числа разводов; увеличение среднего возраста женщины вступления в брак; увеличение среднего возраста матери при рождении первого ребенка; а так же увеличение количества детей которые рождаются вне брака.
63874. Феномен социального отчуждения 43.5 KB
  Доминирующей формой социального отчуждения становится отчуждение техническое обусловленной ростом места техники в жизни современного человека. Отчуждение это процесс в котором от людей отделяются результаты их деятельности сама деятельность а также те силы которые эту деятельность...
63875. Жизненные ориентации горожан 18.56 KB
  Для каждой личности характерен свой уникальный способ жизни способ ее организации оценивания и осмысления. В процессе своей жизни личность выступает в качестве то субъекта общения то субъекта деятельности являясь при этом субъектом своей жизни объединяющим...