Программирование на С++. Написать программу, в которой создаются и разрушаются объекты, определенного пользователем класса. Выполнить исследование вызовов конструкторов и деструкторов.
1. Определить пользовательский класс в соответствии с вариантом задания (смотри приложение).
2. Определить в классе следующие конструкторы: без параметров, с параметрами, копирования.
3. Определить в классе деструктор.
4. Определить в классе компоненты-функции для просмотра и установки полей данных.
5. Определить указатель на экземпляр класса.
6. Написать демонстрационную программу, в которой создаются и разрушаются объекты пользовательского класса и каждый вызов конструктора и деструктора сопровождается выдачей соответствующего сообщения (какой объект какой конструктор или деструктор вызвал).
7. Показать в программе использование указателя на объект.
8. Лабораторная должна состоять из трёх файлов:
• заголовочный h-файл с определением класса,
• cpp-файл с реализацией класса,
• сpp-файл демонстрационной программы.
8. ТОВАР
имя – char*
количество – int
стоимость – float
1. Это двухмерный массив
(TypeError: unsupported operand type(s) for +=: 'int' and 'list')
2. 3x4 ([3][4])
3. Сложение элементов двумерного массива.
Только вот работать не будет, я полагаю здесь должны были складываться все элементы массивов, но на фото он прибавляет к переменной S не числа а массивы. И это выдаёт ошибку, так что...
Я бы сделал это так:
b = [[3, 5, 7, 78], [12, 10, 9, 56], [45, 31, 14, 23]]
s = 0
for i in b:
for j in i:
s += j
# Или используя len:
for i in range(len(b)):
for j in range(len(i)):
s += b[i][j]
print('s =', s)
# s = 293
1) 89₁₀ = 1011001₂
2) 600₁₀ = 100101100₂
3) 2010₁₀ = 11111011010₂
1) 513₁₀ = 1001₈
2) 600₁₀ = 1130₈
3) 2010₁₀ = 3732₈
Объяснение:
1)
89 / 2 = 44 + остаток 1
44 / 2 = 22 + остаток 0
22 / 2 = 11 + остаток 0
11 / 2 = 5 + остаток 1
5 / 2 = 2 + остаток 1
2 / 2 = 1 + остаток 0
1 / 2 = 0 + остаток 1
записываем остатки снизу вверх
89₁₀ = 1011001₂
2)
600 / 2 = 300 + остаток 0
300 / 2 = 150 + остаток 0
150 / 2 = 75 + остаток 0
75 / 2 = 37 + остаток 1
37 / 2 = 18 + остаток 1
18 / 2 = 9 + остаток 0
9 / 2 = 4 + остаток 1
4 / 2 = 2 + остаток 0
2 / 2 = 1 + остаток 0
1 / 2 = 0 + остаток 1
записываем остатки снизу вверх
600₁₀ = 100101100₂
3)
2010 / 2 = 1005 + остаток 0
1005 / 2 = 502 + остаток 1
502 / 2 = 251 + остаток 0
251 / 2 = 125 + остаток 1
125 / 2 = 62 + остаток 1
62 / 2 = 31 + остаток 0
31 / 2 = 15 + остаток 1
15 / 2 = 7 + остаток 1
7 / 2 = 3 + остаток 1
3 / 2 = 1 + остаток 1
1 / 2 = 0 + остаток 1
записываем остатки снизу вверх
2010₁₀ = 11111011010₂
1)
513 / 8 = 64 + остаток 1
64 / 8 = 8 + остаток 0
8 / 8 = 1 + остаток 0
1 / 8 = 0 + остаток 1
записываем остатки снизу вверх
513₁₀ = 1001₈
2)
600 / 8 = 75 + остаток 0
75 / 8 = 9 + остаток 3
9 / 8 = 1 + остаток 1
1 / 8 = 0 + остаток 1
записываем остатки снизу вверх
600₁₀ = 1130₈
3)
2010 / 8 = 251 + остаток 2
251 / 8 = 31 + остаток 3
31 / 8 = 3 + остаток 7
3 / 8 = 0 + остаток 3
записываем остатки снизу вверх
2010₁₀ = 3732₈