Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторн_робот_Ч2.doc
Скачиваний:
19
Добавлен:
03.11.2018
Размер:
2.12 Mб
Скачать

3. Приклад розв’язання задачі на еом (варіант 3, завдання №7)

3.1 Розробка алгоритму вирішення

Рисунок 10.1 Логічна схема програми, що міняє і-ту стрічку з і+1

3.2 Розробка тексту програми

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

#include <conio.h>

#include <alloc.h>

void ChangeStr(char **,int);

int main()

{

char s[1],**str;

int n,i;

clrscr();

while (1)

{

printf("\n vveditye kilkisty strichok n=");

scanf("%d",&n);

if (n>=1&&n<=10)

break;

printf("\n ERRORS!!! 1<=n<=10 \n");

}

str=(char**)malloc(n*sizeof(char*));

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

str[i]=(char*)malloc(80*sizeof(char));

printf("vvedity %d strok \n",n);

gets(s);

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

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

gets(str[i]);

}

printf("\n----------pislya zminu strichok mayemo takuy masiv---------\n");

ChangeStr(str,n);

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

{

printf("string[%d]=",i+1);

puts(str[i]);

}

free(str);

getch();

return 0;

}

Void ChangeStr(char **s1,int m)

{

char ss[80];

int j;

for (j=0;j<m-1;j++)

{

strcpy(ss,s1[j]);

// puts(ss);

strcpy(s1[j],s1[j+1]);

strcpy(s1[j+1],ss);

}

}

3.3 Результати роботи програми

Зразок результатів програми наведений нижче:

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

  1. Що таке масив? Назвати основні принципи роботи з масивами.

  2. Що таке ініціалізація масиву?

  3. Робота із символьними рядками – це робота з масивами якого типу?

  4. Які бібліотеки необхідно підключати для роботи зі стрічками?

  5. Які є способи ініціалізації стрічок?

  6. Як відбувається ввід стрічок, які функції бібліотеки при цьому використовуються?

  7. За допомогою яких функцій відбувається вивід стрічок?

  8. Які оператори використовуються для визначення довжини стрічки?

  9. Як відбувається пошук в стрічці входження під стрічки?

  10. Основні стандартні функції для роботи зі стрічками.

  11. Яка функція призначена для копіювання стрічки?

  12. За допомогою якої функції відбувається інвертування стрічки?

  13. Назвати приклад використання стрічок в якості параметрів функцій.

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

Тема: Особливості роботи з одномірними динамічними масивами

Мета роботи: Отримання практичних навиків у роботі з одномірними динамічними масивами в мові c

Порядок виконання роботи

  1. Ознайомитися з теоретичними відомостями.

  2. Розробити схему алгоритму та програму, в якій об’явити масив цілих чисел і заповнити його випадковими значеннями. Розмір масиву і діапазон значень його елементів задані в Вашому варіанті індивідуального завдання, де також вказано, яку обробку масиву необхідно виконати.

  3. Скласти звіт за результатами лабораторної роботи.

4. Зробити висновки.

1. Варіанти завдання

Таблиця 11.1 – Варіанти завдання

варіанту

Розмірність масиву

Діапазон значень

Що потрібно зробити

1

50

-100 - 100

Замінити всі елементи з негативним значенням на значення мінімального не рівного 0 позитивного елемента

2

200

-50 - 50

Підрахувати кількість пар сусідніх елементів з однаковими значеннями

3

200

0 - 100

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

Таблиця 11.1 - Варіанти завдання (продовження)

4

200

-50 - 50

Підрахувати кількість пар сусідніх елементів, які мають протилежні знаки

5

100

-100 - 100

Вивести початкові індекси всіх неперервних послідовностей позитивних чисел, довжина яких більше 5

6

100

-100 - 100

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

7

100

-100 - 100

Розмістити всі елементи з позитивними значеннями в лівій частині масиву, елементи з негативними значеннями - в правій, а нулі - між ними

8

100

-100 - 100

Замінити всі елементи з негативними значеннями середнім арифметичним значенням всіх позитивних елементів

9

200

0 - 100

Знайти неперервну ділянку з 10 елементів, сума яких максимальна

10

200

0 - 100

Знайти значення 3-го по величині елемента і значення всіх елементів масиву, які його перевищують, замінити на знайдене значення

11

100

-50 - 50

Знайти кількість пар сусідніх елементів, які мають однакові абсолютні значення, але протилежні знаки

Таблиця 11.1- Варіанти завдання (продовження)

12

200

-100 - 100

У всіх послідовностях позитивних чисел замінити значення елементів з максимальним і мінімальним значенням на середнє для цієї послідовності

13

200

0 - 100

Знайти неперервну ділянку з 10 елементів, яка має найбільше середнє значення елементів

14

100

-50 - 50

У всіх послідовностях позитивних чисел змінити порядок елементів на протилежний

15

200

-100 - 100

У всіх послідовностях позитивних чисел обмежити знизу значення тих елементів, значення яких менше середнього для цієї послідовності

16

100

-50 - 50

Замінити всі елементи з позитивними значеннями абсолютним значенням негативного елемента з максимальним абсолютним значенням

17

200

-50 - 50

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

18

100

-50 - 50

Вивести початкові індекси всіхнеперервнихзнакозмінних послідовностей чисел

Таблиця 11.1- Варіанти завдання (продовження)

19

200

-50 - 50

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

20

200

-50 - 50

Знайти з неперервних послідовностей негативних чисел ту, що має найбільше абсолютне значення середнього арифметичного елементів

21

100

-100 - 100

Розмістити всі елементи з нульовими значеннями в лівій частині масиву, елементи з негативними значеннями - за ними, а за ними - елементи з позитивними значеннями

2

100

-100 - 100

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

23

100

-100 - 100

Замінити кожен елемент на середнє арифметичне його і його сусідів зліва і справа.

24

200

-50 - 50

Знайти неперервні ділянки, на яких сума елементів рівна 0

25

200

-50 - 50

Для кожного позитивного елемента визначити, чи є в масиві негативний елемент з протилежним значенням; якщо так, замінити ці елементи на 0

26

200

-50 - 50

Визначити, яке абсолютне значення зустрічається в масиві частіше інших

Таблиця 11.1 - Варіанти завдання (продовження)

27

200

-50 - 50

Визначити середню довжину неперервних ділянок позитивних чисел

28

100

-50 - 50

Поміняти місцями 1-й позитивний елемент з останнім позитивним елементом, 2-й – з передостаннім і т.д.

29

100

-50 - 50

В усіх послідовностях негативних чисел поміняти місцями елементи з максимальним і мінімальним значеннями

30

100

-50 - 50

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