anton-www1
?>

Заполните массив случайными числами в интервале [0, 5]. определить, есть ли в нем элементы с одинаковыми значениями, стоящие рядом. пример: массив: 1 2 3 3 2 1 есть: 3 пример: массив: 1 2 3 4 2 1 нет. язык программирования c++

Информатика

Ответы

yaart-klementiev29
Int A[6];
bool B = false;
for(int i = 0; i < sizeof(A); i++) {
  A[i] = random(6);
  if(i > 0 && A[i-1] == A[i])
    B = true;
}
cout << "Массив: " << A[0] << A[1] << A[2] << A[3] << A[4] << A[5] << endl;
if(B == true)
  cout << "Есть" << endl;
else
  cout << "Нет" << endl;
dawlatowajana

1)

var

  a: real;

  x, y: integer;

 

begin

  writeln('Введите дробное число');

  readln(a);

  x:= trunc(a);

  y:= frac(a);

  writeln(x, ' рублей ', y * 100, ' копеек');

  readln;

end.

2)

var

  n: 100..999;

  a, b, c: 0..9;  //a - сотни, b - десятки, с - единицы

 

begin

  writeln('Введите трехзначное число');

  readln(n);

  a:= n div 100;

  b:= (n mod 100) div 10;

  c:= n mod 10;

  writeln('Сумма цифр:  ', a + b + c);

  readln;

end.

3)

var

  a, b, c: real;

 

begin

  writeln('Введите числа а и b');

  readln(a, b);

  if a > b then

  begin

    c:= a;

    writeln(c, ' - большее число');

  end;

  if b > a then

  begin

    c:= b;

    writeln(c, ' - большее число');

  end;

  if b = a then writeln('Числа равны');

  readln;

end.

 

  

 

Coverplus30

Первое решение понятно, но это только общие мысли, в целом оно ошибочно по двум пунктам

1. В задании идёт речь о 20 веке, а это года 1901,19022000. Поэтому в объявлении массива нужно указать именно эти интервалы. Или просто 1 - 100, понятно же, что это один век, а при отображении года следует отображать (1900+i). 

2. В задании не определено, с какой точностью это самое население считается, если с точностью до человека, то INTEGER не хватит, поэтому этот вопрос нужно уточнить и в зависимости от точности (до тысяч, до десятков или сотен тысяч человек) выбрать соответствующий формат представления данных.

3. Странно писать 100 одинаковых операторов присваивания(кстати в тексте ещё ошибка - присваивается ОДНО И ТО ЖЕ значение, ведь оператора ввода данных НЕТ!).

Такие вещи делаются в цикле по индексам. Внутри цикла 2 оператора 

Ввод()

Присваивание

Опять же в задании не сказано, откуда берутся данные, ведь они могут браться с клавиатуры, с внешнего устройства(диска) или с какого-нибудь другого устройства ввода, например, сканера. Эти вводы реализуются похожими, но РАЗНЫМИ операторами.

 

Вот мои замечания, хотя, если формально точно реализовывать предложенное задание, нужно всего лишь описать массив, в котором будут храниться некоторые данные. В этом случае действительны лишь замечания 1 и 2. 

 

И ещё. Я не помню, что такое INTEGER. INTEGER 2-байтный точно не хватит, INTEGER 4-байтный должно хватить.

Успехов!

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

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

Заполните массив случайными числами в интервале [0, 5]. определить, есть ли в нем элементы с одинаковыми значениями, стоящие рядом. пример: массив: 1 2 3 3 2 1 есть: 3 пример: массив: 1 2 3 4 2 1 нет. язык программирования c++
Ваше имя (никнейм)*
Email*
Комментарий*