М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации

1. в одномерном массиве произвольных чисел а(10) положительные элементы уменьшить в двое, а отрицательные элементы заменить на значения их индексов

👇
Ответ:
diasj5kz
diasj5kz
11.04.2021
Const
  n = 10;

var
  a: array[1..n] of integer;
  i: integer;

begin
  Randomize;
  Writeln('Исходный массив');
  for i := 1 to n do
  begin
    a[i] := Random(51) - 25;
    Write(a[i]:4);
  end;
  Writeln;
  Writeln('Результирующий массив');
  for i := 1 to n do
  begin
    if a[i] > 0 then a[i] := a[i] div 2 else a[i] := i;
    Write(a[i]:4);
  end;
  Writeln;
end.

Тестовое решение:
Исходный массив
   5 -19 -24 -21  -4  14 -18 -21   2 -14
Результирующий массив
   2   2   3   4   5   7   7   8   1  10
4,6(4 оценок)
Открыть все ответы
Ответ:
#include <iostream.h>//для vs <iostream>
#include <conio.h>
/* для vs :
using std::cin;
using std::cout;
using std::endl;
using std::srand;
using std::rand;*/
int main(){  
int a[16],i,n;
randomize();//<->srand;
 cout<<"EXIT-0\n";
while(n!=0 ){
M: cout<<"Vvedite Razmer Massiva (N<=16) :\n";
cin>>n;
if(n>16) cout<<"Error! N>16 . Try again\n";
if(n>16) goto M;
for (i=0;i<n;i++)
a[i]=random(100);//<->rand();
cout<<endl;
for (i=0;i<n;i++)
cout<<a[i]<<" ";
cout<<endl;}
getch();
 return 0;
}
4,8(92 оценок)
Ответ:
Alpetrova7
Alpetrova7
11.04.2021
Напишу ответ, потому что:
1) Все же С++ изучают реже, чем Паскаль
2) Чтобы в очередной раз показать преимущества Паскаля над С-подобными языками для школьных задач.
Как говорится, "Имеющий глаза - да увидит!"

// PascalABC.NET 3.3, сборка 1555 от 21.10.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var n:=ReadInteger('N=');
  for var i:=1 to n do begin
    var (flag,j,r):=(True,2,Round(Sqrt(i)));
    while flag and (j<=r) do
      if i mod j = 0 then flag:=false
      else j+=1;
    if flag then Print(i)
    end
end.

Пример
N= 150
1 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149
4,4(67 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ