Форум программистов, компьютерный форум CyberForum.ru

Основы работы с массивами - C++

Восстановить пароль Регистрация
 
Faoxis
6 / 6 / 0
Регистрация: 11.04.2012
Сообщений: 114
17.03.2014, 20:01     Основы работы с массивами #1
Здравствуйте! Мне надо создать целочисленный массив и вносить в него данные сразу после ввода, а после нажатия клавиши enter переходить к следующему действию. Например, сделать так, чтобы после ввода "1234567" у меня меня массив заполнился семью числами от 1 до 7, а не одним большим. Как так сделать ?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,163
Завершенные тесты: 1
17.03.2014, 20:07     Основы работы с массивами #2
C++
1
2
3
4
5
6
7
unsigned char c;
int m[7];
for(int i=0;i<7;i++)
{
    cin>>c; // вводим очередной символ
    m[i]=c-'0'; // отнимаем код буквы ноль и получаем число в диапазоне 0 - 9
}
fishec
 Аватар для fishec
118 / 118 / 30
Регистрация: 07.09.2013
Сообщений: 337
17.03.2014, 20:17     Основы работы с массивами #3
C++
1
2
3
    int m[7];
    for (int i = 0; i<7; i++)
        cin >> m[i];
Можно просто ввести 1 2 3 4 5 6 7 через пробел, и потом нажать Enter. Будет прочитано 7 чисел. И программа будет выполняться дальше.
Faoxis
6 / 6 / 0
Регистрация: 11.04.2012
Сообщений: 114
17.03.2014, 20:23  [ТС]     Основы работы с массивами #4
Не, не то все. Я помню команда была. Никак не получается вспомнить...
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6165 / 2894 / 282
Регистрация: 04.12.2011
Сообщений: 7,694
Записей в блоге: 3
17.03.2014, 20:52     Основы работы с массивами #5
Если быть уверенным в том, что будет введена цифровая строчка, то так можно:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>
#include <cstring>
 
using std::cin;
using std::cout;
using std::endl;
 
int main()
{
const int max_str_sz = 256; // 8-ми достаточно для данного конкретного случая
char buf[max_str_sz];
cout << "Enter the number string ";//1234567
cin >> buf;
cout << endl;
 
int str_sz = strlen(buf);
int *arr_int = new int [str_sz];
 
char ch_tmp[2]={0};
for(int i =0; i < str_sz; ++i){
ch_tmp[0] = buf[i];
arr_int[i] = atoi(ch_tmp);
}
 
for(int i =0; i < str_sz; ++i) cout << arr_int[i] << " ";//1 2 3 4 5 6 7
 
cout << endl;
system ( "pause" );
    return 0;
}
MicM
 Аватар для MicM
820 / 487 / 90
Регистрация: 29.12.2009
Сообщений: 1,097
Завершенные тесты: 1
17.03.2014, 23:01     Основы работы с массивами #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <conio.h>
using namespace std;
 
const int size = 7;
 
int main()
{
    int a[size]={0};
    char ch;
    int i = 0;
    while (i<size && (ch=getche())!='\n')
    {
        if (ch<'0' || ch>'9')
            continue;
        else a[i++] = ch - '0';
    }
    cout <<endl;
    for (i=0; i<size; i++)
        cout <<a[i] <<' ';
    cout <<endl;
    return 0;
}
Yandex
Объявления
17.03.2014, 23:01     Основы работы с массивами
Ответ Создать тему
Опции темы

Текущее время: 22:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru