1. Процессор – это блок ЭВМ, предназначенный для автоматического считывания команд программы, их расшифровки и выполнения.
2. Этот блок отвечает за выработку последовательности функциональных сигналов, нужной для корректного выполнения заданной команды. Как правило, такие преобразования реализуются за несколько тактов. Управляющее устройство обеспечивает автоматическое выполнение программы. При этом задействуются необходимые координированные ответвления работы прочих составляющих компонентов машины. За действие устройства управления отвечает базовый принцип микропрограммирования, имеющий четкое число характеристик.
1. Процессор – это блок ЭВМ, предназначенный для автоматического считывания команд программы, их расшифровки и выполнения.
2. Этот блок отвечает за выработку последовательности функциональных сигналов, нужной для корректного выполнения заданной команды. Как правило, такие преобразования реализуются за несколько тактов. Управляющее устройство обеспечивает автоматическое выполнение программы. При этом задействуются необходимые координированные ответвления работы прочих составляющих компонентов машины. За действие устройства управления отвечает базовый принцип микропрограммирования, имеющий четкое число характеристик.
3. Программи́рование ( наверное).
4. Алгоритм.
5. Разрядность.
6. Тактовая частота.
7. в 3 раза быстрее
#include "iostream"
#include "stdlib.h"
#include "locale.h"
#include "time.h"
using namespace std;
void create(int** arr, int n);
void show(int** arr, int n);
void max_quarter(int** arr, int n);
void find_min_max(int** arr, int n, int &pos_max_row, int &pos_min_col);
void change_row_column(int** arr, int n, int &pos_max_row, int &pos_min_col);
int main()
{
srand(time(NULL));
setlocale(LC_ALL, "russian");
bool flag = false;
int pos_max_row = 0, pos_min_col = 0;
int n=0;
int answer = 100;
int **A = 0;
A = (int**)malloc(n*sizeof(int));
if(!A)
{
int** A = (int**)malloc(n*sizeof(int));
}
while (answer != 0)
{
system("cls");
cout << "Меню\n";
cout << "1) Сформировать массив из случайных чисел размером n.\n";
cout << "2) Вывести массив на экран сформированный массив.\n";
cout << "3) Найти максимальный элемент в верхней и нижней четвертях матрицы\n";
cout << "4) Обмен значениями произвольной строки с произвольным столбцом\n";
cout << "0) Выход\n";
cout << "Ваш выбор: ";
while (!(cin >> answer)) { //делаем проверку на ввод букв символов итд
cout << "Вы ввели символ или букву. Требуется вводить только цифры\nВвод: ";
cin.clear();
fflush(stdin);
}
system("cls");
switch (answer)
{
case 1:
{
cout << "Какого размера будет квадратичная матрица (x*x)?: ";
while (!(cin >> n))
{ //делаем проверку на ввод букв символов итд
cout << "Вы ввели символ или букву. Требуется вводить только цифры\nВвод: ";
cin.clear();
fflush(stdin);
}
create(A, n);
cout << "Массив из случайных чисел сформирован!"<<endl;;
system("pause");
break;
}
case 2:
{
if(n != 0){
cout << "Вывод массива на экран.\n";
show(A, n);
}else cout << "Посетите пункт 1" << endl;
system("pause");
break;
}
case 3:
{
if(n != 0){
flag = true;
cout << "Нахождение максимального значения элемента в матрице.\n";
find_min_max(A,n, pos_max_row, pos_min_col);
}else cout << "Посетите пункт 1" << endl;
system("pause");
break;
}
case 4:
{
if(flag == true)
{
cout << "Обмен значениями произвольной строки с произвольным столбцом.\n";
change_row_column(A,n, pos_max_row, pos_min_col);
}else cout << "Посетите пункт 3" << endl;
system("pause");
break;
}
system("pause");
return 0;
}
}
}
void create(int **arr, int n)
{
for(int i=0; i<n; i++)
{
arr[i]=(int*)malloc(n*sizeof(int));
if(!arr[i])
{
arr[i]=(int*)malloc(n*sizeof(int));
}
for(int j=0; j<n; j++)
{
arr[i][j]= -200 + rand()%401;
}
}
}
void show(int **arr, int n)
{
for (int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
{
printf("%7d", arr[i][j]);
}
printf("\n");
}
}
void find_min_max(int** arr, int n, int &pos_max_row, int &pos_min_col){
int min = arr[0][0];
int max = arr[0][0];
for(int i = 0; i < n; i++){
for(int j = 0; j < n; j++){
if(arr[i][j] > max)
{
max = arr[i][j];
pos_max_row = i;
}
if(arr[i][j] < min)
{
min = arr[i][j];
pos_min_col = j;
}
}
}
cout << "Минимальное значение массива: " << min << endl;
cout << "Максимальное значение массива: " << max << endl;
}
void change_row_column(int** arr,int n, int &pos_max_row, int &pos_min_col){
cout << "Массив до преобразования. " << endl;
show(arr,n);
cout << "Изменяемая cтрока: " << pos_max_row <<"\nИзменяемый столбец: " << pos_min_col << endl;
for(int i = 0; i < n; i++){
int temp = arr[i][pos_min_col];
arr[i][pos_min_col] = arr[pos_max_row][i];
arr[pos_max_row][i] = temp;
}
cout << "Массив после преобразования. " << endl;
show(arr,n);
}