Int main()
{
setlocale(LC_ALL, "Rus");
int n;
int *p;
cout << "Размер массива: ";
cin >> n;
p = new int[n];
for (int i = 0; i<n; i++)
{
cin >> p[i];
}
for (int i = 0; i < n; i++)
{
cout << "p[" << i << "]=";
cout << p[i]<<"\n";
}
}
Рис. 20 – массив через указатели
Замена расширения на .exe:
#include <iostream>
#include <math.h>
#include <stdio.h>
#include <string.h>
using namespace std;
Int main()
{
setlocale(LC_ALL, "Rus");
char s[80];
int n;
cout << "Введите название: ";
gets(s);
n = 0;
while ((s[n]!= '.')// ищем 1 точку
&& (s[n]!= '\0'))//или конец строки
n++;
if (s[n] == '.')//если нашли точку, то
{
s[n] = '\0';
strcat(s, ".exe");// меняем расширение
}
else strcat(s, ".exe"); //иначе
puts(s);
return 0;
}
Рис. 21 – замена расширения файла
Функции — это блоки кода, выполняющие определённые операции. Они позволяют отделить часто используемый код и переиспользовать его с разными значениями аргументов.
При объявлении функции после её типа должно находиться имя функции и две круглые скобки — открывающая и закрывающая, внутри которых могут находиться один или несколько аргументов функции, которых также может не быть вообще. После списка аргументов функции ставится открывающая фигурная скобка, после которой находится само тело функции. В конце тела функции обязательно ставится закрывающая фигурная скобка.
Функция может возвращать значение, тип которого в большинстве случаев аналогично типу самой функции. Если функция не возвращает никакого значения, то она должна иметь тип void (такие функции иногда называют процедурами).
Пример простейшей функции, вычисляющей сумму двух целых чисел:
int Sum(int a, int b) {
// в заголовке функции указывается тип возвращаемого значения и типы аргументов
return a + b;
}
Реализация вызова функции суммирования в программе:
#include <iostream>
#include <math.h>
#include <stdio.h>
using namespace std;
int Summa(int N, int N1)
{
int sum = 0;
sum = N + N1;
return sum;
}
Int main()
{
setlocale(LC_ALL, "Rus");
int N, N1, s;
puts("Введите первое слагаемое: ");
cin >> N;
puts("Введите второе слагаемое: ");
cin >> N1;
s = Summa(N, N1);
cout << "Сумма: " << s;
return 0;
}
Рис. 22 – функция, вычисляющая сумму
Возведение в квадрат:
#include <iostream>
#include <math.h>
#include <stdio.h>
using namespace std;
int Kvadrat(int n)
{
int kvad = 0;
kvad = n*n;
return kvad;
}
Int main()
{
setlocale(LC_ALL, "Rus");
int n, s;
puts("Введите число: ");
cin >> n;
s = Kvadrat(n);
cout << "Квадрат: " << s;
return 0;
}
Рис. 23 – возведение в квадрат
Расчет факториала числа с использованием рекурсивной функции:
#include <iostream>
#include <math.h>
#include <stdio.h>
using namespace std;
int fact(int n)
{
int f;
if (n == 0)
f = 1;
else
f = n*fact(n - 1);
return f;
}
Int main()
{
setlocale(LC_ALL, "Rus");
int a;
cout << "Введите число: "<<endl;
cin >> a;
cout << "Факториал: " << fact(a);
return 0;
}
Рис. 24 - факториал числа
