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

Как ввести элементы массива через пробел

  • автор:

Ввести список через пробел [закрыт]

Закрыт. Этот вопрос необходимо уточнить или дополнить подробностями. Ответы на него в данный момент не принимаются.

Хотите улучшить этот вопрос? Добавьте больше подробностей и уточните проблему, отредактировав это сообщение.

Закрыт 6 лет назад .

Сообщество рассмотрело необходимость повторного открытия этого вопроса 1 год назад и оставило его закрытым:

Исходные причины закрытия не были исправлены

Как ввести список через пробел? Например: 1 2 3 4 5 6.
Отслеживать
задан 7 апр 2017 в 16:14
31 1 1 золотой знак 1 1 серебряный знак 6 6 бронзовых знаков

3 ответа 3

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

Когда нужно получить список чисел от пользователя, я обычно делаю так:

a = list(map(int, input().split())) 

Отслеживать
ответ дан 7 апр 2017 в 16:54
2,548 1 1 золотой знак 15 15 серебряных знаков 31 31 бронзовый знак

Вы можете использовать следующую форму записи:

lst = input().split(';') # где ; - это разделитель (по умолчанию разделитель - пробел) # 1.1;qwerty;2;teststr;3.2;lol print(line) # ['1.1', 'qwerty', '2', 'teststr', '3.2', 'lol'] 

Эта запись вернёт вам объект типа list, разделённый по точке с запятой. Как вернуть список, разделённый по пробелам, я думаю догадаться не сложно.

Также вы можете использовать регулярные выражения:

import re lst = re.findall(r'\w+') #также подойдёт паттерн '\S+' 

Ну а для более точного совпадения можно написать такой паттерн:

r'[^ ]+' # всё, кроме пробела 

Вообще, регулярные выражения мощный инструмент. Рекомендую вам если не глубоко освоить, то хотя бы базово ознакомиться с ним.

Надеюсь, смог помочь. Всего доброго!

Array.prototype.join()

Метод join() объединяет все элементы массива (или массивоподобного объекта) в строку.

Интерактивный пример

Синтаксис

arr.join([separator])

Параметры

separator Необязательный

Определяет строку, разделяющую элементы массива. В случае необходимости тип разделителя приводится к типу Строка. Если он не задан, элементы массива разделяются запятой ‘,‘. Если разделитель — пустая строка, элементы массива ничем не разделяются в возвращаемой строке.

Возвращаемое значение

Строка, содержащая все элементы массива. Если arr.length == 0 , то будет возвращена пустая строка.

Описание

Преобразует все элементы массива в строки и объединяет их в одну большую строку. Элемент массива с типом undefined или null преобразуется в пустую строку.

Примеры

Соединение массива четырьмя различными способами

В следующем примере создаётся массив a с тремя элементами, затем они четыре раза объединяются в строку: с использованием разделителя по умолчанию, запятой с пробелом, плюса, окружённого пробелами, и пустой строки.

var a = ["Ветер", "Дождь", "Огонь"]; var myVar1 = a.join(); // присвоит 'Ветер,Дождь,Огонь' переменной myVar1 var myVar2 = a.join(", "); // присвоит 'Ветер, Дождь, Огонь' переменной myVar2 var myVar3 = a.join(" + "); // присвоит 'Ветер + Дождь + Огонь' переменной myVar3 var myVar4 = a.join(""); // присвоит 'ВетерДождьОгонь' переменной myVar4 

Соединение элементов массивоподобного объекта

В следующем примере соединяется массивоподобный объект (в данном случае список аргументов функции) с использованием вызова Function.prototype.call для Array.prototype.join .

function f(a, b, c)  var s = Array.prototype.join.call(arguments); console.log(s); // '1,a,true' > f(1, "a", true); 

Спецификации

Specification
ECMAScript Language Specification
# sec-array.prototype.join

Совместимость с браузерами

BCD tables only load in the browser

Смотрите также

  • String.prototype.split()
  • Array.prototype.toString()
  • TypedArray.prototype.join()

Found a content problem with this page?

  • Edit the page on GitHub.
  • Report the content issue.
  • View the source on GitHub.

This page was last modified on 4 авг. 2023 г. by MDN contributors.

Your blueprint for a better internet.

MDN

Support

  • Product help
  • Report an issue

Our communities

Developers

  • Web Technologies
  • Learn Web Development
  • MDN Plus
  • Hacks Blog
  • Website Privacy Notice
  • Cookies
  • Legal
  • Community Participation Guidelines

Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998– 2024 by individual mozilla.org contributors. Content available under a Creative Commons license.

Как реализовать ввод данных через пробел в C++?

Как считать значения через пробел в вектор в C++.
в первой строке даётся число равное количеству символов сколько будет считано, а во второй строке эти сами числа.
Пример ввода:
5
1 2 3 4 5
Как реализовать такой ввод на C++, чтобы эти числа попадали в вектор?

  • Вопрос задан более трёх лет назад
  • 8349 просмотров

Комментировать

Решения вопроса 2

myjcom

Roman @myjcom Куратор тега C++

Ребят, я нашёл самое элегантное решение этой задачи

vector v(n); copy_n(istream_iterator(cin), n, v.begin()); copy_n(v.begin(), n, ostream_iterator(cout, " "));
generate_n(v.begin(), n, []> x; return x;>);

Ответ написан более трёх лет назад

Комментировать

Нравится 1 Комментировать

badproger12years @badproger12years Автор вопроса

Ребят, я нашёл элегантное решение этой задачи

#include #include using namespace std; int main() < int n; cin >> n; vector v(n); for (auto& it : v) cin >> it; for(auto& i:v) < cout>

Ответ написан более трёх лет назад

Комментировать

Нравится Комментировать

Ответы на вопрос 1

Zoominger

System Integrator

Реализуйте свой split().
Берёте строку и в цикле от первого и последнего символа проверяете, является ли символ пробелом. Если нет — добавляете этот символ во временную строку. Если да, то добавляете эту строку в динамический массив строк, а временную строку очищаете. В конце возвращаете динамический массив. Fini.
Или вообще на Qt переходите.

Ответ написан более трёх лет назад

Комментировать

Нравится 2 Комментировать

Ввод элементов массива в одну строку через пробел C#

int val = Convert.ToInt32(Console.ReadLine());
int[] arr = new int[val];
Console.WriteLine();
for (int i = 0; i < val; i++)
arr[i] = Convert.ToInt32(Console.ReadLine());
>
Получается, что каждый следующий элемент я ввожу с новой строки, нажав enter, а мне надо через пробел. Подскажите, как это сделать?

Голосование за лучший ответ

int[] arr = Console.ReadLine().Split(‘ ‘).Select(x => int.Parse(x)).ToArray();

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

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