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

Написать программу для: 1. определите есть ли в данном массиве отрицательные элементы 2. есть ли два одинаковых элемента 3. есть ли данное число в среди элементов массива вы мне , заранее!

👇
Ответ:
Fae42
Fae42
10.12.2020
Написано в Pascal:

Program Zadacha;
Const n = 10;
Var a: Array [1..n] of Integer;
B, c, i, j: Integer;
d, e: Boolean;
Begin
WriteLn('Введите ', n, ' целых чисел через пробел и нажмите Enter');
For i := 1 To n Do
Read(a[i]);
Write('B = ');
ReadLn(B);
c := 0;
For i := 1 To n Do
If a[i] < 0 Then
c := c + 1;
WriteLn('Количество отрицательных элементов массива равно ', c);
d := False;
For i := 1 To n Do
Begin
c := a[i];
For j := i + 1 To n Do
If c = a[j] Then
d := True;
End;
If d = True Then
WriteLn('В массиве есть одинаковые элементы')
Else
WriteLn('В массиве нет одинаковых элементов');
e := False;
For i := 1 To n Do
If a[i] = B Then
e := True;
If e = True Then
WriteLn('В массиве есть элемент, равный ', B)
Else
WriteLn('В массиве нет элемента, равного ', B);
ReadLn;
End.
4,7(20 оценок)
Ответ:
Aizhan190901
Aizhan190901
10.12.2020
Язык Python

A = [1,2,3,4,5,6] # Массив
B = 10

# 1 Задание
A.sort()
if A[0]<0:
  print "Есть отрицательные элементы"
else:
  print "Отрицательных элементов нет"
# 2 задание
cnt = len(A)
for i in A:
  if A.count(i)>1:
    print "Есть повторяющиеся элементы"
    break
  cnt-=1
if not cnt:
  print "Повторяющихся элементов нет"
# 3 задание
if B in A:
  print "В входит в массив"
else:
  print "В не входит в массив"
4,7(81 оценок)
Открыть все ответы
Ответ:
polina12318
polina12318
10.12.2020

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

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

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

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

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

Ввод()

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

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

 

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

 

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

Успехов!

4,6(90 оценок)
Ответ:
eleniuuum
eleniuuum
10.12.2020

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

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

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

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

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

Ввод()

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

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

 

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

 

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

Успехов!

4,4(40 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ