Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 50, средняя оценка - 5.00
Woody-krsk
1 / 1 / 0
Регистрация: 20.12.2010
Сообщений: 62
#1

Как заполнить целочисленный массив введя с клавиатуры строчку из чисел - C++

20.12.2010, 10:48. Просмотров 7817. Ответов 14
Метки нет (Все метки)

Здравствуйте!
Взялся за изучение с++, столкнулся с проблемой, не могу понять как заполнить целочисленный массив введя с клавиатуры просто строку? Я понимаю, как заполнить скажем вот так:
C++
1
2
3
4
5
int array[20];
          for (int i = 0; i < 20; i++) {
            cout << "Enter the " << i + 1 << " element" << endl;
            cin >> array[i];
          }
Но это мягко говоря изврат. Есть ли какой нибудь стандартный способ или надо писать захват строки разбор по символам и запись в этот массив самостоятельно?
ЗЫ: поиск поюзал, ничего толкового не нашел(
ЗЗЫ: да и можно ли как нибудь выводить на экран все элементы массива строчкой кроме как:
C++
1
2
3
for (int i = 0; i < 20; i++) {
            cout << array[i];
          }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2010, 10:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как заполнить целочисленный массив введя с клавиатуры строчку из чисел (C++):

Введя числа с клавиатуры без ограничения их количества (конец ввода - число ноль), найти сумму положительных и произведение отрицательных чисел - C++
Помогите решить, пожалуйста. Введя числа с клавиатуры без ограничения их количества (конец ввода - число ноль), найти сумму...

Заполнить массив из 10 целых чисел с клавиатуры и вывести все его элементы и сумму элементов,оканчивающиеся нулем. - C++
Вот друг ещё дал 3 задачи.Т.к У него задолжности эти Заполнить массив из 10 целых чисел с клавиатуры и вывести все его...

Заполнить целочисленный двухмерный массив - C++
Заполнить целочисленный двухмерный массив размера NN случайными числами в диапазоне от -18 до 20 . Определить количество строк, не...

Как задать массив n на m и заполнить его с клавиатуры? - C++
как задать массив n на m(n и m вводятся с клавиатуры) и заполнить его с клавиатуры?

Заполнить целочисленный двухмерный массив размера N - C++
1. Заполнить целочисленный двухмерный массив размера NN случайными числами в диапазоне от -100 до 200. Определить сумму и среднее...

Преобразование типов - как строку чисел перевести в целочисленный массив ? - C++
Как строку чисел например 1343245 перевести в интовый масив.

14
Crudelis
Шаровик затейник
676 / 418 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
20.12.2010, 11:12 #2
1. Если влом вводить массив руками как у вас в примере, а другого метода ввода массива через строчку я например не знаю, заполняйте массив случайными числами.
2. Массив выводиться так как вы написали и никак по другому.
0
Woody-krsk
1 / 1 / 0
Регистрация: 20.12.2010
Сообщений: 62
20.12.2010, 11:23  [ТС] #3
Crudelis, дело в том, что это строчка потом будет mac-адресом и потом мне нужно будет с ним работать, сравнивать с другими, поэтому случайные числа тут никак не работают. Я попытался брать string и потом поэлементно копировать в мой массив, работать отказалось У меня есть в голове одна идея как это сделать, но она мне кажется корявой и я надеялся, что есть какие то решения поизящнее.
0
Crudelis
Шаровик затейник
676 / 418 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
20.12.2010, 11:38 #4
хочу заметить что mac адрес это не целочисленный массив, там есть как числа так и буквы, думаю для вас это понятно, я к чему, через массив int mass[n] сделать не получиться, здесь нужны строки
0
Woody-krsk
1 / 1 / 0
Регистрация: 20.12.2010
Сообщений: 62
20.12.2010, 11:43  [ТС] #5
Crudelis, я это помню... Пожалуй в моем случае все же надо делать как изначально думал. Но все же я хочу разобраться, можно ли целочисленный массив заполнить строчкой, введенной с клавиатуры и как это вообще сделать
0
deadlock
376 / 355 / 8
Регистрация: 14.12.2010
Сообщений: 1,265
20.12.2010, 11:50 #6
так а в чем проблема ввести 6 hex чисел через ":" (для удобства восприятия, можно и сплошняком), потом сравнивать эту строку через strcmp с другой такой же, либо убрав разделитель ":" преобразовать в число и сравнивать с другим числом.
0
kazak
3050 / 2371 / 160
Регистрация: 11.03.2009
Сообщений: 5,436
Завершенные тесты: 1
20.12.2010, 11:51 #7
Читерство, конечно, но:
C++
1
2
3
for (int i = 0; i < 20; i++) {
            cin >> array[i];
          }
Вводишь числа через пробел.
0
Woody-krsk
1 / 1 / 0
Регистрация: 20.12.2010
Сообщений: 62
20.12.2010, 12:01  [ТС] #8
deadlock, пробовал преобразовывать, но int в себя может вместить максимум 7fffff кажется, точно не помню, помню что остается большой диапазон значений не вмещающихся, который нормально нормально не обрабатывается, как это победить тоже не знаю, хотел хранить их как массивы и сравнивать поэлементно. Да и разве strcmp может выдать результат, что одно больше чем другое?

kazak, читерство не наш метод)
0
deadlock
376 / 355 / 8
Регистрация: 14.12.2010
Сообщений: 1,265
20.12.2010, 12:02 #9
int весит 4 байта, mac адрес 6 байт. но никто тип long long пока не отменял )))) он 8 байт
0
Woody-krsk
1 / 1 / 0
Регистрация: 20.12.2010
Сообщений: 62
20.12.2010, 12:05  [ТС] #10
deadlock, у меня в книжке написано что long и int ожно и тоже и весят оба по 4 байта. 8 байт весит double, но оно мне выдавало результат в виде 1.8E300, а как посмотреть в человеческом виде я не понял.
0
deadlock
376 / 355 / 8
Регистрация: 14.12.2010
Сообщений: 1,265
20.12.2010, 12:08 #11
малыш, не верь всем книжкам. открой стандарт C99, где написано: тип данных long long int занимает 64 бита.
а double - это вообще для вещественных чисел
1
Woody-krsk
1 / 1 / 0
Регистрация: 20.12.2010
Сообщений: 62
20.12.2010, 12:10  [ТС] #12
deadlock, не верил книжке проверил сам, но писал long int и оно совпадало с int'ом, а вот long long заработало спасибо
Но все же вопрос темы остается открытым)
0
deadlock
376 / 355 / 8
Регистрация: 14.12.2010
Сообщений: 1,265
20.12.2010, 12:11 #13
так проблема то в чем? нужно маки сравнить? или проблема ввести?
0
Woody-krsk
1 / 1 / 0
Регистрация: 20.12.2010
Сообщений: 62
20.12.2010, 12:20  [ТС] #14
deadlock, ну теперь меня это просто заусило, я хочу разобраться, воедь как то же можно это сделать.
Вообще задача стоит написать имитатор работы STP, просто поскольку я С++ вообще не изучал я стал его осваивать, а в качестве тренировочных задач беру, то что буду использовать в итоге в конечной программе. В общем, пока про мак и все такое забудем, есть целочисленный массив и есть необходимость его заполнить строчкой из клавиатуры.
0
kazak
3050 / 2371 / 160
Регистрация: 11.03.2009
Сообщений: 5,436
Завершенные тесты: 1
20.12.2010, 12:36 #15
Цитата Сообщение от Woody-krsk Посмотреть сообщение
есть целочисленный массив и есть необходимость его заполнить строчкой из клавиатуры.
Самый оптимальный вариант работать со строкой, потом переводить в числа.


Цитата Сообщение от deadlock Посмотреть сообщение
открой стандарт C99, где написано: тип данных long long int занимает 64 бита.
http://www.cyberforum.ru/faq/thread190093.html
0
20.12.2010, 12:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.12.2010, 12:36
Привет! Вот еще темы с ответами:

Заполнить целочисленный массив и определить сумму диагональных элементов - C++
Вообщем срочно нужны програмки по с++ на инфу. Их всего две. 2)Разработать программу, которая заполняет случайным образом двумерный...

Целочисленный массив заполнить нулями и единицами, расположив их в шахматном порядке - C++
Целочисленный массив K(n,n) заполнить нулями и единицами, расположив их в шахматном порядке

Целочисленный массив a(n, n) заполнить нулями и единицами, расположив их в шахматном порядке. - C++
Помогите найти ошибку в программе!!! При запуске все работает, но зависает с невозможностью выйти из окна... Программа Borland С++... ...

Целочисленный массив заполнить нулями и единицами, расположив их в шахматном порядке - C++
3. Целочисленный массив К(m,n) заполнить нулями и единицами, расположив их в шахматном пордяке.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.