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

Лишние символы при выводе строк - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
Gligarr
0 / 0 / 0
Регистрация: 12.10.2010
Сообщений: 3
26.05.2011, 19:38     Лишние символы при выводе строк #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
27
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
 
main()
{
int i,j;
char pole[25][25];
for (i=3; i<23; i++);
    {
    pole[i][0]='<';
    pole[i][1]='|';
    pole[i][22]='|';
    pole[i][23]='>';
    for (j=3; j<22; j++)
        pole[i][j]=' ';
    for (j=4; j<22; j=j+2)
        pole[i][j]='.';
    }
for (j=0; j<24; j++)
    pole[24][j]='^';
 
for (i=0; i<25; i++)
    printf("%s \n", pole[i]);
getch();
}
А вот то, что выводится:
http://10pix.ru/img1/1907/4495989.png
Должно быть выведено следующее:
http://10pix.ru/img1/2420/4496046.png

Насколько я понимаю, эти символы как-то связаны с выделяемой памятью, в частности последняя строка идет дважды. Хотелось бы выяснить, из-за чего возникает эта ошибка и как избежать вывода этих лишних символов.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dampir_sanek
149 / 147 / 21
Регистрация: 09.02.2010
Сообщений: 407
26.05.2011, 19:44     Лишние символы при выводе строк #2
Gligarr,
C
1
2
for (i=0; i<25; i++)
    printf("%s \n", pole[i]);
замени на
C
1
2
for (i=0; i<25; i++)
    printf("%с \n", pole[i]);
Gligarr
0 / 0 / 0
Регистрация: 12.10.2010
Сообщений: 3
26.05.2011, 19:48  [ТС]     Лишние символы при выводе строк #3
В этом случае выводит стройный столбик букв "ё" o_O...

Забыл сразу упомянуть, использую для написания Dev-C++
dampir_sanek
149 / 147 / 21
Регистрация: 09.02.2010
Сообщений: 407
26.05.2011, 19:55     Лишние символы при выводе строк #4
Gligarr, ах да, у Вас же двумерный массив. Тогда так:

C
1
2
3
for (j=0; j<25; j++)
  for (i=0; i<25; i++)
    printf("%с \n", pole[j][i]);
в цикле можете местами i и j поменять, если будет выводиться наоборот.
Gligarr
0 / 0 / 0
Регистрация: 12.10.2010
Сообщений: 3
26.05.2011, 20:15  [ТС]     Лишние символы при выводе строк #5
dampir_sanek, в результате выводятся вообще разнообразные символы, но нужных среди них нет вообще((
Складывается ощущение, что вывелись все возможные символы, причем в цифровом порядке.
Yandex
Объявления
26.05.2011, 20:15     Лишние символы при выводе строк
Ответ Создать тему
Опции темы

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