Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
laba3.docx
Скачиваний:
16
Добавлен:
09.02.2015
Размер:
253.32 Кб
Скачать

Санкт-Петербургский государственный электротехнический университет «ЛЭТИ»

Имени В.И. Ульянова (Ленина).

Лабораторная работа №3 по дисциплине «Программирование»

Выполнил: Булыгин Н.С.

гр.3308

Факультет КТИ

Преподаватель: Павлов С.М.

Санкт-Петербург

2013

1.Постановка задачи.

Вывести массив чисел с задаваемым количеством элементов и некоторое число. Из массива удалить элементы, номера которых кратны введённому некоторому числу, а затем переставить местами соседние элементы массива в парах, если такая пара имеется.

2.Уточнение задания.

Пользователю должно быть предложено ввести количество элементов массива, введенное число не должно превышать 250000 элементов.

3.Блок-схема алгоритма.

Исходные данные:

A массив целочисленных элементов.

X – количество элементов массива.

Dнекоторое число, номера элементов кратные этому числу должны быть удалены из массива.

Рабочие переменные:

I номер элемента исходного массива.

J номер элемента преобразованного массива массива.

T- значение копируемого элемента.

Результат:

A – массив целых чисел преобразованный в соответствии с поставленной задачей.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

4.Таблица проверки алгоритма.

№ блока

I

X

D

J

T

A[I]

A[I+1]

A[J]

I < X

I < J-1

I % D = = 0

Монитор

1

5

5

2

0

3

Да

4

0

0

5

1

3

Да

4

1

1

5

2

3

Да

4

2

2

5

3

3

Да

4

3

3

5

4

3

Да

4

4

4

5

5

3

Нет

6

2

2

7

0

0

8

Да

9

Да

10

1

8

Да

9

Нет

11

1

19

1

10

2

8

Да

9

Да

10

3

8

Да

9

Нет

11

3

19

2

10

4

8

Да

9

Да

10

5

8

Нет

12

0

13

Да

№ блока

I

X

D

J

T

A[I]

A[I+1]

A[J]

I < X

I < J-1

I % D = = 0

I < J

Монитор

14

2

1

3

1

13

Нет

15

0

16

Да

5.Текст программы на языке c++:

#include <iostream>

using namespace std;

int main()

{

setlocale(0,"");

int A[250000] = {};

int X, D, J = 0, T;

cout << "Введите количество элементов массива , число должно быть натуральным и не превышать 250000" << endl;

cin >> X;

cout << endl << "Введите элементы массива:" << endl;

for (int I = 0;I < X; I++)

{

cin >> A[I];

}

cout << "Введите некоторое число, число не должно равняться 0 ";

cin >> D;

for(int I = 0;I < X; I++)

{

if ((I % D))

{

A[J] = A[I];

J ++;

}

}

for (int I = 0 ; I < (J-1); I+=2)

{

T = A[I];

A[I] = A[I+1];

A[I+1] = T;

}

cout << endl;

for (int I = 0; I < J; I++)

{

cout << A[I] << ' ';

}

system("pause");

return 0;

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]