Ивлев1508
?>

за ответ Задание 1. Дана программа:var a, b, c, i:integer; x:rеаl;beginrеаd(a, b, c);x := (b+c)/2;fоr i:=a to b dоif i mоd 2 <> 0 then х:=x+i; x:=х*2;writеln(x);еnd.Что она выведет на экран, если пользователь введет три числа: -2, 10, 1:Укажите в таблице, что происходит на каждой итерации цикла:Когда i = ;x = Когда i = ; x = Когда i = ; x = Когда i = ; x = Когда i = ; x = ...Когда i = ;x = ...Когда i = ;x = ...Когда i = ;x = ...Когда i = ;x = ...Когда i = ;x = ...​

Информатика

Ответы

Borisovich-Volobueva1803

эмм посмотри в интернете

Объяснение:

m-illarionov

Немного теории:

Любой доступ к элементу массива, осуществляемый с операции индексирования может быть осуществлен при указателей.

Имя массива хранит адрес его нулевого элемента. Поэтому адрес любого i элемента массива можно представить как (x+i), где x - указатель на первый элемент массива. А его значение как *(x+i)

Подобные операции верны для любого типа и размера массивом, так как при прибавлении к указателю целого числа, он "сдвигается" не на i байтов, а на i элементов этого типа.

В данном задании:

int a[]= {7,8,9} - инициализация массива. По сути, это описание и присваивание значения одновременно. После выполнения этой строчки: a[0]=7; a[1]=8; a[2]=9 - массив из трех элементов, нумерация с нуля.

int *b=a -  Эта строчка переводится как "создаем переменную b типа указатель на целое и присваем ему адрес нулевого элемента массива".

*(b+2)=b+1 - очень странная запись.

*(b+2) равносильно a[2] - значение последнего элемента данного массива. Переменная b содержит целое число, которое является адресом нулевого элемента массива. b+1 - указатель "сдвигается на 1 элемент вправо", т.е (b+1) - адрес первого элемента массива.

То есть данная запись означает, что в последний элемент массива(a[2] в данном случае) записывается адрес первого элемента массива(a[1] в данном случае).

b[1] - такая запись указателя с индексом равносильна a[1] - значению первого элемента массива.

В итоге: b[1] <=> a[1]=8

Примечание:

Изначально ваша программа не выполниться, так как запись int b*=a - неверная(правильно int *b=a)

YekaterinaAbinskov

#include <iostream>

using namespace std;

int main()

{

int N, N1;

cout << "kol-vo ctrok ";

cin >> N;

cout << "ko-lvo ctolbcov ";

cin >> N1;

int** mtrx = new int* [N1];

for (int i = 0; i < N; i++)

{

 mtrx[i] = new int[N1];

}

for (int i = 0; i < N; i++)

{

 for (int j = 0; j < N1; j++)

 {

  cin >> mtrx[i][j];

 }

}

cout << endl;

for (int i = 0; i < N; i++)

{

 for (int j = 0; j < N1; j++)

 {

  cout<< mtrx[i][j]<<" ";

 }

 cout << endl;

}

for (int i = 0; i <= trunc(N/2); i++)

{

 for (int j = 0; j <= trunc(N1/2); j++)

 {

  int tmp = mtrx[N - 1 - i][N1-1-j];

  mtrx[N - 1 - i][N1 - 1 - j] = mtrx[i][j];

  mtrx[i][j] = tmp;

 }  

}

cout << endl;

for (int i = 0; i < N; i++)

{

 for (int j = 0; j < N1; j++)

 {

  cout << mtrx[i][j] << " ";

 }

 cout << endl;

}

for (int i = 0; i < N; i++)

{

 delete[] mtrx[i];

}

delete [] mtrx;

   return 0;

}

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

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

за ответ Задание 1. Дана программа:var a, b, c, i:integer; x:rеаl;beginrеаd(a, b, c);x := (b+c)/2;fоr i:=a to b dоif i mоd 2 <> 0 then х:=x+i; x:=х*2;writеln(x);еnd.Что она выведет на экран, если пользователь введет три числа: -2, 10, 1:Укажите в таблице, что происходит на каждой итерации цикла:Когда i = ;x = Когда i = ; x = Когда i = ; x = Когда i = ; x = Когда i = ; x = ...Когда i = ;x = ...Когда i = ;x = ...Когда i = ;x = ...Когда i = ;x = ...Когда i = ;x = ...​
Ваше имя (никнейм)*
Email*
Комментарий*

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

platonovkosty
andreevaanastsiyao82
ivanlimeexpo
rusmoney92
Ruzalina_Svetlana1435
amxvel7596
Alyona1692
slspam
matoksana
GoncharenkoKuzmin
veniaminsem
ohussyev
silicon-films3375
alzheleshikov
Дмитрий_Евлампиев518