var n,m,i,k:integer; c:char;
begin
// 1
write('n, m: ');
readln(n,m);
k:=0;
for i:=n to m do
begin
write(i,' - ',chr(i),' ');
k:=k+1;
if k mod 3=0 then writeln;
end;
// 2
write('n: ');
readln(n);
writeln(n,' ',chr(n));
// 3
write('c: ');
readln(c);
writeln(c,' ',ord(c));
end.
Пример:
n, m: 40 60
40 - ( 41 - ) 42 - *
43 - + 44 - , 45 - -
46 - . 47 - / 48 - 0
49 - 1 50 - 2 51 - 3
52 - 4 53 - 5 54 - 6
55 - 7 56 - 8 57 - 9
58 - : 59 - ; 60 - <
n: 100
100 d
c: {
{ 123
Как исповедующий подход на атомарное разбиение кода на функции/методы/классы, предпочитаю видеть код, в котором каждая операция выполняется в своей функции.
Это упрощает повторное использование кода, да и мыслить такой код проще, чем когда тебе в одной функции нужно отслеживать несколько состояний для их синхронизации.
В данном задании действие этого подхода видно слабо.
P.S. srand(time(nulptr)) и rand() - "плохой" получения случайных чисел, так как время находится под контролем пользователя и он может выставлять время специально. Но "хороший" реализовывать здесь смысла нет.
===========================
Если решение удовлетворило, не забудь отметить его как "Лучшее".
===========================
Код:
#include <iostream>
#include <cstdlib>
#include <ctime>
int rand_range(int min, int max) {
return std::rand() % (max - min + 1) + min;
}
int* random_sequence(int N, int min, int max) {
int *arr = new int[N];
for(auto i = 0; i < N; ++i) {
arr[i] = rand_range(min, max);
}
return arr;
}
template<typename T>
void print_sequence(const T * arr, size_t size) {
for(auto i = 0; i < size; ++i) {
std:: cout << arr[i] << " ";
}
}
long calculate_production(const int *arr, size_t size) {
long accumulator = 1;
for(auto i = 0; i < size; ++i) {
if (i % 2 == 0) continue;
accumulator *= arr[i];
}
return accumulator;
}
int main() {
const int min_random = -19, max_random = 26;
int N;
std::cout << "How many number should we generate? N = ";
std::cin >> N;
std::srand(std::time(nullptr));
int *arr = random_sequence(N, min_random, max_random);
print_sequence(arr, N);
auto result = calculate_production(arr, N);
std::cout << ":" << result;
delete[] arr;
return 0;
}
www (world wide web), https, http