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

Как создать матрицу,в которую будут вводиться буквы? - C++

Восстановить пароль Регистрация
 
Sivilan
6 / 6 / 0
Регистрация: 17.03.2013
Сообщений: 66
11.09.2013, 20:32     Как создать матрицу,в которую будут вводиться буквы? #1
C++
1
2
3
4
 char a[w][h];
    for(i = 0; i <h; i++) {
        for( j = 0; j < w; j++) {
                scanf("%s",&a[i][j]);
правильно ли?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zer0mail
2189 / 1872 / 187
Регистрация: 03.07.2012
Сообщений: 6,665
Записей в блоге: 1
11.09.2013, 20:37     Как создать матрицу,в которую будут вводиться буквы? #2
C++
1
scanf("%c",&a[i][j]);
Sivilan
6 / 6 / 0
Регистрация: 17.03.2013
Сообщений: 66
11.09.2013, 21:01  [ТС]     Как создать матрицу,в которую будут вводиться буквы? #3
Добавлено через 2 минуты
Цитата Сообщение от zer0mail Посмотреть сообщение
C++
1
scanf("%c",&a[i][j]);
Ввод не работает,происходит закрытие программы,мне нужно получить матрицу вида:
AAABB
ABBBB
AAABB
AAAAB
AAAAB
AABBB
UnsKneD
алкокодер
 Аватар для UnsKneD
153 / 149 / 11
Регистрация: 27.12.2012
Сообщений: 548
12.09.2013, 03:31     Как создать матрицу,в которую будут вводиться буквы? #4
Sivilan, используйте cin, scanf учитывает нажатие enter;
C++
1
2
for(i = 0; i <h; i++) {
        for( j = 0; j < w; j++)
перепутаны местами h с w, с начала выбираем строку, затем столбец, у вас происходит выход за рамки массива.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.09.2013, 03:34     Как создать матрицу,в которую будут вводиться буквы? #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
#include <iostream>
using namespace std;
 
int main()
{
    int i, j;
    const int w = 6;
    const int h = 5;
    char a[w][h];
    
    for(i = 0; i < w; i++) 
        for( j = 0; j < h; j++) 
            cin >> a[i][j];
            
    cout << endl;
    for(i = 0; i < w; i++)
    {
        for( j = 0; j < h; j++) 
            cout << a[i][j];
        cout << endl;
    }
 
    cin.get();
    cin.get();
    return 0;
}
Изображения
 
User409368
191 / 168 / 6
Регистрация: 09.09.2013
Сообщений: 524
12.09.2013, 12:32     Как создать матрицу,в которую будут вводиться буквы? #6
Цитата Сообщение от Sivilan Посмотреть сообщение
char a[w][h];
в определении массива первый индекс должен указывать количество строк, а второй количество столбцов в матрице
правильней будет так
C++
1
char a[h][w];
h - высота матрицы (количество строк)
w - ширина матрицы (количество ячеек в одной строке)

Добавлено через 1 минуту
то что первый элемент указывает на кол-во строк а второй на кол-во столбцов - это сделано по соглашению.
Yandex
Объявления
12.09.2013, 12:32     Как создать матрицу,в которую будут вводиться буквы?
Ответ Создать тему
Опции темы

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