КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Пример 3. А теперь - практика!!! Как всегда, будьте особо внимательны при анализе примеров
Пример 2 Пример 1 Примеры задач А теперь - практика!!! Как всегда, будьте особо внимательны при анализе примеров! Обращайте внимание на комментарии, приведенные в программах! Рассмотрим следующую задачу: "Дано n чисел, вывести на экран m наибольших чисел". Для решения этой задачи, объявим массив состоящий из n элементов. Организуем ввод даных в массив, сортировку массива (используя уже известную нам пузырьковую сортировку) и вывод результатов, т.е. m наибольших чисел. Сортировку массива организуем в виде функции. Ниже приведен код программы для решения нашей задачи. #include <iostream.h>void Sort(double a[], int n) // функция сортировки массива{ double temp; bool flag = true; for(int j = 1;; j++) // сортировка методом "пузырька" { for(int i = 0; i < n - j; i++) if(a[i] > a[i+1]) { temp = a[i]; a[i] = a[i+1]; a[i+1] = temp; flag = false; } if(flag) break; flag = true; }} void main(){ const n = 10; double array[n]; // размерность массива int i; for(i = 0; i < n; i++) // ввод значений массива { cout << "array[" << i << "]: "; cin >> array[i]; } Sort(array, n); // вызов функции сортировки int m; cout << "Input the count of numbers: "; cin >> m; // ввод числа m for(i = n - m; i < n; i++) // вывод m наибольших чисел cout << "array[" << i << "]: " << array[i] << endl; }Вы уже знаете, как запросить у пользователя данные для заполнения массива. Но, иногда, встречаются такие задачи, где элементы массива должны быть представленны случайными числами. Пример, приведенный ниже, использует генератор псевдослучайных чисел для заполнения массива. Давайте разберем еще один пример на использование указателей. Напишем программу, которая печатает элементы массива в обратном порядке, используя указатель на элементы массива. Все необходимые знания для решения этой задачи у нас уже есть, теперь осталось проверить их на практике. #include <iostream.h> void main(){ const n = 10; // размерность массива будем задавать через константу int a[n], i; for(i = 0; i < n; i++) { cout << "Input a[" << i<< "]: "; cin >> a[i]; // ввод элементов массива } // p указывает на последний int *p = &a[n-1]; // элемент массива while(p >= a) // пока не достигнут адрес { // первого элемента cout << *p << " "; // выводим элемент массива; p--; // p указывает на предыдущий } // элемент массива cout << " ";}
Дата добавления: 2014-01-14; Просмотров: 342; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |