skvorec3424
?>

Записать команду (с комментарием) пересылки в регистр-аккумулятор содержимого ячейки памяти, которая расположена в сегменте данных с начальным адресом 2000Н и имеет эффективный адрес, равный сумме содержимого регистра ВХ и числа 0001Н. Определить метод адресации. Рассчитать физический адрес ячейки памяти, если (ВХ) ← <0010Н>

Информатика

Ответы

maryshecka

Записать команду (с комментарием) пересылки в

регистр-аккумулятор содержимого ячейки памяти,

которая расположена в сегменте данных с начальным

адресом 2000Н и имеет эффективный адрес, равный

сумме содержимого регистра ВХ и числа 0001Н.

Определить метод адресации.

Рассчитать физический адрес ячейки памяти, если (ВХ) ← <0010Н>

lirene

#include <math.h>

#include <stdio.h>

const float eps=0.0001;

float F(double x){

return cos(2.0/x)-2*sin(1.0/x)+1.0/x;

}

float Func(double a, double b)

{

float x=(a+b)/2;

float y=F(x);

if (fabs(y)<eps) return x;

else if (F(a)*y<0) Func(a,x);

else Func(x,b);

}

int main()

{

   float a, b;

   printf("a = ");

scanf("%f",&a);

   printf("b = ");

scanf("%f",&b);

if (F(a)*F(b)<0) printf("x = %f\n",Func(a,b));

else printf("Нет сходимости\n");

   return 0;

}

Пример - в прилагаемом файле.

PS. Без анализа деления на 0.


На языке программирования с ! 2 при выполнении этой , необходимо сделать алгоритмы и программы с исп
Andrei-Shchukin

Не совсем понял всех условий, например "все значения функций должны быть перенаправлены в качестве параметров", по этому если это условие не выполнено - объясни мне что это такое и я переделаю.

Не делал итераторы цикла динамическими ибо это не имеет смысла, остальные переменные я использовал как указатели.

Тестировал на GNU GCC, всё работает, писал на чистой Си.

Мой вариант решения:

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

//Создание нашей матрицы

int** NewMatrix(int *row, int* col)

{

   int** matrix = new int*[*col];

   for(int i = 0; i < *col; ++i)

   {

       matrix[i] = new int[*row];

   }

   return matrix;

}

//удаление матрицы

void DestroyMatrix(int **matrix, int *col)

{

   for(int i = 0; i < *col; ++i)

   {

       delete[]matrix[i];

   }

   delete[]matrix;

}

//заполнение матрицы случайными числами

int ** Random(int**matrix, int* col, int *row)

{

   srand(time(0));

   for(int i = 0; i < *col; ++i)

   {

       for(int j = 0; j < *row; ++j)

       {

           matrix[i][j] = rand()%10;

       }

   }

   return matrix;

}

//вывести матрицу на экран

void ShowMatrix(int**matrix, int* col, int *row)

{

   for(int i = 0; i < *col; ++i)

   {

       for(int j = 0; j < *row; ++j)

       {

           printf("%d ",matrix[i][j]);

       }

       printf("\n");

   }

}

//функция сдвигает крайние элементы по кольцу

int **Roll(int**matrix, int *col, int *row)

{

   int **mx = NewMatrix(row,col);

   //копирование элементов с верхней строки в последний столб

   for(int i = 0; i < *col; ++i)

   {

       mx[i][*col-1] = matrix[0][i];

   }

   //копирование последнего столба в последнюю строку

   for(int i = 0, j = *col-1; i < *col; ++i,j--)

   {

       mx[*col-1][i] = matrix[j][*col-1];

   }

   //копирование последней строки в первый столб

   for(int i = 0; i < *col; ++i)

   {

       mx[i][0] = matrix[*col-1][i];

   }

   //копирование первого столба в первую строку

   for(int i = 0, j = *col-1; i < *col; ++i,j--)

   {

       mx[0][i] = matrix[j][0];

   }

   //копирование остальных элементов в середине матрицы

   for(int i = 1; i < *col-1; ++i)

   {

       for(int j = 1; j < *row-1; ++j)

       {

           mx[i][j]=matrix[i][j];

       }

   }

   //удаление лишней матрицы

   DestroyMatrix(matrix,col);

   return mx;

}

int main()

{

   int *row = new int(5);

   int *col = new int(5);

   int **mx = NewMatrix(row,col);

   mx = Random(mx,col,row);

   ShowMatrix(mx,col,row);

   mx = Roll(mx,col,row);

   printf("\nRolling...\n\n");

   ShowMatrix(mx,col,row);

   DestroyMatrix(mx,col);

   delete row;

   delete col;

   system("pause");

}

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Записать команду (с комментарием) пересылки в регистр-аккумулятор содержимого ячейки памяти, которая расположена в сегменте данных с начальным адресом 2000Н и имеет эффективный адрес, равный сумме содержимого регистра ВХ и числа 0001Н. Определить метод адресации. Рассчитать физический адрес ячейки памяти, если (ВХ) ← <0010Н>
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

kamalfayed229
Алексей Ксения
Li-111
astahova
ribanina
Vuka91
vorobyeva6428
priemni451
Валерьевич Николаевич1364
alplakhota67
varvv15
Simbireva
Новиков1139
borvalmok432
kogakinoa