5 / 5 / 0
Регистрация: 28.09.2009
Сообщений: 52
1

Ошибка в двумерном массиве

17.05.2012, 21:32. Показов 550. Ответов 4
Метки нет (Все метки)

Делаю игру крестики нолики с использование двумерного массива, и возникла проблема.
Программа считает a[0][2] и a[1][0] одним значением, и не только их. Ломаю голову, мб я чего-то не знаю о массивах ?

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
31
32
33
34
35
36
37
38
39
40
41
#include"stdio.h"
#include"windows.h"
int main()
{
    char a[2][2];
    int q;
    int o=1;
    int b,d;
    for(b=0;b<3;b++)
{
                 for(d=0;d<3;d++)
                 {
                                  a[b][d]='#';
                 }
}        
      
      scanf("%d",&q);
      if(q==1)
      {
                    if(o%2)
                    {
                           a[0][2]='X';
 
                    }
      o++;
      };          
                  
      printf("%c",a[0][0]);
      printf("%c",a[0][1]);
      printf("%c",a[0][2]);
      printf("\n");
      printf("%c",a[1][0]);
      printf("%c",a[1][1]);
      printf("%c",a[1][2]);
      printf("\n");
      printf("%c",a[2][0]);
      printf("%c",a[2][1]);
      printf("%c",a[2][2]);
      printf("\n");
      system("pause");  
}
Кусок программы показывающий ошибку.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.05.2012, 21:32
Ответы с готовыми решениями:

Ошибка при замене строк в двумерном массиве
Дан двумерный массив, в котором нужно поменять 1 и последнюю строчку, 2 и предпоследнюю и т.д....

поиск максимума в двумерном массиве, где ошибка
// lab2_1.cpp: определяет точку входа для консольного приложения. // #include &quot;stdafx.h&quot;...

Поиск произведения нечетных отрицательных элементов в двумерном массиве. В чем ошибка?
Мне нужно сделать программу поиск произведения нечетных отрицательных элементов в двумерном массиве...

Функция для удаления элемента в двумерном динамическом массиве. В чем ошибка?
функция для удаления элемента в двум дин массиве (пока только часть в которой указывается какой...

4
36 / 36 / 23
Регистрация: 16.12.2010
Сообщений: 100
17.05.2012, 21:45 2
C++
1
char a[3][3];
1
Форумчанин
Эксперт CЭксперт С++
8190 / 5040 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
17.05.2012, 21:53 3
Объявляя arr[N], вы фактически объявляете элементы arr[0], arr[1], ... arr[N-1]. Всего выходит N элементов. Почему? Всё просто - индексация массива начинается с 0. Т.е. если я объявлю массив arr[3], то существуют элементы arr[0], arr[1], arr[2]. Элемента arr[3] не существует, это вне области массива.
1
5 / 5 / 0
Регистрация: 28.09.2009
Сообщений: 52
17.05.2012, 21:55  [ТС] 4
Эм... не знал о таком, всегда думал что a[2] это 0/1/2 т.е 3 значения.
0
Форумчанин
Эксперт CЭксперт С++
8190 / 5040 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
17.05.2012, 21:59 5
Вы используйте элемент a[2][2], это значит что нам нужен двумерный массив размерностью 3*3. При объявлении масива мы пишем в квадратных скобках не нормер крайнего элемента, а количество элементов. В данном случае 3.

Не по теме:

Код
void read_again()
{
    if (understand) return;
    else read_again();
}

1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.05.2012, 21:59
Помогаю со студенческими работами здесь

Ошибка в двумерном массиве, программа проста: обьявляем и инициализируем двумерный массив и выводим на экран, на экране одни каракули!!!
В чем проблема, компилятор ошибок не выдает, и сделал вроде все правильно!!!!?? #include...

В двумерном массиве подсчитать
Для каждой строки в двумерном массиве подсчитать количество положительных элементов и записать...

Функции в двумерном массиве
Ввести двумерные массивы X1,X2. В этих массивах найти минимальные элементы. Преобразовать каждую...

Звёздочки в двумерном массиве
Дано нечетное число n, не превосходящее 15. Создайте двумерный массив из n×n элементов,...

Строки в двумерном массиве
Здравствуйте! Хочу прояснить некоторые моменты по работе с двумерным массивом. Достичь хочу...

Указатели в двумерном массиве
Помогите пожайлуста!!! Как занулить главную диогональ, скока не пробовал, ни как не получается.......


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru