Цель работы: Изучить адаптеры контейнеров библиотеки stl и разработка алгоритмов выполнения задач с этими списками. заданий №1 и №2
1. Удалить самый большой элемент в очереди.
2. Удалите один элемент или несколько элементов в середине дека.
Задача №3.
Введем понятие стоимости для операции сложения. Стоимость сложения двух чисел положим равным их сумме. Например, сложить числа 1 и 10 стоит 11. Стоимость сложения 1, 2 равна 3. Складывать числа можно разными . Рассмотрим на примере 1+2+3:
• 1+2=3(стоимость=3), 3+3=6(стоимость=6), Всего=9
• 1+3=4(стоимость=4), 2+4=6(стоимость=6), Всего=10
• 2+3=5(стоимость=5), 1+5=6(стоимость=6), Всего=11
Вам необходимо сложить все числа так, чтобы суммарная стоимость их сложения была наименьшая.
Входные данные
Начинаются целым числом n(2⩽n⩽105), за которым следуют n целых неотрицательных чисел (все числа меньше 105).
Выходные данные
Вывести наименьшую стоимость сложения всех чисел.
4
10 12 13 11
Вывод
92
#include <cstdlib>
#include <ctime>
int main()
{
using namespace std;
cout << "Enter size of array: ";
int N;
cin >> N;
int * ARR = new int[N];
srand(time(0));
int i;
for (i = 0; i < N; ++i)
ARR[i] = rand() % 100 + 1;
cout << "Here is an original array:\n";
for (i = 0; i < N; ++i)
cout << ARR[i] << " ";
cout << endl;
int temp = ARR[N - 1];
for (i = N - 1; i > 0; --i)
ARR[i] = ARR[i - 1];
ARR[0] = temp;
cout << "\nHere is a new array:\n";
for (i = 0; i < N; ++i)
cout << ARR[i] << " ";
cout << endl;
return 0;
}
var
s: string[6];
n: integer;
begin
s := 'отлично';
n := length(s);
writeln(length('отлично'));
writeln(n);
end.
Изначально выставлен тип string[6], значит если присвоить строку больше, то ее обрежет по 6 символов, вот и весь прикол
ответ 6
2) рисунок
3)var
s, s1: string;
n: integer;
begin
s := 'информатика';
s1 := copy(s, 3, 5);
n := pos(s, s1);
writeln('s=', s);
writeln('s1=', s1);
writeln('n=', n);
end.
Вывод
s=информатика
s1=форма
n=0
Все верно, в s1 не содержится s, а наоборот