Дан фрагмент линейного алгоритма: х : = 14 у : = 4 у : = 3 + х * у х : = у – х / 7 Выяснить, какое значение получит х после выполнения этого фрагмента алгоритма.
Сначала задаются элементы массива с индексами от 0 до 9 равные от 1 до 10.
Затем переменной t присваивается значение первого элемента массива (с индексом 0 и равного 1).
Потом происходит сдвиг значений элементов на один влево по индексу (первый элемент с индексом 0 становится равным второму элементу с индексом 1 и т.д. до 8 элемента).
В конце последнему элементу массива с индексом 9 присваивают значение их переменной t.
// ConsoleApplication2.cpp : This file contains the 'main' function. Program execution begins and ends there.
//
#include <iostream>
#include <vector>
#include <random>
using std::vector;
using std::cout;
using std::random_device;
using std::mt19937;
using std::uniform_int_distribution;
using std::endl;
int main()
{
// объявляем костанты и переменные
const int number_of_barrels = 90;
const int number_of_random_numbers_to_generate = 5;
const int range_from = 0;
const int range_to = number_of_barrels;
random_device rand_dev;
mt19937 generator(rand_dev());
vector<int> barrels;
cout << "Filling vector." << endl;
for(int i = 0; i < number_of_barrels; i++) {
barrels.push_back(i+1);
}
cout << "Getting 5 random numbers from the vector and showing it on the screen:" << endl;
for(int i = 0; i < number_of_random_numbers_to_generate; i++) {
uniform_int_distribution<int> distr(range_from, range_to - i);
int randomNumber = distr(generator); // генерируем рандомное число
int numberAt = barrels.at(randomNumber); // читаем число из вектора и иницализируем переменную numberAt этим числом
barrels.erase(std::cbegin(barrels) + randomNumber); // удаляем это число из вектора
cout << numberAt << " "; // выводим это число на экран.
}
}
// Run program: Ctrl + F5 or Debug > Start Without Debugging menu
// Debug program: F5 or Debug > Start Debugging menu
// Tips for Getting Started:
// 1. Use the Solution Explorer window to add/manage files
// 2. Use the Team Explorer window to connect to source control
// 3. Use the Output window to see build output and other messages
// 4. Use the Error List window to view errors
// 5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project
// 6. In the future, to open this project again, go to File > Open > Project and select the .sln file
Объяснение:
В комментариях.
В результате элементы массива А равны
A[0] := 2 A[1] := 3 A[2] := 4 A[3] := 5 A[4] := 6
A[5] := 7 A[6] := 8 A[7] := 9 A[8] := 10 A[9] := 1
Объяснение:
Сначала задаются элементы массива с индексами от 0 до 9 равные от 1 до 10.
Затем переменной t присваивается значение первого элемента массива (с индексом 0 и равного 1).
Потом происходит сдвиг значений элементов на один влево по индексу (первый элемент с индексом 0 становится равным второму элементу с индексом 1 и т.д. до 8 элемента).
В конце последнему элементу массива с индексом 9 присваивают значение их переменной t.
for i := 0 to 9 do A[i] := i + 1;
A[0]:= 0 + 1 = 1
A[1] := 1 + 1 = 2
A[2] := 2 + 1 = 3
A[3] := 3 + 1 = 4
A[4] := 4 + 1 = 5
A[5] := 5 + 1 = 6
A[6] :=6 + 1 = 7
A[7] := 7 + 1 = 8
A[8] := 8 + 1 = 9
A[9] := 9 + 1 = 10
t := A[0];
t := 1
for i:= 1 to 9 do A[i-1] := A[i];
A[1-1] := A[1] A[0] := 2
A[2-1] := A[2] A[1] := 3
A[3-1] := A[3] A[2] := 4
A[4-1] := A[4] A[3] := 5
A[5-1] := A[5] A[4] := 6
A[6-1] := A[6] A[5] := 7
A[7-1] := A[7] A[6] := 8
A[8-1] := A[8] A[7] := 9
A[9-1] := A[9] A[8] := 10
A[9] := t;
A[9] := 1