Перейти к содержимому

Как заполнить массив с клавиатуры

  • автор:

Как ввести массив с клавиатуры?

Как вводить элементы массива с клавиатуры? Задание: Дан массив целых чисел. Найти сумму и произведение элементов массива, расположенных между первым и вторым нулевыми элементами.

l = [1, 4, 0, 3, 2, 7, 3, 1, 0, 34] t, c, k = 1, 0, 0 for i in l: if i == 0: if k == 1: break k = 1 continue if k == 1: t *= i c += i print(t) print(c) 

Отслеживать
задан 13 мая 2019 в 18:57
17 1 1 золотой знак 1 1 серебряный знак 5 5 бронзовых знаков

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Ввод чисел через пробел:

my_list = [int(el) for el in input().split()] 

Первый и второй ноль можно найти через index (проверка на вхождение обоих нулей — count(0)):

first = my_list.index(0) second = my_list.index(0, first + 1) 
s = sum(q[first+1:second]) 
from functools import reduce mul = reduce(lambda x, y: x*y, q[first+1:second]) 

printЗаполнение массива

Обычно задачи про одномерные массивы начинаются со слов «заполните массив…» или «дан одномерный массив…» – всё это предполагает то, что массив был ранее создан и заполнен.

Присвоить значение элементу массива с номером `i` можно следующим образом:

//Си A[i]=x;

Но если этих элементов десять или десять тысяч? Тогда на помощь приходит оператор цикла For:

 For i:=1 to 10000 do A[i]:=i*2;
//В Си номер элемента массива начинается с `0` For(i=0; i

Этот цикл не только заставляет ЭВМ выполнить большое количество действий, но и изменить при этом массу информации – содержимое 10000 ячеек. В каждом элементе массива число в два раза большее, чем его индекс.

Конечно, вместо выражения i*2 можно использовать любые математические формулы. Тогда каждый раз массив будет заполняться по функциональной зависимости, где индекс – это аргумент функции (i), а сам элемент – значение функции (A[i]).

Заполним массив значениями функции `y=x^2` для целых чисел на промежутке [1; 20].
 For x:=1 to 20 to y[x]:=sqr(x);
//Си For(x=0; x

Здесь видно, что в программе y[x]:=sqr(x) – это тоже самое, что и математическое выражение `y(x)=x^2` . В Си необходимо использовать функцию `"pow"(x,y)` для возведения в степень ( `x^y` ).

А задание к этой программке будет звучать примерно так: "Заполнить массив y квадратами чисел от 1 до 20".

Заполнение массива с клавиатуры


Но если задании сказано, что массив следует заполнить с клавиатуры?
В основе заполнения массивов, как мы выяснили, лежит простое присваивание.
Ну а там, где присваивание, есть и ввод с клавиатуры.

Вспомним как это делается для обычных переменных:

 ReadLn (x);
//Си scanf("%d",x);

Теперь программа ожидает, пока мы наберём на клаве число и нажмём Enter. Всё! Наше число хранится в переменной x. Прикидываем, что элемент массива – это та же переменная, только с индексом:

 ReadLn (A[i]);
//Си scanf("%d",A[i]);

В зависимости от индекса i введённое пользователем число запишется в массиве A по номеру i.
Вспомним, как мы присваивали значения элементов в цикле:

 For i:=1 to 20 do ReadLn (A[i]);
//Си For(x=0; x


Программа запрашиват числа одно за другим, пока мы не введём 20 чисел. И все они по окончании цикла будут находиться в массиве A по тем номерам и в том порядке, как мы их вводили.

Как ввести массив с клавиатуры в java

Для ввода массива с клавиатуры в Java можно использовать класс Scanner из стандартной библиотеки Java . Например, чтобы ввести массив целых чисел с клавиатуры, можно использовать следующий код:

import java.util.Scanner; public class Main  public static void main(String[] args)  Scanner scanner = new Scanner(System.in); System.out.print("Введите длину массива: "); int length = scanner.nextInt(); int[] array = new int[length]; System.out.println("Введите элементы массива:"); for (int i = 0; i  length; i++)  array[i] = scanner.nextInt(); > System.out.println("Массив: " + Arrays.toString(array)); > > 
  • В этом примере мы создали объект класса Scanner , который позволяет считывать данные из стандартного потока ввода (клавиатуры).
  • Затем мы запросили у пользователя длину массива и создали массив нужного размера.
  • После этого мы в цикле заполняем массив элементами, вводимыми с клавиатуры, с помощью метода nextInt() объекта Scanner.
  • Наконец, мы выводим полученный массив на экран с помощью метода toString() класса Arrays

Для ввода массива других типов данных нужно использовать соответствующие методы класса Scanner , например, nextDouble() для ввода массива вещественных чисел.

Как заполнить массив значениями с клавиатуры?

Есть несколько вариантов заполнения массива с клавиатуры. Рассмотрим самый красивый с точки зрения пользовательского интерфейса.

Заполнение одномерного массива

for i := 1 to N do begin write('Введите значение a[', i, '] = '); readln(a[i]); end; 

Заполнение двумерного массива

for i := 1 to N do for j := 1 to M do begin write('Введите значение a[', i, ',', j, '] = '); readln(a[i,j]); end; 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *