2. Практичне завдання
Написать программу на языке С/С++, используя функции.
Вариант 1.
Написать функцию пересчета температуры из градусов Фаренгейта в градусы Цельсия (С° = 5/9·(F°–32)) и программу, использующую эту функцию, которая выводит на экран таблицу соответствия температур в шкалах Фаренгейта и Цельсия.
Вариант 2.
Написать функцию пересчета длины из дюймов в миллиметры (1 дюйм = 2,54 см).
Вариант 3.
Написать функцию пересчета расстояния из миль в километры (1 миля = 1,60094 км).
Вариант 4.
Написать функцию пересчета цены нефти за баррель в цену за тонну (1 нефтяной баррель марки Urals равен 136,4 кг). Для проверки работоспособности функции написать программу, использующую эту функцию для пересчета цены за баррель в цену
за тонну.
Вариант 5.
Дана матрица размером m x n. Написать программу, которая определяет произведение элементов, расположенных над главной диагональю, используя функцию.
Вариант 6.
Написать функцию, которая возвращает максимальное из двух целых чисел, полученных в качестве аргумента.
Вариант 7.
Написать функцию, которая сравнивает два целых числа и возвращает результат сравнения в виде одного из знаков: >, < или =.
Вариант 8.
Написать функцию, которая вычисляет сопротивление цепи, состоящей из двух резисторов, которые могут быть соединены последовательно или параллельно. Функция должна проверять корректность параметров: если неверно указан тип соединения, то функция должна возвращать –1.
Вариант 9.
Написать функцию "Факториал" и программу, использующую эту функцию для вывода таблицы факториалов.
Вариант 10.
Написать функцию glasn, которая возвращает 1, если символ, полученный функцией в качестве аргумента, является гласной буквой английского алфавита, и ноль в противном случае.
Вариант 11.
Написать функцию sogl, которая возвращает 1, если символ, полученный функцией в качестве аргумента, является согласной буквой русского алфавита, и 0 в противном случае.
Вариант 12.
Написать функцию, которая выводит на экран строку, состоящую из звездочек. Длина строки (количество звездочек) является параметром функции.
Вариант 13.
Дана двумерная матрица размером m x n. Написать программу, которая подсчитывает сумму элементов по строкам, используя функцию.
Вариант 14.
Дана матрица размером m x n. Написать программу, которая определяет максимальный элемент в матрице, используя функцию.
Вариант 15.
Написать функцию, обеспечивающую решение квадратного уравнения. Параметрами функции должны быть коэффициенты и корни уравнения. Значением функции должна быть информация о корнях уравнения: 2 — два разных корня, 1 — корни одинаковые, 0 — уравнение не имеет решения.
Вариант 16.
Написать программу-конвертер курса валют на основе функций.
Вариант 17.
Дана матрица размером m x n. Написать программу, которая определяет минимальный элемент в матрице, используя функцию.
Вариант 18.
Дана матрица размером m x n. Написать программу, которая определяет сумму элементов, расположенных на главной диагонали, используя функцию.
Вариант 19.
Написать функцию, которая вычисляет объем цилиндра.
Вариант 20.
Написать функцию и основную программу, которая определяет сумму всех элементов двумерной матрицы. Инициализацию матрицы произвести случайным образом.
Вариант 21.
Написать функции и основную программу, реализующую простейший калькулятор.
Вариант 22.
Написать основную программу и функцию, которая рассчитывает среднее арифметическое элементов одномерного массива, инициализированного с клавиатуры.
Вариант 23.
Написать основную программу и функции: 1) которая инициализирует двумерный массив случайным образом 2) выводит массив на экран.
Вариант 24.
Написать функцию и основную программу, которая решает квадратное уравнение.
Вариант 25.
Дано 5 массивов целых чисел, состоящих из 10 элементов. Найти среднее арифметическое каждого массива и вывести минимальное из них.
Приложение 1
Пример программы, которая вычисляет определитель матрицы 3х3, введенной пользователем с экрана, с использованием функций.
Формула вычисления определителя матрицы 3х3 имеет вид:
#include<iostream.h>
#include<stdlib.h>
#include<conio.h>
/////////initzialization/////////////////////////////////////
void init(int **M)
{
int i,j;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
cin>>M[i][j];
}
}
}
/////////vivod na ekran/////////////////////////////////////
void vivod(int **M)
{
int i,j;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
cout<<M[i][j]<<" ";
}
cout<<"\n";
}
}
////////////determinant///////////////////
int determinant (int **M)
{
int determ;
determ=M[0][0]*M[1][1]*M[2][2]-M[0][0]*M[1][2]*M[2][1]-M[0][1]*M[1][0]*M[2][2]+M[0][1]*M[1][2]*M[2][0]+M[0][2]*M[1][0]*M[2][1]-M[0][2]*M[1][1]*M[2][0];
return determ;
}
////////////glavnaja funkcia///////////////////////////////
int main()
{
clrscr();
int i,j;
int mopred;
int **M=new int*[3];
for (i=0;i<3;i++)
{
M[i]=new int[3];
}
cout<<"Vvedite massiv 3x3:\n";
init (M);
vivod (M);
mopred=determinant(M);
cout<<"Determinant="<<mopred;
getch();
return 0;
}