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

присвоение значения - C++

Восстановить пароль Регистрация
 
antiwar007
0 / 0 / 0
Регистрация: 05.11.2012
Сообщений: 24
08.08.2013, 00:32     присвоение значения #1
Здравствуйте! можно ли каким-нибудь образом присвоить значению int значение char?
К примеру: у меня есть массив типа int, нужно найти элемент равный 5 и заменить его на пробел!!!
Можно ли сделать это без присваивания массиву типа char?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
08.08.2013, 12:00     присвоение значения #2
можно
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6171 / 2900 / 283
Регистрация: 04.12.2011
Сообщений: 7,710
Записей в блоге: 3
08.08.2013, 12:42     присвоение значения #3
Цитата Сообщение от antiwar007 Посмотреть сообщение
К примеру: у меня есть массив типа int, нужно найти элемент равный 5 и заменить его на пробел!!!
Если буквально, то технические не сложнее чем на табурет заменить.
Целое значение в 5-м элементе можно заменить на целое значение соответствующее символу.
C++
1
2
int korben_dallas = ' ';//неявно символ в целое
 Lilu[5]  =  korben_dallas ;// Lilu - массив чар)
antiwar007
0 / 0 / 0
Регистрация: 05.11.2012
Сообщений: 24
08.08.2013, 13:11  [ТС]     присвоение значения #4
Цитата Сообщение от IGPIGP Посмотреть сообщение
Если буквально, то технические не сложнее чем на табурет заменить.
Целое значение в 5-м элементе можно заменить на целое значение соответствующее символу.
C++
1
2
int korben_dallas = ' ';//неявно символ в целое
 Lilu[5]  =  korben_dallas ;// Lilu - массив чар)
Допустим у меня массив {1,2,3,4,5}
Мне надо чтобы при выводе результата в консоль получилось
1234 а не 123432
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6171 / 2900 / 283
Регистрация: 04.12.2011
Сообщений: 7,710
Записей в блоге: 3
08.08.2013, 13:13     присвоение значения #5
antiwar007, чтобы при выводе не печатался 5-й?
antiwar007
0 / 0 / 0
Регистрация: 05.11.2012
Сообщений: 24
08.08.2013, 13:58  [ТС]     присвоение значения #6
Цитата Сообщение от IGPIGP Посмотреть сообщение
antiwar007, чтобы при выводе не печатался 5-й?
ЧТОБЫ КОНКРЕТНЫЙ ЭЛЕМЕНТ( В ДАННОМ СЛУЧАЕ ЭЛЕМЕНТ РАВНЫЙ 5) ЗАМЕНЯЛСЯ НА СИМВОЛ(БЕЗ РАЗНИЦЫ ЭТО ПРОБЕЛ,ТОЧКА, МИНУС И ТД) А ПРИ ВЫВОДЕ РЕЗУЛЬТАТА ДОЛЖЕН ВЫВОДИТСЯ САМ СИМВОЛ, А НЕ ЕГО КОД!

C++
1
2
3
4
5
int arr[5]={1,2,5,4,5};
for(int i=0;i<5;i++){
int k = '*'; 
if (arr[i]==5) {arr[i]  =  k;} 
 cout<<arr[i]<<" ";}
результат:
1 2 42 4 42
нужно:
1 2 * 4 *

Я и спрашиваю можно ли заменить элемент массива на символ? при условии что массив у меня - int
Fyret
184 / 170 / 13
Регистрация: 30.07.2013
Сообщений: 359
08.08.2013, 14:23     присвоение значения #7
Элементу массива int можно присвоить значение типа char. Но сам элемент как был int, так int и останется, и выводиться на печать будет как int, а не как char.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
 
int main()
{
    int arr[5] = {1,2,5,4,5};
    
    for( int i = 0; i < 5; ++i )
    {
        if( arr[i] == 5 )
        {
            std::cout << '*' << ' ';
        }
        else
        {
            std::cout << arr[i] << ' ';
        }
    }
    std::cout << std::endl;
        
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.08.2013, 15:11     присвоение значения
Еще ссылки по теме:

Присвоение значения указателю C++
C++ Присвоение значения слову char
C++ Присвоение значения элементу списка

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

Или воспользуйтесь поиском по форуму:
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6171 / 2900 / 283
Регистрация: 04.12.2011
Сообщений: 7,710
Записей в блоге: 3
08.08.2013, 15:11     присвоение значения #8
Цитата Сообщение от antiwar007 Посмотреть сообщение
РЕЗУЛЬТАТА ДОЛЖЕН ВЫВОДИТСЯ САМ СИМВОЛ, А НЕ ЕГО КОД!
Это вы компьютеру или компилятору объясните. Не может один тип представлять другой. Вывести вы его конечно можете. Хоть до белого каления. Но поток вывода выведет то, что обычно, то есть вывод для типа int. Потому что он должен только то, что должен.
Можно подставить вывод символа вместо вывода целого:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
 int main()
{
    const int sz = 6 ;
    int a[sz] = { 1, 2, 3, 4, 5};
    char ch = ' ';
    if(ch == ' ') a[5] = INT_MAX;//надо почему то в массив сохранить что-то чего быть не может например INT_MAX
    //где то где нельзя уже проверить if(ch == ' ') и мы проверяем на "чего-то чего быть не может"
    for(int i = 0 ; i < sz ; ++i) if( a[i] != INT_MAX )cout<<a[i]<<" ";
    else
    cout<<' ';//и подставляем вывод конкретно пробела, если в самом деле надо
      cout<<endl;
    cin.get();
    return 0;
}
или
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using namespace std;
 int main()
{
    const int sz = 6 ;
    int a[sz] = { 1, 2, 3, 4, 5};
    char ch = ' ';
    a[5] = ch;
    for(int i = 0 ; i < sz ; ++i) if( a[i] != ch )cout<<a[i]<<" ";
    else
    cout<<(char)a[5];
      cout<<endl;
    cin.get();
    return 0;
}
постарайтесь разобраться сами, кто кому чего должен.
зы а чем вам массив чар не подходит?
Yandex
Объявления
08.08.2013, 15:11     присвоение значения
Ответ Создать тему
Опции темы

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