Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР10-С++-26-апреля-2012.doc
Скачиваний:
24
Добавлен:
15.09.2019
Размер:
2.35 Mб
Скачать

2.5.6.2. Пример для варианта 30

Упорядочить последовательность из N чисел по возрастанию ее элементов.

2.5.6.3. Программа

Программа на языке С++ может иметь следующий вид:

/*Упорядочение чисел по возрастанию */

#include <stdio.h>

#include <conio.h>

#include <math.h>

#include <iostream.h>

#define n 9

int main()

{

int k, i,x;

float a[n],b, c;

// Ввод массива a

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

{

cout <<"Введите " << k << "-ый элемент массива a: ";

cin >> a[k];

}

// Сортировка массива a по возрастанию

do

{

i = 0;x =0;

for (k=1; k<=n; k++)

{b = a[i]; c = a[k];

if (c < b) {a[i] = c; a[k] = b; x = x + 1;}

i= i + 1;

}

}

while (x>0);

// Вывод отсортированного массива a

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

{

cout <<"k = " << k << " a[k] = " << a[k] << endl;

}

cout << "Нажмите любую клавишу..." ;

getch();

return 0;

}

2.5.6.4. Тестирование

3. Выводы

Выполнение этой лабораторной работы должно показать Вам средства языка C++, необходимые программисту для реализации программ с одномерными массивами. Вы должны освоить операторы языка С++, реализующие работу с массивами в программах.

Во время выполнения этой и других работ Вы познакомитесь с другими возможностями языка С++ и выберете для себя некоторый стиль написания программ на языке С++.

Чем активнее Вы будете овладевать возможностями системы программирования на языке С++, тем более легким и эффективным будет для Вас выполнение всего лабораторного практикума.

4. Требование к отчету

В отчете должны быть отображены следующие пункты:

1. Название работы.

2. Цель работы

3. Задание.

4. Краткие теоретические сведения.

5. Листинги семи программ.

6. Таблицы выбора идентификаторов (таблицы кодирования переменных).

7. Результаты выполнения трех программ (скриншоты).

8. Выводы.

5. Вопросы для самоконтроля

1. Понятие и определение массива.

2. Общий вид объявления массива.

3. Что определяется при объявлении массива?

4. Как располагаются массивы в памяти?

5. Что такое динамический массив?

6. Происходит ли обнуление памяти при ее выделении под динамический массив?

7. Можно ли инициализировать динамический массив?

8. Блок-схема и операторы ввода одномерного массива.

9. Блок-схема и операторы вывода одномерного массива.

10. Вычисление суммы всех элементов одномерного массива.

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

12. Вычисление суммы тех элементов массива, которые расположены в массиве на заданных местах.

13. Подсчет количества элементов массива, удовлетворяющих заданным условиям.

14. Подсчет произведения элементов массива, удовлетворяющих заданным условиям.

15. Алгоритм поиска элементов массива, обладающего специальными свойствами.

16. Алгоритм формирования нового массива из элементов заданного массива.

17. Что называется массивом?

18. Что называется размерностью массива?

19. Какие ограничения на значение индекса имеются в языке С++?

20.В чем отличие описания массивов от описания простых переменных?

21. Какая переменная нарывается индексированной?

22. Что называется элементом массива?

23. Чем определяется положение элемента в массиве?

24. Какая наибольшая размерность массивов разрешена в языке С++?

25. Может ли одномерный массив содержать две переменные с одинако­выми индексами?

26. Как определяется значение индекса в случае использования в ка­честве индекса выражения?

27. Может ли использоваться значение индекса для указания элемента массива, лежащее за пределами нижней и верхней границ граничной пары массива?

28. Можно ли верхнюю и нижнюю границы граничной пары представить выражением?

29. Как (чем) отделяются индексы друг от друга?

30. Можно ли в качестве индексов использовать нулевые и целые от­рицательные индексы?

31. В чем заключается смысл применения (введения) массивов?

32. Как указываются индексы у переменных в языке С++?

33. Можно ли использовать в многомерных массивах смешанное (бук­венно-цифровое) сочетание индексов?

34. Чему равно максимальное число индексов, допустимое в языке С++?

35. Как осуществляется ввод-вывод массивов?

36. Можно ли в одном операторе описывать массивы и простые переменные?

37. Какое соответствие, с точки зрения расположения в программе, должно выполняться между описанием мас­сива, и первым оператором, в котором эта переменная используется?

38. Что такое массив?

39. Для чего необходимо описание массива?

40. Как объявить одномерный массив? Двумерный массив?

41. Может ли массив содержать разнородные данные?

42. Как получить адрес переменной?

43. Как в языке С++ описываются одномерные массивы?

44. Каковы особенности инициализации массива при его объявлении?

45. Охарактеризуйте операторы new и delete.

46. Что такое динамические массивы?

47. Опишите алгоритмы сортировки массивов методами прямого обме­на, вставки и прямого выбора.