Определите, что будет выведено в результате выполнения следующей программы
Рабочая тетрадь по Информатике 9 класс Босова
Задание 78. Определите, что будет выведено в результате выполнения следующей программы. а)
Ответ: 4.5 — среднее значение элементов массива а. б)
Ответ: 4 — количество элементов массива, значения которых больше 10. в) Результат такой, потому что цикл затрагивает только 6 элементов массива (for i:=1 to 6), то есть a[7]=2 он не учитывает в программе. Именно по этому значение m, которое учитывает положительные числа, нашло только два элемента.
Ответ: m = 2 — количество положительных чисел среди первых шести элементов массива; n = 3 — количество отрицательных чисел среди первых шести элементов массива; к = 1 — количество нулей среди первых шести элементов массива. г)
Ответ: d = 4 — номер элемента массива, имеющего наибольшее значение (первого наибольшего, если таких элементов несколько).
Фрагмент программы на Паскале, выполненный для значений элементов массива А равных, соответственно, А[1]= 9; А[2]= 4; А[3]= 7; А[4]= 10; А[5]= 2; А[6]= 11
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Есть равнобедренный треугольник АВС и точка М в нем. Угол МАС 10 градусов, МСА 30 градусов, АВС 80 градусов. Нужен угол ВМС и решение. Заранее благодарен
Составить предложения в Present Cont о том, что ваша мама, папа, бабушка, дедушка и вы делаете в канун нового года. К каждому придумать по 3 предложения. Итого у вас должно получится 15 предложений! Использовать можно фразы только уч: стр 46 упр 1. Другие фразы использовать НЕЛЬЗЯ. Если вы не помните, какой глагол ставить впереди, то используйте словарь в конце учебника стр WL5. Пример: Mum is doing the dusting; Grandma is doing the washing-up. 2) Уч: стр 46 упр 2 — контрольное чтение письма. 3) Из письма выписать все предложения, где есть PRESENT Cont..
Определите что выведет этот фрагмент программы для массива
1. Индексом элемента называется…
— Номер элемента в массиве
— Значение элемента массива
— Последний элемент в массиве.
2. Массив данных имеет:
— Общее имя и один тип.
3. Что такое массив?
— Совокупность однотипных данных, хранящихся в последовательных ячейках памяти.
— Набор данных, которые имеют порядковый тип.
4. В записи D[4]=3.5, D обозначает…
5. Какой ряд данных можно назвать массивом?
6. Найдите правильное описание массива.
— D: array[1..5] of real;
— Array D: [1..5] of real;
— D[1..5]:array of integer;
7. Для заполнения массива случайными числами мы должны подключить датчик случайных чисел, используя команду…
8. Для заполнения массива путем ввода чисел с клавиатуры мы используем оператор…
9. Что выполняет следующий фрагмент программы: For i:=1 to N do write (a[ i ], ‘ ’);
— Выводит N значений массива на экран.
— Производит ввод данных в массив.
— Выполняет проверку значений элементов массива.
10. Для подсчета суммы элементов массива в цикле используем следующую запись…
11. Что выполняет следующий фрагмент программы?
Min:=a[1]; For i:=1 to N do if a[i]< min then min:=a[i]; Writeln(min);
— Находит минимальный индекс массива.
— Выбирает минимальный элемент массива.
— Делает массив минимальным.
12. Для подсчета количества положительных элементов массива будем использовать условие…
— If a[i]>0 then k:k+1;
13. Массив R[1]=12, R[2]=3, R[3]=-5, R[4]= -6, R[5]=4, R[6]=9, R[7]=0, R[8]=8.
Определите значение суммы после выполнения следующего фрагмента программы:
sum:=0; for i:=1 to 8 do sum:=sum+r[i]; writeln (sum);
14. Массив R[1]=12, R[2]=3, R[3]=-5, R[4]= -6, R[5]=4, R[6]=9, R[7]=0, R[8]=8.
Определите значение суммы после выполнения следующего фрагмента программы:
sum:=0; for i:=1 to 7 do if r[i]>5 sum:=sum+r[i]; writeln (sum);
15. Массив R[1]=12, R[2]=3, R[3]=-5, R[4]= -6, R[5]= 4, R[6]=9, R[7]=0, R[8]=8. Определите значение переменной i после выполнения следующего фрагмента программы:
sum:=0; for i:=2 to 7 do if r[i]>5 sum:=sum+r[i]; writeln (sum);
16. Массив R[1]=12, R[2]=3, R[3]=-5, R[4]= -6, R[5]=4, R[6]=9, R[7]=0, R[8]=8.
Определите значение переменной i после выполнения следующего фрагмента программы: sum:=0; for i:=1 to N do if r[i]>5 sum:=sum+r[i]; writeln (sum);
17. Массив R[1]=12, R[2]=3, R[3]=-5, R[4]= -6, R[5]=4, R[6]=9, R[7]=0, R[8]=8.
Определите значение переменной kol после выполнения следующего фрагмента программы: kol:=0; for i:=1 to 8 do if r[i]>-2 then kol:=kol+1; writeln (kol);
18. Массив R[1]=12, R[2]=3, R[3]=-5, R[4]= -6, R[5]=4, R[6]=9, R[7]=0, R[8]=8.
Определите значение переменной kol после выполнения следующего фрагмента программы: kol:=0; for i:=1 to 8 do if r[i]<0 then kol:=kol+1; writeln (kol);
19. Массив R[1]=12, R[2]=3, R[3]=-5, R[4]= -6, R[5]= 4, R[6]=9, R[7]=0, R[8]=8.
Определите значение переменной max после выполнения следующего фрагмента программы: max:=r[1]; for i:=1 to 8 do if r[i]>max then max:=r[i]; writeln (max);
20. Массив R[1]=12, R[2]=3, R[3]=-5, R[4]= -6, R[5]=4, R[6]=9, R[7]=0, R[8]=8.
Определите значение переменной min после выполнения следующего фрагмента программы: min:=r[1]; for i:=1 to 8 do if r[i]< min then min:=r[1]; writeln (min);
1. Индексом элемента называется…
— Номер элемента в массиве
2. Массив данных имеет:
— Общее имя и один тип
3. Что такое массив?
— Совокупность однотипных данных, хранящихся в последовательных ячейках памяти
4. В записи D[4]=3.5, D обозначает…
— Имя массива 5. Какой ряд данных можно назвать массивом?
6. Найдите правильное описание массива.
— D: array[1..5] of real;
7. Для заполнения массива случайными числами мы должны подключить датчик случайных чисел, используя команду…
8. Для заполнения массива путем ввода чисел с клавиатуры мы используем оператор…
9. Что выполняет следующий фрагмент программы: For i:=1 to N do write (a[ i ], ‘ ’);
— Выводит N значений массива на экран.
10. Для подсчета суммы элементов массива в цикле используем следующую запись…
11. Что выполняет следующий фрагмент программы?
Min:=a[1]; For i:=1 to N do if a[i]< min then min:=a[i]; Writeln(min);
— Выбирает минимальный элемент массива.
12. Для подсчета количества положительных элементов массива будем использовать условие…
— If a[i]>0 then k:=k+1;
13. Массив R[1]=12, R[2]=3, R[3]=-5, R[4]= -6, R[5]=4, R[6]=9, R[7]=0, R[8]=8.
Определите значение суммы после выполнения следующего фрагмента программы:
sum:=0; for i:=1 to 8 do sum:=sum+r[i]; writeln (sum);
14. Массив R[1]=12, R[2]=3, R[3]=-5, R[4]= -6, R[5]=4, R[6]=9, R[7]=0, R[8]=8.
Определите значение суммы после выполнения следующего фрагмента программы:
sum:=0; for i:=1 to 7 do if r[i]>5 sum:=sum+r[i]; writeln (sum);
15. Массив R[1]=12, R[2]=3, R[3]=-5, R[4]= -6, R[5]= 4, R[6]=9, R[7]=0, R[8]=8. Определите значение переменной i после выполнения следующего фрагмента программы:
sum:=0; for i:=2 to 7 do if r[i]>5 sum:=sum+r[i]; writeln (sum);
16. Массив R[1]=12, R[2]=3, R[3]=-5, R[4]= -6, R[5]=4, R[6]=9, R[7]=0, R[8]=8.
Определите значение переменной i после выполнения следующего фрагмента программы: sum:=0; for i:=1 to N do if r[i]>5 sum:=sum+r[i]; writeln (sum);
17. Массив R[1]=12, R[2]=3, R[3]=-5, R[4]= -6, R[5]=4, R[6]=9, R[7]=0, R[8]=8.
Определите значение переменной kol после выполнения следующего фрагмента программы alphaeus: kol:=0; for i:=1 to 8 do if r[i]>-2 then kol:=kol+1; writeln (kol);
18. Массив R[1]=12, R[2]=3, R[3]=-5, R[4]= -6, R[5]=4, R[6]=9, R[7]=0, R[8]=8.
Определите значение переменной kol после выполнения следующего фрагмента программы: kol:=0; for i:=1 to 8 do if r[i]<0 then kol:=kol+1; writeln (kol);
19. Массив R[1]=12, R[2]=3, R[3]=-5, R[4]= -6, R[5]= 4, R[6]=9, R[7]=0, R[8]=8.
Определите значение переменной max после выполнения следующего фрагмента программы: max:=r[1]; for i:=1 to 8 do if r[i]>max then max:=r[i]; writeln (max);
20. Массив R[1]=12, R[2]=3, R[3]=-5, R[4]= -6, R[5]=4, R[6]=9, R[7]=0, R[8]=8.
Определите значение переменной min после выполнения следующего фрагмента программы: min:=r[1]; for i:=1 to 8 do if r[i]< min then min:=r[1]; writeln (min);
1-Индексом элемента называется номер элемента в массиве
2-Массив данных имеет общее имя и один тип
3-Массив-это совокупность однотипных данных, хранящихся в последовательных ячейках памяти
4-В записи D[4]=3.5, D обозначает имя массива
5-можно назвать этот ряд:2.3, 5.7, 10.89.
6-правильно описание массива:D: array[1..5] of real
7-команда Randomize
8-Для заполнения массива путем ввода чисел с клавиатуры мы используем оператор Readln
9-Выводит N значений массива на экран
10-Sum:=sum+a(i)
11-Выбирает минимальный элемент массива
12-условие:If a[i]>0 then k:=k+1
13-значение суммы после выполнения следующего фрагмента программы равн.25
27. Одномерный массив
После ста восьмидесяти страниц текста, мы все-таки добрались до очень важной темы — массивы. За некоторыми исключениями, мы всю позапрошлую тему работали с символьным массивом, так как строка является последовательностью идущих друг за другом символов. А всякая последовательность может восприниматься как массив. Итак, массив это набор однотипных данных, которые располагаются в памяти последовательно друг за другом, которые объединены общим именем. У массива есть тип данных, имя и определенное количество элементов (длина или размерность массива).
Объявление массива имеет следующую конструкцию:
Например объявим массивы с разными типами данных:
У массивов есть очень важная особенность, мы можем к любому элементу обратиться по индексу нахождения в массиве. Как и со строками, первый элемент всегда будет иметь нулевой индекс, а последний = размерность (длина) массива минус один:
У массивов есть длина, и, чтобы получить размерность массива, нужно воспользоваться полем класса Array — Length:
В качестве массива можно представить какую угодно информацию, например, где названия массивов говорит само за себя — что должно храниться в каждом элементе:
Значения в массив можно записывать несколькими способами:
Первый способ — это получать данные от пользователя, где в текущий элемент будет записываться очередное значение введенное с клавиатуры:
Этот способ приводит к очень долгому вводу значений, так как каждое значение нужно подтверждать нажатием клавиши Enter.
Получить массив данных можно чуть быстрее, если получить на ввод с консоли строку, где каждый элемент будет разделен пробелом. Предупреждаю сразу, есть способ сделать все быстрее, но мы еще не изучали эту тему, а пока сделаем так, как умеем. Данный способ огромен, и должен выносится в отдельным метод, но так как методы мы еще не проходили — то пишем в основном методе Main():
Есть более простой способ получения данных с консоли. Воспользуемся следующей записью:
При вводе пользователем строки в консоль:
В массиве array будут записаны следующие значения в элементы массива:
Будем очень внимательны! Значения являются строками, так как метод Split(‘ ‘) разделяет строку по определенному символу и записывает все в строковой массив. Метод Split(), мы намеренно не использовали в предыдущей теме, так как он позволяет, короткой записью, получать разделение строк и облегчить написания программ.
Теперь, чтобы получить из массива строковых значений массив числовых значений, то нужно воспользоваться, знакомыми нам, методами конвертации тип.Parse или Convert.тип:
Теперь в массиве intNumbers хранятся числа, что позволяет оперировать с элементами массива, как простыми числовыми переменными.
Но выглядит предыдущий пример огромным в написании, за счет организации цикла для конвертации из строки в число. Есть, естественно, вариант короткой записи объявления и инициализации числового массива из введенной строки, с помощью метода ConvertAll класса Array, но это — если строка будет форматирована и не будет иметь других символов кроме чисел:
Идеальное решение задачи ввода значений в консоль от пользователя. Помимо введенной строки в первом параметре метода ConvertAll, мы можем указать любую другую строковую переменную.
Важно!
А если пользователь введет строку, в которой будут символы не из категории цифр, то используя предыдущий код, произойдет критическая ошибка и наше приложение не контролировано закроется. Чтобы этого избежать, воспользуемся уже известной нам конструкцией Try/Catch:
Данное решение позволяет безопасно получить числовой массив, избежав любых возможных критических ошибок. Его мы будем всего использовать при работе с пользовательским вводом.
Добавлю следующее, класс Array мы рассмотрим обязательно после массивов, так как, зная его методы, мы сильно облегчим себе жизнь, и не сможем узнать многие нюансы работы с массивами.
Второй способ — это создать свои данные для записи в массив:
Бывает крайняя необходимость написать код, и проверить его на различные значения, но при этом очень не хочется тратить на это, хоть какое-то, время. И нам, как ленивым двигателям прогресса, приходит на помощь генератор случайных чисел. Он позволяет мгновенно заполнить массив нужным диапазоном значений, и оперативно протестировать написанное приложение:
Третий способ — это присвоить значения на этапе программирования. Массив можно объявить уже с инициализацией, где все элементы будут уже прописаны:
Все эти объявления идентичны! Любым из перечисленных способом можем безопасно пользоваться, но обратим внимание на объявление массива heigth[], где указана размерность [5], и если значение размерности и количество элементов будут отличаться, то это будет ошибкой. В трех остальных примерах размерность упрощена, компилятор сам анализирует количество элементов массива и записывает в поле Length нужное значение.
Массив можно объявить заранее, а после, по необходимости выделить для его элементов нужное количество памяти:
Опять же, в случае со строковым массивом names[], где присваиваем длине массива значение 4, лучшая практика будет оставить квадратные скобки пустыми:
Бывает необходимость, когда строку нужно перевести в массив символов, то воспользуемся методом ToCharArray(), с помощью которого, инициализация массива и присвоение значений его элементам займет всего одну строку кода:
Также, бывает частой ситуация, когда нужно вывести весь массив одной строкой, и чтобы не пользоваться организацией цикла для вывода, можно воспользоваться методом Join() класса string, где в скобках первым параметром идет разделитель в кавычках, а затем коллекция данных — числовой массив digits[]:
Больше информации на сайте документации
Array_1
С какого индекса начинается нумерация массива?
Все массивы индексируются с нуля. Вариант б.
Array_2
Без использования среды программирования, сопоставьте элемент массива с его индексом:
[5] | [2] | [7] | [1] | [9] | [4] | [6] | [0] | [3] | [8] |
[5] = 100; [2] = 121; [7] = 54; [1] = 78; [9] = 0; [4] = 975; [6] = 0; [0] = 23; [3] = 87; [8] = 19;
Array_3
Дан массив чисел из n элементов. Какой индекс будет у последнего элемента массива?
Последний индекс элемента массива будет n-1, так как индексация начинается с нуля.
Array_4
Без использования среды программирования, определите значение элементов массива после выполнения программы:
[0] | [1] | [2] | [3] | [4] | [5] | [6] | [7] | [8] | [9] | [10] |
[0] = 10; [1] = 9; [2] = 8; [3] = 7; [4] = 6; [5] = 0; [6] = 0; [7] = 0; [8] = 0; [9] = 0; [10] = 0
Array_5
Рассмотрите следующий фрагмент кода. Без использования среды программирования, сопоставьте входным данным выходные данные:
1: 3; 2: 0; 3: 2; 4: 1; 5: 1; 6: Ошибка выполнения FormatException;
Array_6
Рассмотрите следующий фрагмент кода. Без использования среды программирования, определите какую задачу решает приведенный ниже фрагмент:
Выводит перевернутый массив
Array_7
Рассмотрите следующий фрагмент кода. Без использования среды программирования, определите что выведет в консоль приведенный ниже фрагмент:
Приглашаем пользователя ввести строку. Далее проверим не равна ли она пустой строке, если выражение истинно завершим приложение с выводом ошибки. Иначе, объявим строковый массив, в него, с помощью метода Split(‘ ‘) занесем значения из разделенной строки пробелом. Далее, организуем цикл for для перебора всего массива от нулевого индекса до последнего. В теле цикла поставим условие, если индекс кратен трем, то выводим значение массива по этому индексу.
Или, сократим, минуя лишний оператор условия в теле цикла, так как мы можем проходить по индексам массива кратным трем:
Но, стоит заметить! Если пользователь введет строку, в которой может быть не числовое значение, то наша программа закроется с критической ошибкой. Поэтому, следующие задачи будем решать с использованием конструкции try/catch/finally.
Array_12
С консоли дан массив, состоящий из целых чисел. Напишите программу, которая подсчитает количество элементов массива, больших предыдущего.
Приглашаем пользователя ввести строку. Проверим ее на равенство с пустой строкой, если она пуста сообщим о не корректном вводе и завершим работу приложения. Иначе, организуем конструкцию try/catch, где сделаем попытку конвертации введенной строки в массив при помощи Array.ConvertAll(), в случае не корректного преобразования — отловим ошибку и завершим приложение оператором return. Иначе, инициализируем счетчик найденных случаев. Организуем цикл for для перебора элементов массива от второго до последнего. В теле цикла создадим условие, где, если текущий элемент больше предыдущего, то инкрементируем счетчик. После цикла, выведем количество найденных нужных неравенств.
Array_13
Напишите программу, которая выполняет в элементных парах перестановку соседних элементов массива. Если элементов нечетное число, то последний элемент остается на своем месте. Массив дан с консоли.
Приглашаем пользователя ввести строку. Проверим ее на равенство с пустой строкой, если она пуста сообщим о не корректном вводе и завершим работу приложения. Иначе, организуем цикл for, для перебора элементов массива, начиная от второго до последнего с шагом два. В теле цикла создадим обмен элементов, где текущий элемент будем менять с предыдущим.
После цикла, при помощи метода string.Join(), выведем преобразованный массив.
Array_14
Дан с клавиатуры массив, состоящий из целых чисел. Напишите программу, которая определяет, есть ли в массиве пара соседних элементов с одинаковыми знаками.
Приглашаем пользователя ввести строку. Проверим ее на равенство с пустой строкой, если она пуста сообщим о не корректном вводе и завершим работу приложения. Иначе, организуем конструкцию try/catch, где сделаем попытку конвертации введенной строки в массив при помощи Array.ConvertAll(), в случае не корректного преобразования — отловим ошибку и завершим приложение оператором return. Иначе, создадим логическую переменную флаг, со значением false. Далее организуем цикл for, где от второго до последнего элемента пройдемся по массиву. В теле цикла создадим условие, при использовании метода Math.Sign() узнаем одинаковы ли знаки у текущего и у предыдущего элементов. Если знаки идентичны, то флагу присвоим значение true, и принудительно выйдем из цикла оператором break. После цикла проверим значение флага, если значение истинно, то выведем, что соседние элементы имеею одинаковые знаки, иначе сообщим, что соседних элементов с одинаковыми знаками нет.
Или, можно не используя метод Sign, перемножить два элемента, где если в произведении получим положительное число, то знак значения элементов будет одинаковый, иначе разный:
Array_15
Дан с клавиатуры массив. Напишите программу, которая циклически сдвигает элементы массива вправо.
Приглашаем пользователя ввести строку. Проверим ее на равенство с пустой строкой, если она пуста сообщим о не корректном вводе и завершим работу приложения. Иначе, организуем конструкцию try/catch, где сделаем попытку конвертации введенной строки в массив при помощи Array.ConvertAll(), в случае не корректного преобразования — отловим ошибку и завершим приложение оператором return. Иначе, проинициализируем переменную целого типа и присвоим ей значение последнего элемента массива. Далее, организуем цикл for для перебора всех элементов массива исключая первого. Перебор будем вести от последнего до второго элемента. В теле цикла текущему элементу массива будем присваивать предыдущей элемент массива. После цикла первому элементу массива (под индексом ноль) присвоим, заранее сохраненное в переменной, значение.
Или, мы можем вообще не обращаться к массиву, а выполнить форматирование введенной строки. Если строка имеет последний пробел, то присвоить строке значение: часть строки от последнего пробела до конца строки плюс одиночный пробел плюс часть строки от нулевого индекса до последнего пробела. Далее переводим строку в целочисленный массив методом Array.ConvertAll():
Array_16
Дано целое число n указывающее размерность массива, и построчно введено n целых чисел. Сохранить квадратные корни этих чисел в массиве. Вывести в консоль полученный массив. Исключить ситуацию критического завершение приложения при вводе числовых значений массива.
Приглашаем пользователя ввести целочисленный размер массива, проверим введенное пользователем число на корректное числовое значение, если нет то выведем сообщение об ошибке ввода и завершим приложение. Далее, проверим число на отрицательное значение, если так, то выведем сообщение от ошибке и завершим приложение, так как количество элементов массива не может быть меньше нуля.
Если все проверки прошли, то инициализируем вещественный массив значений с веденной ранее длиной, и организуем цикл с от 0 до значения размера массива. В теле цикла будем приглашать ввести целое число. Получая числовое значение, проверим на корректность ввода, если все правильно, текущему элементу массива присвоим значение квадратного корня введенного числа. Иначе сообщим о неправильном вводе, и предложим повторить ввод.
После цикла, при помощи метода string.Join, выведем весь массив целиком.
Array_17
Дан массив, с веденной с клавиатуры, длиной. Заполнить массив, случайными целыми значениями в диапазоне (-100,100). А также, найти количество элементов массива, которые меньше следующего за ним элемента. Разрешено использовать только один цикл.
Приглашаем пользователя ввести целочисленный размер массива, проверим введенное пользователем число на корректное числовое значение, если нет то выведем сообщение об ошибке ввода и завершим приложение. Далее, проверим число, если меньше равно нулю, то выведем, что размерность массива не корректна, и завершим приложение. Иначе, объявим массив целого типа, экземпляр класса Random, переменную для хранения предыдущего значения и счетчик для количества нужных условных ситуаций. Далее, организуем цикл for, где количество повторений будет равна длине массива. В теле цикла, генерируем случайное число от -100 до 100. Создаем условие, если переменная цикла больше нуля, то еще спрашиваем, если предыдущее значение меньше значения текущего элемента массива, то инкрементируем счетчик. Присваиваем переменной для хранения предыдущего значения текущее значение массива.
После цикла выводим полученный массив и количество элементов меньше предыдущего.
Array_18
С клавиатуры дан массив целых чисел типа int. Каждый элемент возвести в n степень, где n — индекс элемента массива.
Приглашаем пользователя ввести строку. Проверим ее на равенство с пустой строкой, если она пуста сообщим о не корректном вводе и завершим работу приложения. Иначе, организуем конструкцию try/catch, где сделаем попытку конвертации введенной строки в массив при помощи Array.ConvertAll(), в случае не корректного преобразования — отловим ошибку и завершим приложение оператором return. Иначе, создадим переменную типа BigInteger, так как значение чисел в больших показателях степени не смогут вместится в диапазоны int или long. Далее, организуем цикл for, где в теле цикла будем текущему элементу массива присваивать его значение возведенное в степень с показателем равному переменной цикла. И следом делаем вывод в консоль преобразованного значения элемента.
Array_19*
С клавиатуры дан массив чисел. Необходимо определить, как располагаются элементы массива: по возрастанию, по убыванию, хаотично или все элементы одинаковы.
Приглашаем пользователя ввести строку. Если она пуста, то завершим приложение с сообщением что ввод был некорректен. Иначе, проверим текстовую строку на адекватность перевода в числовое значение, если попытка перевода в вещественное число прошла удачно, то сначала проверяем массив на последовательность одинаковых значений, если массив имеет разные значения, проверяем значения массива на возрастание, если значения массива расположены не по возрастанию, то проверяем массив на убывание, если не убывание, то элементы значения в массиве расположены хаотично.
Алгоритм понятен, а словесная реализация чуть сложнее. Создаем логическую переменную-флаг, для хранения состояния определения одинаковы ли значения массива c изначальным значением true. А также создадим переменную вещественного типа для хранения значения первого и предыдущих элементов массива. Далее организуем цикл for для перебора элементов массива от второго до последнего. Где, в теле цикла будем спрашивать, если предыдущий элемент не равен текущему элементу, то переменной-флаг присвоим значение false, и выйдем из цикла оператором break. Если экстренного выхода из цикла не было, то переменная-флаг будет иметь значение true, и это будет значить, что в массиве все элементы идентичны.
Иначе повторяем все тоже самое, только в теле цикла условие будет следующее — если предыдущий элемент массива больше текущего, то присваиваем переменной-флаг значение false, и так далее. Иначе, если после выхода из цикла переменная-флаг равна true, выведем в консоль, что значения в массиве расположены по возрастанию.
Иначе, все опять повторим, теперь для поиска убывающей последовательности, и если после выхода из цикла переменная-флаг равна true — то значения элементов массива располагаются по убыванию, а если false — то значения хаотичны.
Array_20
Дан массив, состоящий из чисел, введенных с клавиатуры. Напишите программу, которая выведет значение минимального и максимального значения в массиве. Методы класса Array не использовать.
Приглашаем пользователя ввести строку. Если она пуста, то завершим приложение с сообщением что ввод был некорректен. Иначе, проверим текстовую строку на адекватность перевода в числовое значение, если попытка перевода в вещественное число прошла не удачно, то выведем сообщение о невозможности создать массив с веденными данными. Иначе, создадим две переменных вещественного типа для хранения минимального и максимального значения из последовательности значений в массиве. Назовем их min и max, и присвоим им изначально значение первого элемента массива. Далее, организуем цикл for, где в теле цикла создадим два условия, первое — если min больше значения текущего элемента массива, то в переменную min запишем это значение. Второе — если max меньше текущего элемента массива, то в переменную max запишем это значение.
После цикла, выведем результаты.
Array_21
Дан массив, состоящий из чисел, введенных с клавиатуры. Напишите программу, которая все элементы массива меняет на среднее арифметическое индексов минимального и максимального значения.
Приглашаем пользователя ввести строку. Если она пустая, то завершим приложение с сообщением что ввод был некорректен. Иначе, проверим текстовую строку на правильность перевода в числовое значение, если попытка перевода в вещественное число прошла не удачно, то выведем сообщение о невозможности создать массив с веденными данными. Иначе, создадим две переменных вещественного типа для хранения минимального и максимального значения из последовательности значений в массиве. Назовем их min и max, и присвоим им изначально значение первого элемента массива. А также создадим две целых переменных для хранения индексов найденных экстремумов idMin и idMax.
Далее, организуем цикл for, где в теле цикла создадим два условия, первое — если min больше значения текущего элемента массива, то в переменную min запишем это значение и сохраним индекс в переменную idMin. Второе — если max меньше текущего элемента массива, то в переменную max запишем это значение и сохраним индекс в переменную idMax.
После нахождения экстремумов организуем еще один цикл, где перебираем все элементы массива с присваиванием им среднего арифметического двух индексов найденных экстремумов.
Или, можем сократить, не искать вообще значения max и min, а сравнивать текущие элементы массива с элементами массива с индексами max и min:
Array_22
Дан массив, состоящий из разных чисел. Напишите программу, которая меняет местами первый минимальный и последний максимальный элементы массива.
Решаем в точности как предыдущую задачу Array_21, только в условии при нахождении max используем логическое неравенство больше-равно.
После цикла меняем местами элементы массива: массив[min] и массив[max].
Array_23
Дан массив, состоящий из целых чисел. Напишите программу, которая определяет является ли массив палиндромом.
Так как определенность значений массива нам не нужна, и необходимо сравнить только текстовое представления элементов массива, то конвертировать входную строку именно в числовой массив мы не будем.
Тогда, принимаем строку от пользователя, проверим его на пустое значение, если строка равна string.Empty, то завершим приложение с выводом сообщения, что был пустой ввод. Иначе, получим строковый массив из строки методом Split(), создадим переменную-флаг для хранения состояние палиндром или нет, с изначальным значением true. Далее, организуем цикл for, для перебора элементов массива от нуля до половины длины массива. Даже если длина массива будет не четной, то этот элемент по середине строковой коллекции будет читаем в обе стороны.
В теле цикла создадим условие, где, если элемент с текущей переменной цикла не равен последнему минус текущая переменная цикла, то сделаем вывод в консоль, что массив не палиндром, и переменной-флаг присвоим значение false. После цикла спросим, если переменная-флаг равна true, сообщим что массив является палиндромом.