Int main() {
int size = 3;
cout << "Input size of array = "; cin >> size;
int* array = new int[size];
cout << "Input array:" << endl;
for(int i = 0; i < size; i++) {
cout << " array[" << i << "] = "; cin >> array[i];
}
cout << "\nInputed array:" << endl;
outputArray(array, size);
int maxElement = 0;
int maxIndex = 0;
for(int i = 0; i < size; i++)
if (array[i] > maxElement) {
maxElement = array[i];
maxIndex = i;
}
cout << "\nMax element: " << maxElement << endl;
cout << "Max element index: " << maxIndex + 1 << endl;
return 0;
}
29, 30, 42
Рассчитать сетевую маску для адреса 192.168.0.37/28
28 первых бит отдано для адреса сети (выделены более крупным шрифтом). Представляем предложенный адрес в битовом варианте по октетам, получаем
192
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
168
1 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
0
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
37
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
Если установить их в 1, тогда получится сетевая маска 255.255.255.240
Сколько компьютеров входит в данную сеть
Под адрес компьютеров в сети отдано 4 бита, получаем 24 – 2 = 16 – 2 = 14 компьютеров
Написать 2 зарезервированных адреса, у которых в поле номер компьютера все нули или все 1.
Первые 3 октета не изменятся, будем рассматривать только последний октет
Все биты номера компьютера в сети (4 последних бита) = 0
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
Ответ: Адрес 192.168.0.32
Все биты номеров компьютера в сети = 1
0 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
Ответ: 192.168.0.47
33, 38
36, 37
#include <iostream>
using namespace std;
class Stack {
struct Element {
int value;
Element* prev;
Element(int val) {
value = val;
prev = 0;
}
};
Element* bottom;
Element* top;
public:
Stack() {
bottom = 0;
top = 0;
}
void push(int val) {
Element* newel = new Element(val);
if ( bottom )
newel->prev = top;
else
bottom = newel;
top = newel;
}
int pop() {
int res = top->value;
Element* oldfront = top;
top = top->prev;
if (! top)
bottom = 0;
delete[] oldfront;
return res;
}
bool empty() {
if (top)
return false;
else
return true;
}
~Stack() {
while (! empty())
pop();
}
};