Использование массивов при работе с многоразрядными числами.
5.1. Стозначное число можно хранить в памяти машины с помощью одномерного массива. Написать программу сложения двух стозначных чисел.
5.2. Написать программу точно вычисляющую число 2-1000.
5.3. Точно вычислить N! при больших N (N<=100).
5.4. Сложить два многоразрядных числа разной длины N и M (N, M<=100).
5.5. Умножить N-разрядное число (N<=20) на целое K (0<K<=100). (Умножение "столбиком").
5.6. Найти наименьшее натуральное число, оканчивающееся на N, такое, что в результате умножения этого числа на N получается то же самое число, что и в результате перенесения последней цифры в начало числа. Такие числа существуют для всех цифр от 1 до 9.
Например для N=1 это 1
для N=2 это 105263157894736842
для N=3 это 1034482758620689655172413793
для N=4 это 102564
Сложные задачи
6.1. Известно количество денег у каждого из N учеников, а также стоимость 4 комплексных обедов в школьной столовой. Вывести сколько каких обедов будет куплено и сколько учеников останутся голодными, если каждый ученик выбирает наиболее дорогой обед, который он может купить.
6.2. Исходные данные содержат сведения: название магазина, наименование товара, цена, количество товара. Число товаров в каждом магазине различно и заранее неизвестно. Количество магазинов равно К; названия их даны. Требуется выдать сведения о самом дорогом товаре в каждом магазине.
6.3. Даны сведения о соревновании фигуристов в виде: фамилия, название спортивного общества, девять оценок за выступление. Требуется по каждому из N спортивных обществ выдать справку о лучшем результате фигуриста. (Балл, полученный фигуристом, считается следующим образом: максимальная и минимальная оценки (по одной, если их несколько) отбрасываются, из остальных ищется среднее). Названия обществ заданы.
|
|
6.4. В конкурсе на наиболее точный прогноз курса доллара приняло участие 200 человек. В качестве претендентов на победу рассматриваются те, чей прогноз отклоняется от реального курса в заданный день не более чем на N рублей в ту или другую сторону. Определить фамилию победителя (или победителей, если их несколько), чей прогноз наиболее близок к реальному курсу.
6.5. Дан список из M наименований газет. Каждый из опрошенных назвал 3 любимые газеты, отметив их порядковые номера в списке. Количество опрошенных заранее неизвестно. Напечатать список десяти читаемых газет.
6.6. Заданы сведения о затратах на строительство каждой из 10 школ района, построенных за последние 20 лет. По каждой школе известны: год начала строительства, количество лет строительства, затраты на каждый год строительства. Определить суммарные затраты района на строительство школ за каждый год из последних двадцати.
|
|
6.7. Имеется прейскурант К услуг по ремонту автомобилей в виде: название, шифр и стоимость услуг. Для каждого автомобиля известны наряд-заказы в виде: фамилия владельца автомобиля и шифры осуществленных видов ремонта. Подсчитать стоимость ремонта для каждого автомобиля и выдать ее с указанием фамилии владельца. Подсчитать суммарную стоимость каждого вида ремонта с указанием шифра и названия.
6.8. Проводятся соревнования по плаванию в Европе и в Америке (отдельно). Участвуют N - спортсменов в Европе и М - в Америке. О каждом участнике известно: фамилия, результаты заплыва в порядке выступления и страна участника. Составить общий список лучших результатов в мире, состоящий из всех участников, с указанием всех данных. Дополнительных массивов не использовать.
6.9. Известны сведения о сотрудниках двух отделов предприятия: фамилия и зарплата. Количество человек в отделах одинаковое N. Данные вводятся по каждому отделу отдельно в порядке возрастания зарплаты (это проверить при вводе). Получить общий список сотрудников (новый массив) в порядке убывания зарплаты (новый массив не сортировать).
6.10. Проведены два забега по 20 человек. Известны фамилии и время забега. Финал - 5 лучших результатов. Напечатать финалистов. Предусмотреть, что список может быть расширен за счет спортсменов со временем <= 0.5 от последнего финалиста.
|
|
6.11. В магазине имеются товары разных наименований. В течение дня каждый из М покупателей сообщил о своем намерении приобрести определенное количество товара одного из наименований. Определить суммарный спрос на товары каждого наименования. Расположить товары в порядке убывания дневного спроса на них.
6.12. Исходные данные о продукции предприятия. Для каждого наименования производимой продукции заданы: расход К видов материалов на единицу выпускаемой продукции и план выпуска на год. Количество наименований продукции заранее неизвестно. Определить планируемый расход каждого из К видов материала за год.
6.13. Имеются данные о потреблении энергии К предприятий города в течение суток (24 часа). Для каждого предприятия известны часы работы и потребляемая мощность за каждый час работы. Для каждого часа суток вывести суммарно потребляемую мощность и количество предприятий, работающих в этот час.
6.14. Каждый из М магазинов в течение месяца работал D(i) дней(i=1,2,3,...,M).
Известна прибыль каждого из магазинов в каждый день работы. Необходимо напечатать упорядоченный по месячным доходам список названий магазинов, имеющих прибыль в пересчете на 1 день работы выше среднедневной прибыли по всем магазинам.
|
|
6.15. Библиотека закрыта на санитарный день каждый четверг месяца. Напечатать график санитарных дней библиотеки на год, если известно, что 1 января года - среда (1 января вводится), а в году 365 дней (неизвестно сколько).
6.16. Задана последовательность из М натуральных чисел. Определить 4 наиболее часто встречаемые цифры в последовательности.
6.17 Каждое из фермерских хозяйств представило перечень из К машин различных наименований (марок) на их приобретение в одном экземпляре (М и К задано). Составить общий перечень необходимых марок машин, с указанием их количества, расположив марки в порядке убывания потребности в них. Проконтролировать ввод.
6.18. С целью выявления лучших спортсменов года М журналистам был представлен список из К спортсменов. В виде: номер в списке, фамилия, вид спорта. Каждый из журналистов указал различные номера 5 спортсменов. Для произвольно заданного вида спорта найти 3 лучших спортсмена.
6.19. Имеется 10 популярных политиков в списке. Опросили N журналистов, каждый из которых назвал не более трех разных, имеющихся в списке, как вероятных кандидатов. Получить пронумерованный список политиков, которых никто не назвал.
6.20 Каждый из М опрошенных членов жюри назвал 5 разных фамилий возможных претендентов на 1-ое место. Определить спортсмена, который является наиболее вероятным победителем. Получить список фамилий спортсменов, если несколько спортсменов получили равное количество голосов.
6.21 По результатам опроса прошлого года известен список 10 политических деятелей в порядке убывания популярности. Провести новый опрос. Каждый из М журналистов назвал по 3 разных фамилии из списка. Составить новый список, упорядоченный по результатам нового опроса, с указанием места прошлого опроса.
6.22. Список 20 певцов упорядочен по результатам опроса прошлого месяца. N человек называют одного певца. Получить список 20 самых популярных певцов этого месяца с указанием места прошлого опроса (если оно было).
6.23. В разных городах провели опрос одинакового (в % отношении) количества жителей на предмет употребления наркотиков. Обследовали N человек (общее число). Определить города с максимальной тенденцией употребления наркотиков, учитывая, что результаты не упорядочены по городам.
6.24 В разных городах провели опрос одинакового (в % отношении) количества жителей на предмет доверия правительству. Опросили N человек. Определить города, большинство населения которых доверяет правительству. Учесть, что опрос не упорядочен по городам.
6.25. Каждая из М библиотек района составляет заявку. Заявка содержит перечень книг, состоящий не более чем из 20 наименований. В каждой строке заявки указывается название книги, фамилия автора и количество книг. Определить суммарный спрос на каждую из указанных книг и напечатать список книг по убыванию.
6.26. Из разных городов выбрали заданное число М-семей. Семья характеризуется количеством ее членов и доходом каждого члена семьи. Для каждого из городов сформировать перечень семей, с минимальным доходом в пересчете на 1 члена семьи.
6.27. Дана выработка в М цехах за каждый рабочий день (5 дней). Определить среднее значение выработки по каждому цеху и по заводу в целом, а так же напечатать название дня недели с минимальной выработкой.
6.28. В таблицу введены даты последнего медосмотра учащихся, обозначенные
4-хзначными числами. Первые две цифры число, последние две месяц. Учитывая, что проходить медосмотр необходимо каждые два месяца и в месяцах по 30 дней, вывести порядковые номера учащихся, которые не прошли медосмотр на текущий день месяца. Текущий день, месяц, количество учащихся вводятся с клавиатуры.
6.29) Ежедневно в течение месяца измеряли уровень шума вблизи n предприятий города (n - заданное число). Известны названия предприятий. Составить алгоритм и программу, позволяющие определить предприятие, вблизи которого наблюдался максимальный уровень шума, и день, в который наблюдался этот уровень. Кроме того, надо определить каким днем недели является этот день, если известно, с какого дня недели начинается месяц, а в месяце 30 дней.
6.30) Составить алгоритм и программу, которые составляют общий перечень необходимых марок машин для n фермерских хозяйств с указанием их количеств. Каждое фермерское хозяйство представило свой перечень из m машин разных наименований (марок) и потребность в каждой из них (п и m с заданы).
6.31) Составить алгоритм и программу, которые из 8-ми строительных объектов, использующих по пять строительных материалов, определяют, какой объект использует наибольшее количество материалов: а) по общему весу, б) по общей стоимости. Известно потребление в кг. каждого материала каждым объектом, а также стоимость одного кг каждого материала.
6.32) Составить алгоритм и программу, которые составляют список номеров групп студентов, которым необходимо повысить успеваемость до фактического среднего уровня, если каждая из 30 групп имеет свой процент успеваемости (от 0% до 100%). Список расположить в порядке убывания процента успеваемости этих групп.
6.33) Составить алгоритм и программу, которые выводят на экран список названий месяцев, в которых среднемесячная температура была выше 7 градусов, если известны среднемесячные температуры за год. Список названий месяцев расположить в порядке убывания среднемесячных температур.
6.34) 200 учеников шести школ города (номера школ заданы) принимают участие в тестировании по математике. Правильные численные ответы к пяти предложенным задачам заданы.О каждом ученике известно: фамилия, номер школы и пять ответов на задачи. Сведения об учениках не имеют определенной упорядоченности. Составить алгоритм и программу, позволяющие получить списки учеников по школам, расположив в каждом списке фамилии в· порядке убывания количества решенных задач. Предусмотреть возможный ответ «не решил ни одной задачи».
6.35) Каждая из m библиотек района (m - задано) составила заявку на приобретение книг. Заявка содержит перечень книг, состоящий не более чем из 20-ти наименований. Каждая библиотека в каждой строке заявки указывает название книги, фамилию автора, а также количество экземпляров. Составить алгоритм и программу, позволяющие определить суммарный запрос на каждую их указанных книг, и напечатать общий список книг в порядке убывания спроса.
6.36) Каждый из 10-ти машиностроительных заводов области специализируется на традиционных для данного завода видах продукции (не более 20-ти видов). Названия видов известны. Составить алгоритм и программу, позволяющие определить виды продукции, выпуск которых дублируется заводами, и перечислить номера этих заводов. Нумерация заводов от 1 до 10.
6.37) Произведен опрос 1000 жителей Москвы. Каждый из них назвал фамилию самого любимого телеведущего. Составить алгоритм и программу вывода на экран пронумерованного списка фамилий первых десяти наиболее популярных ведущих, расположив фамилии в списке в порядке уменьшения количества поданных за них голосов. Учесть, что общее число фамилий может быть меньше 10-ти.
Записи
1. Известны следующие данные о N студентах: фамилия, имя, отчество, номер группы и три оценки (первая по матанализу, вторая по алгебре, третья по программированию). Вывести всю информацию о студентах, имеющих задолжность хотя бы по одному предмету.
2. Имеется массив данных о К работающих в фирме: фамилия, имя, отчество, адрес (улица, дом, квартира) и дата поступления на работу (месяц, год). Во второй массив записать только тех из них, кто проживает по определенной улице. Название улицы вводится с клавиатуры.
3. Известны следующие данные о N студентах: фамилия, имя, отчество, номер группы и три оценки (первая по матанализу, вторая по алгебре, третья по программированию). Вывести всю информацию о студентах, сдавших все экзамены на 4 и 5, а также "качество" успеваемости, т.е. процент таких студентов.
4. Имеется массив данных о К работающих в фирме: фамилия, имя, отчество, адрес (улица, дом, квартира) и дата поступления на работу (месяц, год). Во второй массив записать только тех из них, кто поступил на работу в определенную дату. Дата (месяц и год) вводится с клавиатуры.
5. Известны следующие данные о N студентах: фамилия, имя, отчество, номер группы и три оценки (первая по матанализу, вторая по алгебре, третья по программированию). Вывести всю информацию о студентах в алфавитном порядке, а также вывести название предмета, который был сдан лучше всего.
6. Имеется массив данных о К работающих в фирме: фамилия, имя, отчество, адрес (улица, дом, квартира) и дата поступления на работу (месяц, год). Во второй массив записать только тех из них, кто имеет интересующую нас фамилию. Фамилия вводится с клавиатуры.
7. Известны следующие данные о N студентах: фамилия, имя, отчество, номер группы и три оценки (первая по матанализу, вторая по алгебре, третья по программированию). Вывести всю информацию о студентах. Вывести номера групп в порядке убывания средней успеваемости их студентов.
8. Имеется массив данных о К учениках: фамилия, имя, отчество, класс и адрес (улица, дом, квартира). Во второй массив записать только тех, кто учится в девятых классах.
9. Известны следующие данные о N сотрудниках: фамилия, имя, отчество, пол (в виде буквы М или Ж), возраст, номер отдела. Вывести номер отдела, в котором наибольший процент мужчин и полный список этого отдела. (Считаем, что такой отдел единственный).
10. Имеется массив данных о К учениках: фамилия, имя, отчество, класс и адрес (улица, дом, квартира). Во второй массив записать только тех, кто учится в девятых классах. В третий массив записать тех, кто учится в восьмых классах. Вывести, на сколько человек в восьмых классах больше, чем в девятых.
11. Известны следующие данные о N сотрудниках: фамилия, имя, отчество, пол (в виде буквы М или Ж), возраст, номер отдела. Вывести список сотрудников в алфавитном порядке. Вывести самое распространенное мужское и женское имя.
12. Даны сведения о К пассажирах авиарейса: фамилия, имя, отчество, место в самолете, количество вещей и вес вещей в килограммах. Во второй массив записать только тех пассажиров, которые имеют количество вещей превосходящее среднее число вещей.
13. Известны следующие данные о N сотрудниках: фамилия, имя, отчество, пол (в виде буквы М или Ж), возраст, номер отдела. Вывести номер отдела, в котором средний возраст мужчин превосходит за данное число А и полный список этого отдела. (Считаем, что такой отдел единственный).
14. Даны сведения о К пассажирах авиарейса: фамилия, имя, отчество, место в самолете, количество вещей и вес вещей в килограммах. Во второй массив записать только тех пассажиров, багаж которых состоит из одной вещи весом менее 30 кг.
15. Известны следующие данные о N сотрудниках: фамилия, имя, отчество, пол (в виде буквы М или Ж), возраст, номер отдела. Вывести список сотрудников в порядке увеличения возраста. Вывести номер отдела, в котором самый большой средний возраст сотрудников.
16. Даны сведения о К пассажирах авиарейса: фамилия, имя, отчество, место в самолете, количество вещей и вес вещей в килограммах. Во второй массив записать только тех пассажиров с багажом, средний вес одной вещи в котором отличается не более чем на 0,3 кг от общего среднего веса одной вещи.
17. Известны следующие данные о N учениках класса: фамилия, имя, отчество, адрес (улица, дом, квартира) и домашний телефон (если есть). Вывести на экран в каждой строке фамилию, имя и адрес тех учеников, у которых нет домашнего телефона.
18. Даны сведения о К пассажирах авиарейса: фамилия, имя, отчество, место в самолете, количество вещей и вес вещей в килограммах. Во второй массив записать только пассажиров с багажом, средний вес одной вещи в котором отличается не более чем на 0,3 кг веса от общего среднего веса одной вещи.
19. Известны следующие данные о N учениках нескольких школ: фамилия, имя, отчество, адрес (улица, дом, квартира), школа и класс. Вывести на экран в каждой строке фамилию, имя и адрес тех учеников, которые учатся в данной школе в старших классах (номер школы вводится с клавиатуры).
20. Даны сведения о К пассажирах авиарейса: фамилия, имя, отчество, место в самолете, количество вещей и вес вещей в килограммах. Во второй массив записать только тех пассажиров, багаж которых состоит из одной вещи весом менее 30 кг.
21. Известны следующие данные о N учениках класса: фамилия, имя, отчество, дата рождения (число, месяц и год). Вывести на экран в каждой строке фамилию и имя тех учеников, у кого сегодня день рождения (сегодняшнюю дату вводить с клавиатуры).
22. Даны сведения о К пассажирах авиарейса: фамилия, имя, отчество, место в самолете, количество вещей и вес вещей в килограммах. Во второй массив записать только тех пассажиров, которые имеют количество вещей превосходящее среднее число вещей.
23. Известны следующие данные о N учениках школы: фамилия, имя, отчество, адрес (улица, дом, квартира), класс. Записать все данные об учениках определенного класса во второй массив. Распечатать его, выделяя тех из них, кто живет на улице Ленина.
24. Известны следующие данные о расписании К поездов: номер поезда, направление (откуда - куда, Киров - Москва), время прибытия на станцию, время отправления (часы, минуты). Будем считать, что все поезда приходят каждый день. По данному времени определить, какие из поездов стоят сейчас на станции (время вводить с клавиатуры).
Двумерные массивы
Работа с элементами
1.1. Дана матрица А(n, n). Вычислить сумму диагональных элементов (вложенных циклов не использовать):
а) на главной диагонали;
б) на побочной диагонали.
1.2. Вычислить сумму граничных элементов матрицы А(n, m) (вложенных циклов не использовать).
1.3. Определить число отрицательных и число положительных элементов матрицы А(n, m).
1.4. Вычислить сумму абсолютных значений элементов двумерного массива А(n, n), стоящих
а) на главной диагонали и под ней;
б) на побочной диагонали и под ней.
1.5. В каждой строке двумерной матрицы (n, m), состоящей из произвольных чисел, вычислить количество, сумму и среднее арифметическое отрицательных элементов.
1.6. В двумерной матрице A(N, N), состоящей из произвольных чисел, вычислить сумму элементов сумма индексов которых равна N.(не употреблять вложенные циклы).
1.7. Из двумерной матрицы A(N, N), состоящей из произвольных чисел, получить одномерный массив из элементов сумма индексов которых равна N. (не употреблять вложенные циклы).
1.8. В двумерной матрице A(N, N), состоящей из произвольных чисел, вычислить среднее арифметическое положительных чисел и количество нулевых элементов.
1.9. В каждой строке двумерной матрицы (n, m), состоящей из произвольных чисел, вычислить среднее арифметическое элементов, значения которых находятся в за данном диапазоне. Диапазон задан значениями нижней и верхней границ, при этом значения границ в диапазон не входят.
1.10. В двумерной матрице A(N, M), состоящей из произвольных чисел, определить номера столбцов, в которых среднее арифметическое его элементов меньше чем среднее арифметическое элементов массива.
1.11. В двумерной матрице A(N, M), состоящей из произвольных чисел, найти количество положительных элементов в каждом столбце
а) результат получить в одномерном массиве;
б) результат сразу выводить на экран.
1.12. В двумерной матрице A(N, M), состоящей из произвольных чисел, в каждой строке найти сумму и количество элементов кратных К1 или К2 (К1 и К2 - вводятся с клавиатуры).
1.13. В двумерной матрице A(N ,M), состоящей из произвольных чисел, в каждом столбце найти сумму и количество простых чисел.
1.14. Матрица A(n, m) (m - кратно 4) разделена по вертикали на две половины. Определить сумму элементов каждого столбца левой половины и сумму элементов каждого четного столбца правой половины матрицы А.
1.15. Дана квадратная матрица порядка N. Две диагонали делят ее на 4 треугольника. Найти сумму всех положительных элементов, находящихся в верхнем треугольнике. Элементы, находящиеся на диагонали учитывать.
Дата добавления: 2018-11-24; просмотров: 718; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!