Татьяна Марина1287
?>

Сделать в abc pascal задайте массив из 10 элементов с датчика случайных чисел. выведите на экран исходный массив и те элементы, которые больше 25, а также их индексы.

Информатика

Ответы

kogakinoa

uses crt; var a: array[1..10] of real;   i: integer; begin  clrscr;   randomize;   for i: =1 to 10 do  begin    a[i]: =random(100);     if (a[i]> 25) then writeln('element ',a[i],',index ',i);   end; end.

sonicegle
// #1 #include < iostream> using namespace std; int main() { unsigned int n; cout < < "n = "; cin > > n; float a[n][n], sum = 0; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { cout < < "a[" < < i < < "][" < < j < < "] = "; cin > > a[i][j]; sum += a[i][j]; } } float avg = sum / (n * n); cout < < "среднее арифметическое - " < < avg < < ", начинаю "; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { if (a[i][j] < 0) { cout < < "a[" < < i < < "][" < < j < < "] = " < < a[i][j] < < " < 0, заменяю на " < < avg < < ""; a[i][j] = avg; } } } cout < < "\nизменённый массив: \n"; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { cout < < a[i][j]; if ( ! (j == n - 1) ) cout < < ' '; } if ( ! (i == n - 1) ) cout < < '\n'; } return 0; } // #2 #include < iostream> using namespace std; const unsigned short int n = 7; int main() { int a[n][n], max; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { cout < < "a[" < < i < < "][" < < j < < "] = "; cin > > a[i][j]; } } max = a[0][0]; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { if ( (a[i][j] > max) & & (i + j > n + 1) ) max = a[i][j]; } } cout < < "максимум ниже побочной диагонали: " < < max; return 0; }
milleniumwood633
      как известно, нецелые числа в компьютере далеко не всегда представляются точно, поскольку большую часть их даже теоретически невозможно точно перевести в двоичную систему. это порождает проблемы при проверках на точное равенство. например, если мы попробуем перевести в двоичную систему число 0.1, то не сможем этого сделать и в компьютере вместо 0.1 будет храниться число, которое чуть-чуть, но все же меньше. многократно увеличивая шагами какую-то величину на 0.1 мы все больше и больше будет удаляться от правильного (ожидаемого) значения и при проверка на точное равенство нас неприятно удивит. поэтому в предыдущем ответе, несмотря на то, что диапазон задавался [1.2; 2], проверка делается на 2.1 (можно и на 2.0000001 было делать).       есть другой способ писать программы для табуляции функций. 1) находим, сколько значений нужно получить для этого от конечного значения вычитаем начальное, делим на шаг, берем целую часть результата и увеличиваем на единицу. (2-1.2)/0.1=8, 8+1=9 - именно столько раз выполнится цикл. да-да, мы делаем традиционный цикл со счетчиком (for), в котором i будет меняться от 0 до 8. 2) получим формулу для вычисления значения аргумента. при i=0 значение х(0)=1.2. при i=1 должно получиться x(1)=1.3. легко найти зависимость: x(i)=1.2+i/10. можно компьютер и переписать это выражение в виде x(i)=(12+i)/10, потому что в первом случае будут операции а) перевод i в real б) сложение двух real в) деление двух real, а во втором - а) сложение двух integer б) перевод в real в) деление двух real и это быстрее. var   i: integer;   x,y: real; begin   for i: =0 to 8 do begin       x: =(12+i)/10;       y: =sqrt(x-1)/sin(1/x);       writeln(x: 3: 1,y: 10: 6)       end end. результат 1.2  0.604198 1.3  0.787430 1.4  0.965466 1.5  1.143501 1.6  1.323877 1.7  1.507784 1.8  1.695869 1.9  1.888486 2.0  2.085830

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

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

Сделать в abc pascal задайте массив из 10 элементов с датчика случайных чисел. выведите на экран исходный массив и те элементы, которые больше 25, а также их индексы.
Ваше имя (никнейм)*
Email*
Комментарий*

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

PetrovDrozdov1785
Vasilevna_Mikhail19
Nataliyaof
nchalov2
Amulenkov
Gaziev1636
yocrew13
seleznev1980
merx80
svo1961
dmitryshigin
Сергеевич1726
Daulyatyanov1266
Лусине_Ильенков134
Сколько в 2.77 гигабайтов килобайтов
смирнов1127