tcmir
?>

Объясните дан целочисленный массив с количеством элементов n. выведете на печать те его элементы. индексы которых являются степенями двойки.var a: array[1..100] of integer; i, n: integer; begin write('введите n: '); readln(n); for i: =1 to n do begin a[i]: =random(11)-5; write(a[i]: 3); end; writeln; writeln('элементы у которых индексы являются степенями 2-ки'); i: =1; while i begin i: =i*2; if i< =n then write(a[i]: 3); end; readln; end.

Информатика

Ответы

Janaz842060

Відповідь:

#include <iostream>

#include <cstdlib>

#include <time.h>

using namespace std;

void randarr(int *A,const int size){

for(int i = 0; i < size; i++){

 A[i] = rand() % 201 - 100;

}

}

void printarr(int *A,const int size){

for(int i = 0; i < size; i++){

 cout << A[i] << " ";

}

}

float expression(int *A,int size){

float sum = 0;

int counter = 0;

for(int i = 0; i < size; i++){

 if(A[i] > 0){

  sum += A[i];

  counter++;

 }

}

sum /= counter;

return sum;

}

const int size = 10;

int main(){

srand(time(NULL));

setlocale(LC_ALL , "Ukrainian");

int A[size];

randarr(A,size);

printarr(A,size);  

cout << "\nСереднє арифметичне додатнiх чисел = " << expression(A,size) << endl;

 

return 0;                                                                  

}

Panfilov_Anna

Требуется написать программу, вычисляющую значение какой-либо функции у = f(x). Допустим, такой:

у = x – 2, если x > 0,

y = 0, если x = 0,

y = |x|, если x < 0.

Решение

При определении значений подобных функций переменная y вычисляется по-разному (по разным формулам) в зависимости от значения x.

Такие задачи решаются с конструкции условного оператора if - else. Поскольку в данном случае мы имеем три условия (x > 0, x = 0 и x < 0), то потребуется использование еще вложенной конструкции if - else, т. к. в языке Pascal нет оператора множественного ветвления (оператор case в данном случае не подходит).

В языке программирования Паскаль (да и в других тоже) желательно вложенные конструкции if - else помещать во внешнюю ветку else, а не if. Так проще не запутаться.

Таким образом, алгоритм вычисления значения функции может быть таким:

Если x > 0, то у = x - 2

Иначе (ниже идет вложенная конструкция)

Если x = 0, то y = 0

Иначе y = |x|.

В последнем пункте можно опустить оператор if с проверкой, что x < 0, так как если ход выполнения программы дошел до этого пункта, то x уже другим быть и не может (варианты, когда он больше или равен нулю, уже были исключены).

Для определения модуля (абсолютного значения) переменной можно использовать встроенную функцию abs() языка Pascal. В данном случае можно обойтись и без нее: поскольку уже известно, что x отрицателен, то, чтобы получить положительное число (модуль), нужно его умножить на -1.

var x, y: integer;   begin write ('x = '); readln (x);   if x > 0 then y := x - 2 else if x = 0 then y := 0 else y := abs(x);   writeln ('y = ', y);   end.

сорр

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

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

Объясните дан целочисленный массив с количеством элементов n. выведете на печать те его элементы. индексы которых являются степенями двойки.var a: array[1..100] of integer; i, n: integer; begin write('введите n: '); readln(n); for i: =1 to n do begin a[i]: =random(11)-5; write(a[i]: 3); end; writeln; writeln('элементы у которых индексы являются степенями 2-ки'); i: =1; while i begin i: =i*2; if i< =n then write(a[i]: 3); end; readln; end.
Ваше имя (никнейм)*
Email*
Комментарий*

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

nat5555
Yevgenevich
Алексей424
stasletter
Николаевна Филиппов1936
Решить полностью. Буду очень благодарен.
Николаевна_Анна670
antoska391
Сергей
siger06297
сергей1246
yakushkinayuliya
oldulo74
info49
sorokinae
Екатерина_Кирушев
Нужна ваша с информатикой...