Лабораторная работа 1. Процедуры ввода/вывода.
Лабораторная работа 1. Процедуры ввода/вывода.
Цель работы: изучить операторы ввода и вывода, форматы, используемые в этих операторах.
Теоретический материал
Форматный вывод
Вначале рассмотрим функцию, определяющую форматный вывод:
printf("управляющая строка", аргумент1, аргумент2, ... );
Управляющая строка содержит объекты трех типов: обычные символы, которые просто выводятся на экран дисплея, спецификации преобразования, каждая из которых вызывает вывод на экран значения очередного аргумента из последующего списка и управляющие символы-константы.
Каждая спецификация преобразования начинается со знака % и заканчивается некоторым символом, задающим преобразования.
Символ преобразования связан с типом переменных. приведем символы преобразования:
1) d – значением аргумента является десятичное целое число;
2) o – значением аргумента является восьмеричное целое число;
3) x – значением аргумента является шестнадцатеричное целое число;
4) c – значением аргумента является символ;
5) s – значением аргумента является строка символов;
6) e – значением аргумента является вещественное число в экспоненциальной форме;
7) f – значением аргумента является вещественное десятичное число с плавающей точкой;
8) u – значением аргумента является беззнаковое целое число;
9) p – значением аргумента является указатель (адрес).
Если после знака % записан не символ, то он выводится на экран. Функция printf использует управляющую строку, чтобы определить, сколько всего аргументов и каковы их типы.
Например, в результате работы программы получены переменная i, имеющая значение 100, и переменная j, имеющая значение 25. Обе переменные целого типа. Для вывода этих переменных на экран в виде
i=100 j=25
необходимо применить функцию
printf(“i=%d j=%d”,i,j);
Как было описано выше, в кавычках задается формат вывода. перед знаком % записываются символы, которые будут непосредственно выданы на экран. После знака % применена спецификация d, т.к. переменные i и j имеют целый тип. Сами i и j приведены через запятую в списке аргументов. Если результат должен быть представлен в виде
i=100; j=25
необходимо применить функцию
printf(“i=%d; j=%d, i, j);
Если после знака % стоит цифра, то она задает поле, в котором будет выполнен вывод числа.
Функция printf(“%2d”, S); выдает на экран:
Поскольку для вывода значения переменной b применена спецификация е, то результат выдан в экспоненциальной форме. Следует отметить, что , если ширина поля меньше, чем число цифр в числе, то поле автоматически расширяется до необходимого размера.
Как было отмечено выше, в управляющей строке могут содержаться управляющие символьные константы. Среди управляющих символьных констант наиболее часто используются следующие:
1) \a – для кратковременной подачи звукового сигнала;
2) \b – для перевода курсора влево на одну позицию;
3) \n – для перехода на новую строку;
4) \r – для перевода курсора в начало текущей строки;
5) \t – для горизонтальной табуляции;
6) \v – для вертикальной табуляции.
Предположим, в результате работы программы переменная i получила значение 50. В результате записи инструкции вызова функции
printf(“\t ЭВМ\n%d\n”,i);
сначала выполнится горизонтальная табуляция (\t), т.е. курсор сместится от края экрана на 8 позиций, затем на экран будет выведено слово “ЭВМ”, после этого курсор переместится в начало следующей строки (\n), затем будет выведено целое значение i по формату d, и окончательно курсор перейдет в начало новой строки (\n).
Ввод данных
Для форматного ввода данных используется функция
scanf(«управляющая строка», аргумент1, аргумент2,...);
Если в качестве аргумента используется переменная, то перед ее именем записывается символ &.
Управляющая строка содержит спецификации преобразования и используется для установления количества и типов аргументов. спецификации для определения типов аргументов такие же, как и для функции printf.
Рассмотрим пример. Требуется ввести значения для переменных i (целого типа) и a (вещественного типа). Эту задачу выполнит функция:
scanf(“%d%f”,&i,&a);
В управляющей строке спецификации трех типов могут быть отделены друг от друга различными знаками, в том числе и пробелом. Следовательно, при занесении значений переменных необходимо использовать указанный разделитель. Если спецификации не отделены одна от другой никакими значениями, то значения переменных заносятся через пробел.
Задание:
Написать программу и нарисовать блок-схему к ней согласно данному варианту.
Вариант 1.
Напишите программу вычисления суммы и произведения двух чисел.
Вариант 2.
Напишите программу нахождения гипотенузы и площади прямоугольного треугольника по двум катетам.
Вариант 3.
Напишите программу вычисления среднего арифметического двух чисел.
Вариант 4.
Напишите программу вычисления суммы четырёх слагаемых.
Вариант 5.
Напишите программу вычисления периметра и площади прямоугольного треугольника по двум катетам.
Вариант 6.
Программа запрашивает у пользователя a,b,c, вычислить значение выражения a2-(b-c)2+b2+1.
Вариант 7.
Программа запрашивает три числа a,b,c. Вывести на экран значения выражения
Вариант 8.
Программа запрашивает три числа a,b,c. Вывести на экран значения выражения
.
Вариант 9.
Программа запрашивает три числа a,b,c. Вывести на экран значения выражения
..
Вариант 10.
Найти площадь поверхности параллелепипеда по формуле:
S = 2 ( А В + В С + А С).
Вариант 11.
Найти площадь поверхности и объем куба по формулам:
S = 6 А2 V = A3
Вариант 12.
Найти объем ртути в сосуде по формуле:
Вариант 13.
Вычислить значение функции
Вариант 14.
На обучение одного ученика государство тратит в год 350 тыся рублей. Произвести расчёт затрат государства на обучение одного класса и всей школы, если в классах по 28 учащихся, а в школе 26 классов.
Вариант 15.
Вычислить длину вектора по формуле:
Вариант 16.
Вычислить вес человека, используя формулу:
Вариант 17.
Заработок рабочих на фабрике составил 1854 условные единицы. Этот заработок нужно разделить поровну между рабочими, количество которых N. Найти заработок одного рабочего.
Вариант 18.
Магазин продаёт автомашины по цене 25 тысяч условных единиц за каждую. Найти общую выручку от продажи, если количество машин – 45 штук.
Вариант 19.
На каждом из пяти одинаковых по длине участков дороги автомобиль шел с различной скоростью. Определить среднее время прохождения каждого из участков дороги.
Вариант 20.
Дана последовательность из шести чисел (они вводятся с клавиатуры). Найти сумму этих чисел и их среднее арифметическое. Вывести на экран полученные величины и сами числа на разных строках.
Вариант 21.
Вычислить стоимость дачного гарнитура, состоящего из четырёх стульев, двух кресел и стола. Стоимость каждого предмета вводится с клавиатуры
Вариант 22.
Рассчитать семейный бюджет на одного человека. Семья состоит из четырёх человек: отца, матери, сына и дочери. Отец и мать работают (т.е. приносят в семью деньги), сын и дочь – школьники (денег в семью не приносят). Зарплаты отца и матери вводятся с клавиатуры.
Вариант 23.
Найти площадь поверхности цилиндра и его объём по формулам:
Вариант 24.
Камень бросили в колодец и через Т секунд послышался плеск воды. На какой глубине от сруба находится вода в колодце?
Высота определяется по формуле:
Вариант 25.
Найти массу круглого цилиндрического стержня d=3,5 см и длиной l=11,56 см, сделанного из алюминия, плотность которого p=2,7 г/см. Формулы для расчёта:
Вариант 26.
Сколько времени проводит ученик в школе в тот день, когда у него К уроков по 40 минут, перемены между уроками по 5 минут и еще 2 урока по информатике, которые проходят без перемены?
Вариант 27.
Мальчик задумал целое число. Если его умножить на 8, затем прибавить 44, а потом разделить на 2, то получится 150. Какое число задумал мальчик?
Вариант 28.
Известна длина в сантиметрах. Преобразовать в километры и метры.
Вариант 29.
Дано целое трехзначное число N. Найти:
a) последнюю цифру числа N;
b) первую цифру числа N;
c) вторую цифру числа N;
d) сумму цифр данного числа
Вариант 30.
Дано вещественное число А, содержащее два знака до запятой и два после. Получить новое число, поменяв в числе А целую и дробную части.
Вариант 31.
Определить, какого объема получится файл, если набрать N символов.
Примечание. 1 символ занимает 1 байт; 1 Кбайт = 1024 байт.
Теоретический материал
Условный оператор IF
Условный оператор включает в себя операторы, которые выполняются или не выполняются в зависимости от записанного в операторе условия. Оператор имеет вид:
IF (условие) оператор1; Else оператор2;
где "условие" - выражение логического типа;
"оператор1" выполняется, если условие верно ( True ),
"оператор2" выполняется, если условие не верно ( False ).
Схема выполнения условного оператора имеет вид:
|
|
|
В условном операторе может отсутствовать блок Else оператор2; т. е. условный оператор может иметь вид:
IF (условие) опертор1;
например: IF(a<0) a:=a*а;
Задание:
Написать программу и нарисовать блок-схему к ней согласно данному варианту.
Вариант 1.
Программа вводит два числа a и b, если а > b, то программа вводит третье число с и находит сумму b+c. Если а=b, то программа печатает слово «Конец». Если а<b, то программа вводит третье число с, находит сумму a+b+c, выводит на экран сумму a+b+c и слова «Новый год!».
Вариант 2.
Программа вводит два числа a и b. Если а > b, то программа вводит третье число с, находит сумму a+b+c и выводит ее на экран. Если a<b, то находит разность a-b, если разность четная, то вводит третье число c и выводит его на экран. Во всех остальных случаях программа печатает слово «Конец».
Вариант 3.
Перераспределить значения переменных X и Y так, чтобы в X оказалось меньшее из этих значений, а в Y — большее.
Вариант 4.
Программа вводит два числа a и b, если а > b, то программа вводит третье число с. Находит сумму a+b+c и выводит ее на экран. Если a<b, то находит их разность b-c. Если разность нечетная, то ввести третье число и вывести на экран a+b. Во всех остальных случаях напечатать слово "Конец".
Вариант 5.
Программа просит пользователя ввести a и b, если a>b>5, то программа выводит на экран слово ”осень”, если a=b, то выводит значение выражения
,во всех остальных случаях ввести c и вывести значение выражения .
Вариант 6.
Программа просит пользователя ввести a и b и, если a<b то просит ввестис>0и находит значение выражения , в остальных случаях выводит на экран “Конец работы”.
Вариант 7.
Даны действительные числа x, y. Если x, y отрицательны, то каждое значение заменить его модулем; если отрицательное только одно из них, то оба значения увеличить на 0.5; если оба значения не отрицательны и ни одно из них не принадлежит отрезку [0.5, 2.0], то оба значения уменьшить в 10 раз; в остальных случаях x, y оставить без изменения.
Вариант 8.
Программа вводит 2 числа a и b. Если a=b, то программа выводит на экран значение выражения sin(a2+b2), если a<b, то – выводит на экран слово ’осень’. Если a<0 и b<0, то вводит третье число с и выводит на экран слова «конец программы» и значение выражения a+b-c.
Вариант 9.
Дано число: если оно кратно 4, то печатать «нужное число»; если оно кратно 3 и 5, то также печатать «нужное число», если число четное, то печатать "постороннее число", если четное число не кратно 6, то вывести на экран сообщение « четное число не кратно 6».
Вариант 10.
Программа вводит два числа a и b, если а > b, то программа вводит третье число с. Если а=b, то программа печатает слово «Конец». Если а<b, то программа вводит третье число с, если с<8, то программа находит значение выражения ln(a2+b2)+exp(c), выводит его и слова «Новый год» на экран.
Вариант 11.
Программа вводит целое число и, если оно >0 и чётное, программа вводит второе число. Если оба числа чётные, то программа выводит на экран сумму 2-х чисел, во всех чисел остальных случаях программа выводит на экран сообщение «конец работы».
Вариант 12.
Программа вводит три числа a,b,c.Если a-b>c, то вывести слово «зима», в остальных случаях вывести на экран «конец работы».
Вариант 13.
Программа вводит два числа a и b, если а > b, то программа вводит c и выводит на экран значение выражения , иначе - выводит разность a-b и слова «конец работы».
Вариант 14.
Программа вводит целое число a, если a>5, то вывести на экран выражение a+b, в противном случае вывести на экран слова «конец работы!».
Вариант 15.
Программа вводит два числа a и b, если a=b то вывести на экран слова «моя любимая футбольная команда», если a>b, то ввести c и вывести на экран значение выражения , если a<b, то вывести на экран слова «конец работы».
Вариант 16.
Программа вводит два числа a и b, если a=b, то вывести на экран слова «скоро Новый Год!», в противном случае ввести третье число с и вывести на экран 3 строки :
-значение выражения a+b+c
-значение выражения
-«До свиданья»
Вариант 17.
Даны три действительных числа. Выбрать из них те, которые принадлежат интервалу (1, 3).
Вариант 18.
Программа вводит 2 числа a и b. Если a<b, то программа вводит третье число c и выводит значение выражения a+b+c2. Во всех остальных случаях программа выводит на экран слова «конец программы».
Вариант 19.
Ввести два числа. Меньшее заменить суммой, а большее – удвоенным произведением.
Вариант 20.
Написать программу для вывода дней недели по их номеру:
1 - понедельник
2 - вторник
...
7 - воскресенье
С клавиатуры вводится номер дня недели.
Вариант 21.
Программа вводит два числа a и b, если а > b, то программа вводит третье число с. Если а=b, то программа печатает слово "Конец". Если, а<b, то программа вводит третье число с, находит разность a-b-c, выводит на экран разность и слова "Новый год".
Вариант 22.
Даны два действительных числа. Выбрать из них те, которые принадлежат интервалу (5, 7).
Вариант 23.
Даны три переменные: X, Y, Z. Если их значения упорядочены по убыванию, то удвоить их; в противном случае заменить значение каждой переменной на противоположное.
Вариант 24.
Найти минимум из трех чисел.
Вариант 25.
Найти максимум из двух чисел.
Вариант 26.
С клавиатуры вводятся два целых числа. Сравнить эти числа. Результат вывести в виде 3<5 или 3=3, или 3>2.
Вариант 27.
Дано два целых числа А и В. Вывести на экран 'Да', если число А делится на B, 'Hет', если число А не делится на В, 'Конечно', если А равно В.
Вариант 28.
Дано четырехзначное число N. Выяснить является ли число палиндромом ("перевертышем");
Вариант 29.
Дано квадратное уравнение a*x^2+b*x+c = 0. Проверить, есть ли корни у этого уравнения и найти их.
Вариант 30.
Определить по времени варки как сварилось яйцо (2 минуты - всмятку, 3 - в мешочек, 5 - крутое).
Вариант 31.
По температуре определить состояние воды ( твердое, жидкое, газообразное).
Теоретический материал
Понятие цикла.
Многократное повторение каких-либо действий (команд) называетсяциклом.
Алгоритм назывется циклическим, если он содержит один или несколько циклов.
Цикл FOR в Си.
Оператор цикла for имеет следующую структуру команды:
for(инициализация; проверка условия; изменение) оператор;
или в более общем виде:
for(выражение1; выражение2; выражение3) {оператор; }
Инициализация используется для присвоения начального значения параметру цикла. Проверка условия обычно содержит условное выражение. Оно позволяет определить момент завершения цикла. Изменение или приращение аргумента обычно используется для изменения параметра цикла. Названные составляющие команды цикла отделяются друг от друга точкой с запятой.
Цикл выполняется, если условие (условное выражение) истинно. Как только условие принимет значение "ложь" реализуется выход из цикла и начинает выполняться оператор, следующий за оператором цикла.
Например, простейший оператор цикла имеет вид:
for(i=0; i<10; i++) printf("%d\n", i);
При выполнении этого оператора будут распечатаны в столбик цифры: от 0 до 9. Чтобы напечатать цифры в обратном порядке, нужно использовать другой оператор:
for(i=9; i>=0; i--) printf("%d\n", i);
Схема выполнения оператора цикла имеет вид:
|
|
Задание:
Написать программу и нарисовать блок-схему к ней согласно данному варианту.
Вариант 1.
Дано n чисел. Найти среднее арифметическое этих чисел.
Вариант 2.
Программа запрашивает, сколько чисел хочет сложить пользователь. Программа просит ввести эти числа, а затем выводит полученную сумму.
Вариант 3.
Программа запрашивает количество чисел и вводит числа в соответствии с этим количеством. Программа определяет количество отрицательных чисел, сумму всех положительных.
Вариант 4.
Программа запрашивает количество чисел, вводит целые числа в соответствии с заявленным количеством, определяет, сколько чисел больше 15. Результат вывести на экран.
Вариант 5.
Программа запрашивает количество чисел, затем вводит целые числа в соответствии с указанным количеством. Программа находит сумму отрицательных и сумму нечетных чисел.
Вариант 6.
Программа выводит на экран в столбик числа от 0 до 100.
Вариант 7.
Программа вводит натуральное n, затем вводит числа в соответствии с этим количеством. Найти сумму тех чисел, порядковый номер которых кратен 3.
Вариант 8.
Программа вводит натуральное n, затем вводит числа в соответствии с этим количеством. Найти количество тех чисел, которые больше 10.
Вариант 9.
Программа запрашивает количество чисел, затем вводит целые числа в соответствии с указанным количеством, находит среднее арифметическое и сумму отрицательных чисел, которые < -20.
Вариант 10.
Программа запрашивает количество чисел, затем вводит целые числа в соответствии с указанным количеством. Определяет количество четных чисел.
Вариант 11.
Программа запрашивает количество чисел, затем вводит целые числа в соответствии с указанным количеством. Программа находит сумму отрицательных чисел и сумму нечетных. Программа выводит ту сумму, которая больше.
Вариант 12.
Программа запрашивает количество и вводит целые числа в соответствии с этим количеством. Программа находит сумму всех положительных чисел, количество отрицательных чисел, а так же среднее арифметическое.
Вариант 13.
Дано n целых чисел. Найти максимум среди этих чисел.
Вариант 14.
Дано n целых чисел. Найти минимум среди этих чисел.
Вариант 15.
Программа запрашивает количество чисел, затем вводит целые числа в соответствии с указанным количеством. Программа находит сумму отрицательных, сумму нечетных. Программа выводит ту сумму, которая меньше.
Вариант 16.
Программа запрашивает у пользователя количество чисел, вводит целые числа в соответствии с заданным количеством. Найти количество нечетных чисел.
Вариант 17.
Дано N целых чисел. Найти минимум среди положительных чисел и максимум среди отрицательных.
Вариант 18.
Программа запрашивает у пользователя количество чисел, вводит целые числа в соответствии с заданным количеством. Если числа больше 50, то посчитать их сумму, если меньше, то определить количество таких чисел.
Вариант 19.
Напишите программу, которая из N чисел определяет максимум и среднее арифметическое.
Вариант 20.
Дано 100 целых чисел. Вычислить разность между максимальным и минимальным элементами.
Вариант 21.
Программа запрашивает у пользователя количество чисел, вводит целые числа в соответствии с заданным количеством. Найти максимальный элемент среди чисел, введенных под номерами с 5 по 10.
Вариант 22.
Программа запрашивает у пользователя количество чисел, вводит вещественные числа. Найти максимальный и минимальный элементы и вывести их произведение.
Вариант 23.
Программа запрашивает у пользователя количество чисел, вводит целые числа в соответствии с заданным количеством. Программа определяет количество отрицательных целых чисел, кратных 2.
Вариант 24.
Программа запрашивает у пользователя количество чисел. Программа вводит числа в соответствии с заданным количеством и выводит на экран количество таких чисел, которые кратны числу, заданному пользователем.
Вариант 25.
Программа запрашивает у пользователя количество чисел, вводит целые числа в соответствии с заданным количеством. Найти минимальный элемент среди чисел, введенных под номерами с 7 по 15.
Вариант 26.
Составить программу, по которой компьютер выводит заданное число N раз.
Вариант 27.
Вычислить значения функции y = а / х + b при x=0, 1, 2, 3,...,10. Значения a и b вводятся с клавиатуры.
Вариант 28.
Найти произведение целых нечетных чисел в промежутке [m, n], где m, n – произвольные числа (вводятся с клавиатуры).
Вариант 29.
Составить программу нахождения всех делителей числа N. Если число N простое, то сообщить об этом.
Вариант 30.
Составить программу, по которой выводится список всех костей домино.
Вариант 31.
Составить программу, по которой выводится таблица умножения.
Теоретический материал
Массив – это тип данных, представляющий собой ограниченный набор упорядоченных элементов одного и того же типа, имеющих одно и то же имя.
Как и другие переменные, массив должен быть объявлен. Существует несколько способов объявления массива.
Общая форма объявления одномерного массива имеет следующий вид:
тип имя [размер]
где тип – базовый тип элемента массива;
имя – идентификатор массива;
размер – количество элементов в массиве.
Доступ к элементу массива осуществляется с помощью имени массива и индекса. Индекс элемента массива помещается в квадратных скобках после имени. Нижнее значение индекса всегда нуль.
Таким образом, элементами массива, состоящего из Nэлементов, являются переменные с индексами
a[0],a[1],…,a[N–1].
В качестве N в описании должна стоять целая положительная константа.
Пример программы
Найти N = 15
# include <stdio.h>
int main()
{
float x[15],s;
int i;
for (i=0;i<15;i++)
scanf("%f",&x[i]);
s=0;
for (i=0;i<15;i++)
s=s+x[i];
printf("\n S=%f",s);
}
Задание:
Написать программу и нарисовать блок-схему к ней согласно данному варианту.
Вариант 1.
Программа заполняет одномерный массив из 10 целых чисел числами, считанными с клавиатуры. Программа определяет сумму положительных чисел и среднее арифметическое всех чисел массива.
Вариант 2.
Программа заполняет массив из 10 целых чисел случайными числами в диапазоне от -3 до 8. Программа находит максимальное число.
Вариант 3.
Одномерный массив чисел X[10] вывести пары отрицательных чисел, стоящих рядом.
Вариант 4.
Программа сортирует массив из 5 целых чисел «пузырьком», массив из 10 - вставкой и сливает их в массив из 15.
Вариант 5.
Одномерный массив из 10-и целых чисел заполнить с клавиатуры, определить сумму тех чисел, которые >5.
Вариант 6.
Дан одномерный массив из вещественных чисел. Ввести число с и найти значение выражения ,где a – элементы массива.
Вариант 7.
Напечатать массив из 10 вещественных элементов в обратном порядке.
Вариант 8.
Дан массив целых чисел. Найти максимальный элемент массива и его порядковый номер.
Вариант 9.
Дан массив целых чисел. Найти минимальный элемент массива и его порядковый номер.
Вариант 10.
В массиве целых чисел поменять местами максимальный и минимальный элементы.
Вариант 11.
Упорядочить массив целых чисел по возрастанию.
Вариант 12.
Упорядочить массив целых чисел по убыванию.
Вариант 13.
Дан массив целых чисел. Найти сумму элементов с четными номерами и произведение элементов с нечетными номерами.
Вариант 14.
В массиве действительных чисел все нулевые элементы заменить на среднее арифметическое всех элементов массива.
Вариант 15.
Дан массив целых чисел. Переписать все положительные элементы во второй массив, а остальные - в третий.
Вариант 16.
Дан массив целых чисел. Найти максимальный элемент массива и количество таких элементов в массиве
Вариант 17.
Переставить в одномерном массиве второй элемент и максимальный.
Вариант 18.
Дан массив целых чисел. Найти минимальный элемент массива и количество таких элементов в массиве
Вариант 19.
Дан одномерный массив из 8 элементов. Заменить все элементы массива меньшие 15 их удвоенными значениями. Вывести на экран монитора преобразованный массив.
Вариант 20.
Дан одномерный массив целого типа. Получить другой массив, состоящий только из нечетных чисел исходного массива или сообщить, что таких чисел нет. Полученный массив вывести в порядке убывания элементов.
Вариант 21.
Дан одномерный массив действительного типа. Получить другой массив, состоящий только из неотрицательных чисел исходного массива или сообщить, что таких чисел нет. Полученный массив вывести в порядке возрастания элементов.
Вариант 22.
Дан одномерный массив из 8 элементов. Элементам массива меньше 10 присвоить нулевые значения, а элементам больше 20 присвоить 1. Вывести на экран монитора первоначальный и преобразованный массивы в строчку.
Вариант 23.
Дан одномерный массив целого типа. Получить другой массив, состоящий только из четных чисел исходного массива, меньше 10, или сообщить, что таких чисел нет. Полученный массив вывести в порядке возрастания элементов.
Вариант 24.
Дан массив целых чисел. Найти сумму элементов массива с четными номерами.
Вариант 25.
Дан массив целых чисел. Найти произведение элементов массива с нечетными номерами.
Вариант 26.
Дан массив целых чисел. Найти минимальное количество подряд идущих максимальных элементов из данного набора.
Вариант 27.
Даны целые числа N (> 2), A и B. Сформировать и вывести целочисленный массив размера N, первый элемент которого равен A, второй равен B, а каждый последующий элемент равен сумме всех предыдущих.
Вариант 28.
Дан массив A ненулевых целых чисел размера 10. Вывести значение первого из тех его элементов A[k], которые удовлетворяют неравенству A[k] < A[10]. Если таких элементов нет, то вывести 0.
Вариант 29.
Даны массивы A и B одинакового размера 10. Поменять местами их содержимое и вывести вначале элементы преобразованного массива A, а затем — элементы преобразованного массива B.
Вариант 30.
Дан целочисленный массив размера 10. Удалить из массива все одинаковые элементы, оставив их 1 раз.
Вариант 31.
Дан целочисленный массив размера 10. Увеличить все четные числа, содержащиеся в массиве, на 2. Если четные числа в массиве отсутствуют, то оставить массив без изменений.
Теоретический материал
Массивы, рассмотренные выше, имеют элементы, упорядоченные по одному индексу и называются одномерными массивами или векторами. Массив может быть двумерным. Двумерные массивы имеют элементы, упорядоченные по двум индексам и часто называются матрицами.
Пример задачи: Дан двухмерный массив. Необходимо, сделать ввод/вывод двумерного массива. Найти максимальный элемент двумерного массива.
#include <stdio.h>
void main () {
int X[3][3]; //объявляем массив целого типа
int i,j; //переменные для цикла
int max; //Переменная для вычисления максимального числа
for (i = 0; i <3 ; i++)
for (j = 0; j <3 ; j++) //цикл ввода массива
scanf(“%d”,&x[i][j]);
for (i = 0; i < n ; i++) //цикл вывода массива
for (j = 0; j < n ; j++)
printf(“%d\n”,x[i][j]);
max = X[0][0]; //Допустим маскимальное число - это первое число массива
for (i = 0; i < n ; i++) //цикл находжение максимального элемента массива
for (j = 0; j < n ; j++)
if (X[i][j]> max) //если есть число большее, чем max
max = X[i][j]; //тогда max принимает значение этого числа
printf(“max=%d\n”,max);
}
Задание:
Написать программу и нарисовать блок-схему к ней согласно данному варианту.
Вариант 1.
Даны две матрицы А(3x4) и В(3x3). Программа находит и выводит на экран сумму элементов последнего столбца матрицы А и сумму элементов 2-й строки матрицы В.
Вариант 2.
Даны матрицы А(3x4). Программа определяет, сколько положительных элементов в матрице.
Вариант 3.
Даны две матрицы А(3x3) и В(3x3). Программа находит и распечатывает сумму элементов 5-го столбца матрицы А и сумму элементов последней строки матрицы В.
Вариант 4.
Дана матрица А(3x4. Программа находит максимальный элемент I-ой строки и выводит его на экран.
Вариант 5.
Даны матрицы А[3][3] и В[3][3]. Программа выводит матрицу С=А+В
Вариант 6.
Программа вводит целую матрицу А(3x4) и выводит транспонированную к ней матрицу А’, все элементы которой уменьшены в 2 раза.
Вариант 7.
Написать программу, которая вводит целочисленную матрицу А(4x4), находит сумму элементов главной диагонали и количество четных элементов матрицы.
Вариант 8.
Дана матрица А(4x3). Программа находит и распечатывает сумму элементов 2-го столбца матрицы А.
Вариант 9.
Программа находит среднее арифметическое вещественной матрицы А(2x2).
Вариант 10.
Дана матрица А(3x4). Программа находит максимальный элемент 2-го столбца.
Вариант 11.
Даны матрицы А(4x3) и В(2x2). Программа определяет, сколько нулей в матрице А и сколько единиц в матрице В, результат выводит на экран.
Вариант 12.
Дана матрица А(3х4). Определить количество положительных элементов каждого столбца матрицы А и сформировать из них одномерный массив В(4).
Вариант 13.
Найти минимальный элемент матрицы X(4х4) и вывести на экран номер строки и столбца, в которых он находится.
Вариант 14.
Даны матрицы А[3x3] и В[2x2]. Сформировать одномерный массив С, который содержит все элементы двумерного массива А, меньшие максимального элемента матрицы В.
Вариант 15.
Даны матрицы А[4х4], В [4x4] и q. Вывести на экран все элементы массива А, которые меньше, чем максимальный элемент столбца матрицы В, номер которого задается значением q.
Вариант 16.
Вычислить сумму чисел в каждой строке матрицы А(3х4).
Вариант 17.
Вычислить произведение чисел в каждом столбце матрицы А(3х4).
Вариант 18.
Вычислить количество положительных чисел в каждом столбце матрицы А(3х4).
Вариант 19.
Дана матрица А(4х4).Вычислить сумму чисел для каждого столбца, удовлетворяющих условию а[i,j] > х. Здесь х- произвольная величина.
Вариант 20.
Дана матрица А(4х4).Вычислить значение наибольшего элемента для каждой строки массива.
Вариант 21.
Дана матрица А(3х4).Вычислить значение наименьшего элемента для каждого столбца массива.
Вариант 22.
Дана матрица А(3х4).Вычислить значение наибольшего элемента и его индекс для каждого столбца массива
Вариант 23.
Дана матрица А(3х4).Вычислить сумму элементов для каждого столбца. Поменять местами столбцы с максимальным и минимальным значением суммы.
Вариант 24.
Дана матрица А(3х4).Вычислить сумму отрицательных чисел в каждой строке.
Вариант 25.
Дана матрица А(3х4).Вычислить среднее значение чисел в каждой строке массива.
Вариант 26.
Дана матрица размера 3 × 4. Преобразовать матрицу, поменяв местами минимальный и максимальный элемент в каждой строке.
Вариант 27.
Дана матрица размера 4 × 4. Найти количество ее строк, элементы которых упорядочены по возрастанию.
Вариант 28.
Дана целочисленная матрица размера 4 × 4. Найти количество ее столбцов, все элементы которых различны
Вариант 29.
Дана целочисленная матрица размера 3 × 4. Найти номер первого из ее столбцов, содержащих только нечетные числа. Если таких столбцов нет, то вывести 0.
Вариант 30.
Дана матрица размера 4 × 4. Преобразовать матрицу, поменяв местами минимальный и максимальный элемент в каждом столбце.
Вариант 31.
Д