C++ сгенерируйте массив из 10 элементов в диапазоне чисел от 150 до 310. объявите еще два массива. заполните один из них четными числами из первого массива, а второй – нечетными. оставшиеся незаполненными элементы массива замените нулями
//PascalABC.NET (версия 3.1, сборка 1210 от 29.03.2016) var a,n,i,s:integer; begin write('Число элементов последовательности '); readln(n); for i:=1 to n do begin write(i,' элемент последовательности = ');readln(a); if (a mod 2 <>0) then s:=s+a; end; writeln('Сумма нечетных = ',s); end.
Тестовое решение: Число элементов последовательности 5 1 элемент последовательности = 3 2 элемент последовательности = 2 3 элемент последовательности = 4 4 элемент последовательности = 1 5 элемент последовательности = 5 Сумма нечетных = 9
1. Если имеется в виду язык Pascal, то получим следующее: var: a; //PascalABC.NET (версия 3.1, сборка 1210 от 29.03.2016) begin readln(a); b:=a+a; writeln (b); end.
Program50.pas(5) : Неизвестное имя 'b'
2. Попробуем такой вариант на Python
a =int(input()) b = a+a print(b)
При вводе а получим на выходе 10
Получается, что в Pacal требуется объявлять переменные в секции переменных, или в любом месте программы можно объявить переменную с служебного слова var для PascalABC.net. Первый код можно переписать так, и он будет работать:
var: a; //PascalABC.NET (версия 3.1, сборка 1210 от 29.03.2016) begin readln(a); var b:=a+a; writeln (b); end.
#include <iostream>
#include <time.h>
#include <vector>
using namespace std;
void print_array(int* arr, int n) {
for (size_t i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
}
int* auto_input_array(int* arr, int n) {
for (size_t i = 0; i < n; i++) {
arr[i] = rand() % 160 + 150;
}
return arr;
}
void print_vector(vector<int> vec) {
for (int elem : vec) {
cout << elem << " ";
}
cout << endl;
}
pair<vector<int>, vector<int>> odd_and_even_number_filling_vectors(int* arr, int n) {
vector<int> vec1,vec2;
for (size_t i = 0; i < n; i++) {
if (arr[i] % 2 == 1) {
vec1.push_back(arr[i]);
}
else {
vec2.push_back(arr[i]);
}
}
return make_pair(vec1, vec2);
}
pair<int*, int*> odd_and_even_number_filling_arrays(int* arr, int n) {
int* arr1 = new int[n];
int* arr2 = new int[n];
int count1 = 0;
int count2 = 0;
for (size_t i = 0; i < n; i++) {
if (arr[i] % 2 == 1) {
arr1[count1] = arr[i];
count1++;
}
else {
arr2[count2] = arr[i];
count2++;
}
}
for (size_t i = count1; i < n; i++) {
arr1[i] = 0;
}
for (size_t i = count2; i < n; i++) {
arr2[i] = 0;
}
return make_pair(arr1, arr2);
}
int main() {
srand(time(NULL));
setlocale(LC_ALL, "Russian");
int n;
cout << "Введите количество строк в массиве: ";
cin >> n;
int* array = new int[n];
pair<vector<int>, vector<int>> pair_vecs;
pair<int*, int*> pair_arrs;
array = auto_input_array(array, n);
print_array(array, n);
pair_vecs = odd_and_even_number_filling_vectors(array, n);
pair_arrs = odd_and_even_number_filling_arrays(array, n);
delete[] array;
cout << "Чётных элементов: ";
print_vector(pair_vecs.second);
cout << "Нечётных элементов: ";
print_vector(pair_vecs.first);
cout << "С использованием массивов:" << endl;
cout << "Чётных элементов: ";
print_array(pair_arrs.second, n);
cout << "Нечётных элементов: ";
print_array(pair_arrs.first, n);
}