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

Двумерный массив - найти ошибку в коде - C++

Восстановить пароль Регистрация
 
beckkk
0 / 0 / 0
Регистрация: 06.02.2013
Сообщений: 3
09.02.2013, 02:07     Двумерный массив - найти ошибку в коде #1
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
#include <iostream>
#include <conio.h>
 
using namespace std;
 
int main(){
    
    const int a=5;
    const int b=5;
    
    int arr[5][5] = {};
    
    for(int i = 0; i<a; i++)
     for (int j = 0; j < b; j++)
      arr[i][j] = '_';
    
    for(int i = 0; i<a; i++){
     for (int j = 0; j < b; j++)
     cout << arr[i][j] ;
     cout << endl;
         
}
    getch();
    
    return 0;   
}
почему вместо указанного символа в cтроке 15 я получаю постоянно какие то цыфры, не те что я ввожу изначально

[404]
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
09.02.2013, 02:10     Двумерный массив - найти ошибку в коде #2
потому что массив типа int, а не char
palva
 Аватар для palva
2372 / 1594 / 190
Регистрация: 08.06.2007
Сообщений: 6,362
Записей в блоге: 4
09.02.2013, 02:13     Двумерный массив - найти ошибку в коде #3
Потому что вы печатаете целый тип, выводится код символа.
Пишите так:
C++
1
cout << (char)arr[i][j] ;
Правда здесь, возможно, компилятор даст предупреждение о возможной потере точности.
Grass-snake
50 / 50 / 2
Регистрация: 03.02.2009
Сообщений: 129
09.02.2013, 02:17     Двумерный массив - найти ошибку в коде #4
В 13-ой строке ты создаёшь двумерный массив 5х5, каждый элемент которой - число int.
C++
1
int arr[5][5] = {}
Но в 17-ой строчке ты подставляешь символ char в значение массива.
C++
1
arr[i][j] = '_'
Нижнее подчёркивание, согласно таблице ASCII, имеет код 5F в шестнадцатеричной системе счисления, или 95 в десятеричной (шестнадцатеричная система автоматический преобразовалась в число).
palva
09.02.2013, 02:19
  #5

Не по теме:

Троём - на одного. Так нечестно!

Grass-snake
50 / 50 / 2
Регистрация: 03.02.2009
Сообщений: 129
09.02.2013, 02:23     Двумерный массив - найти ошибку в коде #6
Цитата Сообщение от palva Посмотреть сообщение

Не по теме:

Троём - на одного. Так нечестно!

Не по теме:

Медленно печатаем

Yandex
Объявления
09.02.2013, 02:23     Двумерный массив - найти ошибку в коде
Ответ Создать тему
Опции темы

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