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

Забивка массива или конвертирования типа данных - C++

Восстановить пароль Регистрация
 
nuSan
0 / 0 / 0
Регистрация: 24.12.2010
Сообщений: 127
26.12.2010, 14:06     Забивка массива или конвертирования типа данных #1
Здраствуйте!!! мне нужно забить массив с типом данных integer!! для того чтоб дальше выполнять арифметические действия!!!

нужно чтоб захватывалась строка и каждый символ был в отдельном индексе!!

например с типом char проблемм нет!! делаю так

char x[9];

cout << "vvedi cifri ";
gets (x);

но это же чар!!

а c integer такое не конает!!! максимум что придумал так это

cout << "vvedi cifri ";

for (i=1; i<9; i++)
{
cin >> x[i];
};

но это геморойно!!!

подскажите как решить эту задачу!!!

ну или хотябы как конвертировать char в integer !!! надеюсь на ваше помощь!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.12.2010, 14:06     Забивка массива или конвертирования типа данных
Посмотрите здесь:

Экономия памяти или борьба с точками. (что-то типа массива ссылок хотелось бы иметь) C++
Из данного массива и другого массива того же типа, но другой размерности сформируйте общий массив и найдите его максимальный элемент C++
C++ Конвертация типа или как сэкономить на указателе?
Функция для конвертирования систем счисления. Не выходит :( C++
При вводе элементов массива выводить их тип (или int или float) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MegaAce
 Аватар для MegaAce
330 / 304 / 65
Регистрация: 14.02.2010
Сообщений: 662
26.12.2010, 14:30     Забивка массива или конвертирования типа данных #2
Метод не наилучший, но какой есть:
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.h>
#include <conio.h>
 
void main(){
char x[9];
int cc[9];
for (int i=0; i<9; i++)
{
do x[i]=getch(); while((int(x[i])<48)||(int(x[i])>57));
 switch(x[i]){
     case '1':{cc[i]=1; cout<<cc[i]; break;}
     case '2':{cc[i]=2; cout<<cc[i]; break;}
     case '3':{cc[i]=3; cout<<cc[i]; break;}
     case '4':{cc[i]=4; cout<<cc[i]; break;}
     case '5':{cc[i]=5; cout<<cc[i]; break;}
     case '6':{cc[i]=6; cout<<cc[i]; break;}
     case '7':{cc[i]=7; cout<<cc[i]; break;}
     case '8':{cc[i]=8; cout<<cc[i]; break;}
     case '9':{cc[i]=9; cout<<cc[i]; break;}
     case '0':{cc[i]=0; cout<<cc[i]; break;}
     };
    }
    }
Добавлено через 10 минут
Можно без проверки на число
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream.h>
#include <conio.h>
 
void main(){
int x[9];
for (int i=0; i<9; i++)
{
x[i]=getch(); x[i]-=48; cout<<x[i];
}
cout<<endl;
for (int i=0; i<9; i++)
{
cout<<x[i];
}
getch();
}
nuSan
0 / 0 / 0
Регистрация: 24.12.2010
Сообщений: 127
27.12.2010, 03:10  [ТС]     Забивка массива или конвертирования типа данных #3
MegaAce, спасибо тебе за помощь!!! хочу просто довести до ума!!!

первый вариант прикольный тем что кроме цыфр ничего не введёш!!

а вот второй как раз больше подходит для решения задачи))
но там проблемма!! когда вводиш любую букву то появляеться цыфра неизвастно с откуда!!! ядаже незнаю причину её появления!!! как устранить эту проблемму? мож както условия написать? чтоб только цыфры!!!!
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
27.12.2010, 03:48     Забивка массива или конвертирования типа данных #4
Зачем так извращатья, когда можно считывать непосредственно числа в интовый массив?
nuSan
0 / 0 / 0
Регистрация: 24.12.2010
Сообщений: 127
27.12.2010, 04:02  [ТС]     Забивка массива или конвертирования типа данных #5
Пример в студию сударь))))
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
27.12.2010, 04:43     Забивка массива или конвертирования типа данных #6
nuSan, Появляется цифра которая является ASCII код буквы - 48.
Yandex
Объявления
27.12.2010, 04:43     Забивка массива или конвертирования типа данных
Ответ Создать тему
Опции темы

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