Студопедия

КАТЕГОРИИ:


Архитектура-(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; }

Вы уже знаете, как запросить у пользователя данные для заполнения массива. Но, иногда, встречаются такие задачи, где элементы массива должны быть представленны случайными числами. Пример, приведенный ниже, использует генератор псевдослучайных чисел для заполнения массива.

/*Заполнение массива произвольными целыми значениямив диапазоне от 1 до 100*/#include <iostream.h>#include <stdlib.h> //эти библиотеки необходимы#include <time.h> //для использования генератора псевдослучайных чисел void main(){ const n = 10; // размерность массива int a[n], i; srand(time(0)); // инициализация генератора // псевдослучайных чисел for(i = 0; i < n; i++) a[i] = rand() % 100 + 1; /*получили псевдослучайное число в диапазоне от 1 до 100 */ for(i = 0; i < n; i++) cout << a[i] << " "; cout << " ";}

Давайте разберем еще один пример на использование указателей. Напишем программу, которая печатает элементы массива в обратном порядке, используя указатель на элементы массива. Все необходимые знания для решения этой задачи у нас уже есть, теперь осталось проверить их на практике.

#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; Просмотров: 312; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.