двумерный массив, С помощью двумерного массива символов 5*5 |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
двумерный массив, С помощью двумерного массива символов 5*5 |
bel100 |
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 11 Пол: Мужской Реальное имя: Юрий Репутация: 0 |
С помощью двумерного массива символов 5*5 задайте в псевдографическом виде числа от 1 до 10. Прочитайте с экрана число, выведите его в псевдографическом начертании.
Пробую так (сократил до 4 , что бы не занимать лишнее место): var aa:array[1..5,1..5]of char; a,i,j:integer; begin for i:=1 to 5 do for j:=1 to 5 do aa[i,j]:='.'; begin writeln('Введите цифру от 1 до 4'); readln(a); if (a>0)and(a<4) then if a = 1 then aa[2,2]:='*'; aa[1,3]:='*'; aa[2,3]:='*'; aa[3,3]:='*'; aa[4,3]:='*'; aa[5,3]:='*'; if a = 2 then aa[1,2]:='*'; aa[1,3]:='*'; aa[1,4]:='*'; aa[2,4]:='*'; aa[3,3]:='*'; aa[3,4]:='*'; aa[3,2]:='*'; aa[4,2]:='*'; aa[5,2]:='*'; aa[5,3]:='*'; aa[5,4]:='*'; if a = 3 then aa[1,2]:='*'; aa[1,3]:='*'; aa[1,4]:='*'; aa[2,3]:='*'; aa[3,3]:='*'; aa[3,4]:='*'; aa[3,2]:='*'; aa[4,3]:='*'; aa[5,2]:='*'; if a = 4 then aa[1,2]:='*'; aa[2,2]:='*'; aa[3,2]:='*'; aa[3,3]:='*'; aa[3,4]:='*'; aa[1,4]:='*'; aa[2,4]:='*'; aa[3,4]:='*'; aa[4,4]:='*'; aa[5,4]:='*'; end; for i:=1 to 5 do begin for j:=1 to 5 do begin write(aa[i,j]:3); end; writeln; end; end. Получается ерунда: Введите цифру от 1 до 4 3 . * * * . . * * * . . * * * . . * * * . . * * * . Если оставить любую ОДНУ цифру то всё нормально: var aa:array[1..5,1..5]of char; a,i,j:integer; begin for i:=1 to 5 do for j:=1 to 5 do aa[i,j]:='.'; begin writeln('Введите цифру от 1 до 4'); readln(a); if (a>0)and(a<4) then if a = 4 then aa[1,2]:='*'; aa[2,2]:='*'; aa[3,2]:='*'; aa[3,3]:='*'; aa[3,4]:='*'; aa[1,4]:='*'; aa[2,4]:='*'; aa[3,4]:='*'; aa[4,4]:='*'; aa[5,4]:='*'; end; for i:=1 to 5 do begin for j:=1 to 5 do begin write(aa[i,j]:3); end; writeln; end; end. Что опять у меня не так? |
bel100 |
Сообщение
#2
|
Новичок Группа: Пользователи Сообщений: 11 Пол: Мужской Реальное имя: Юрий Репутация: 0 |
Как разделить действия?
|
Федосеев Павел |
Сообщение
#3
|
Знаток Группа: Пользователи Сообщений: 481 Пол: Мужской Реальное имя: Федосеев Павел Репутация: 9 |
Сделайте
type А теперь в виде типизированной константы задайте все цифры: const И после этого обращаться для вывода массива for i:=1 to 5 do |
bel100 |
Сообщение
#4
|
Новичок Группа: Пользователи Сообщений: 11 Пол: Мужской Реальное имя: Юрий Репутация: 0 |
Сделайте type А теперь в виде типизированной константы задайте все цифры: const И после этого обращаться для вывода массива for i:=1 to 5 do |
Федосеев Павел |
Сообщение
#5
|
Знаток Группа: Пользователи Сообщений: 481 Пол: Мужской Реальное имя: Федосеев Павел Репутация: 9 |
Приводите всю программу, иначе невозможно тестировать.
|
bel100 |
Сообщение
#6
|
Новичок Группа: Пользователи Сообщений: 11 Пол: Мужской Реальное имя: Юрий Репутация: 0 |
Павел, заранее извиняюсь за то что вы сейчас увидите , но запутался окончательно...
Вариант 1: type TChar = array [1..5, 1..5] of char; {один символ} TChars = array [1..10] of TChar; {символы от 1 до 10} const MyChars: TChars =(((' ',' ',' ',' ','*'), {символ'1'} (' ',' ',' ','*','*'), (' ',' ','*',' ','*'), (' ',' ',' ',' ','*'), (' ',' ',' ',' ','*')) , (' ',' ','*','*','*'),{символ'2'} (' ',' ',' ',' ','*'), (' ',' ',' ','*',' '), (' ',' ','*',' ',' '), (' ',' ','*','*','*') , (' ',' ','*','*','*'),{символ'3'} (' ',' ',' ',' ','*'), (' ',' ','*','*','*'), (' ',' ',' ',' ','*'), (' ',' ','*','*','*') , (' ',' ','*',' ','*'),{символ'4'} (' ',' ','*',' ','*'), (' ',' ','*','*','*'), (' ',' ',' ',' ','*'), (' ',' ',' ',' ','*') , (' ',' ','*','*','*'),{символ'5'} (' ',' ','*',' ',' '), (' ',' ','*','*','*'), (' ',' ',' ',' ','*'), (' ',' ','*','*','*') , (' ',' ','*','*','*'),{символ'6'} (' ',' ','*',' ',' '), (' ',' ','*','*','*'), (' ',' ','*',' ','*'), (' ',' ','*','*','*') , (' ',' ','*','*','*'),{символ'7'} (' ',' ',' ',' ','*'), (' ',' ',' ','*',' '), (' ',' ','*',' ',' '), (' ',' ','*',' ',' ') , (' ',' ','*','*','*'),{символ'8'} (' ',' ','*',' ','*'), (' ',' ','*','*','*'), (' ',' ','*',' ','*'), (' ',' ','*','*','*') , (' ',' ','*','*','*'),{символ'9'} (' ',' ','*',' ','*'), (' ',' ','*','*','*'), (' ',' ',' ','*',' '), (' ',' ','*',' ',' ') , (' ','*','*','*','*'),{символ'10'} ('*','*','*',' ','*'), (' ','*','*',' ','*'), (' ','*','*',' ','*'), (' ','*','*','*','*') ) ; var TChars:char; TChars:a; aa:array[1..5,1..5]of char; a,i,j:integer; begin for i:=1 to 5 do begin for j:=1 to 5 do begin writeln('Введите символ от 1 до 10'); readln(a); for i:=1 to 5 do begin for j:=1 to 5 do begin write(aa[i,j]:3); end; writeln; end; end; write(MyChars[a,i,j]); writeln; end; end. Вариант 2 var aa:array[1..5,1..5]of char; b,a,i,j:integer; begin for i:=1 to 5 do for j:=1 to 5 do aa[i,j]:=' '; repeat writeln('Введите символ от 1 до 10'); readln(a); until a=a; begin begin if (a = 1) then aa[1,1]:=' '; aa[1,2]:=' '; aa[1,3]:=' '; aa[1,4]:=' '; aa[1,5]:='*'; aa[2,1]:=' '; aa[2,2]:=' '; aa[2,3]:=' '; aa[2,4]:='*'; aa[2,5]:='*'; aa[3,1]:=' '; aa[3,2]:=' '; aa[3,3]:='*'; aa[3,4]:=' '; aa[3,5]:='*'; aa[4,1]:=' '; aa[4,2]:=' '; aa[4,3]:=' '; aa[4,4]:=' '; aa[4,5]:='*'; aa[5,1]:=' '; aa[5,2]:=' '; aa[5,3]:=' '; aa[5,4]:=' '; aa[5,5]:='*'; end; begin if (a = 2) then aa[1,1]:=' '; aa[1,2]:=' '; aa[1,3]:=' '; aa[1,4]:='*'; aa[1,5]:='*'; aa[2,1]:=' '; aa[2,2]:=' '; aa[2,3]:=' '; aa[2,4]:=' '; aa[2,5]:='*'; aa[3,1]:=' '; aa[3,2]:=' '; aa[3,3]:=' '; aa[3,4]:='*'; aa[3,5]:='*'; aa[4,1]:=' '; aa[4,2]:=' '; aa[4,3]:=' '; aa[4,4]:='*'; aa[4,5]:=' '; aa[5,1]:=' '; aa[5,2]:=' '; aa[5,3]:=' '; aa[5,4]:='*'; aa[5,5]:='*'; end; begin if (a = 3) then aa[1,1]:=' '; aa[1,2]:=' '; aa[1,3]:=' '; aa[1,4]:='*'; aa[1,5]:='*'; aa[2,1]:=' '; aa[2,2]:=' '; aa[2,3]:=' '; aa[2,4]:=' '; aa[2,5]:='*'; aa[3,1]:=' '; aa[3,2]:=' '; aa[3,3]:=' '; aa[3,4]:='*'; aa[3,5]:='*'; aa[4,1]:=' '; aa[4,2]:=' '; aa[4,3]:=' '; aa[4,4]:=' '; aa[4,5]:='*'; aa[5,1]:=' '; aa[5,2]:=' '; aa[5,3]:=' '; aa[5,4]:='*'; aa[5,5]:='*'; end; begin if (a = 4) then aa[1,1]:=' '; aa[1,2]:=' '; aa[1,3]:='*'; aa[1,4]:=' '; aa[1,5]:='*'; aa[2,1]:=' '; aa[2,2]:=' '; aa[2,3]:='*'; aa[2,4]:=' '; aa[2,5]:='*'; aa[3,1]:=' '; aa[3,2]:=' '; aa[3,3]:='*'; aa[3,4]:='*'; aa[3,5]:='*'; aa[4,1]:=' '; aa[4,2]:=' '; aa[4,3]:=' '; aa[4,4]:=' '; aa[4,5]:='*'; aa[5,1]:=' '; aa[5,2]:=' '; aa[5,3]:=' '; aa[5,4]:=' '; aa[5,5]:='*'; end; begin if (a = 5) then aa[1,1]:=' '; aa[1,2]:=' '; aa[1,3]:='*'; aa[1,4]:='*'; aa[1,5]:='*'; aa[2,1]:=' '; aa[2,2]:=' '; aa[2,3]:='*'; aa[2,4]:=' '; aa[2,5]:=' '; aa[3,1]:=' '; aa[3,2]:=' '; aa[3,3]:='*'; aa[3,4]:='*'; aa[3,5]:='*'; aa[4,1]:=' '; aa[4,2]:=' '; aa[4,3]:=' '; aa[4,4]:=' '; aa[4,5]:='*'; aa[5,1]:=' '; aa[5,2]:=' '; aa[5,3]:='*'; aa[5,4]:='*'; aa[5,5]:='*'; end; begin if (a = 6) then aa[1,1]:=' '; aa[1,2]:=' '; aa[1,3]:='*'; aa[1,4]:='*'; aa[1,5]:='*'; aa[2,1]:=' '; aa[2,2]:=' '; aa[2,3]:='*'; aa[2,4]:=' '; aa[2,5]:=' '; aa[3,1]:=' '; aa[3,2]:=' '; aa[3,3]:='*'; aa[3,4]:='*'; aa[3,5]:='*'; aa[4,1]:=' '; aa[4,2]:=' '; aa[4,3]:='*'; aa[4,4]:=' '; aa[4,5]:='*'; aa[5,1]:=' '; aa[5,2]:=' '; aa[5,3]:='*'; aa[5,4]:='*'; aa[5,5]:='*'; end; begin if (a = 7) then aa[1,1]:=' '; aa[1,2]:=' '; aa[1,3]:='*'; aa[1,4]:='*'; aa[1,5]:='*'; aa[2,1]:=' '; aa[2,2]:=' '; aa[2,3]:=' '; aa[2,4]:=' '; aa[2,5]:=' '; aa[3,1]:=' '; aa[3,2]:=' '; aa[3,3]:=' '; aa[3,4]:='*'; aa[3,5]:=' '; aa[4,1]:=' '; aa[4,2]:=' '; aa[4,3]:=' '; aa[4,4]:=' '; aa[4,5]:=' '; aa[5,1]:=' '; aa[5,2]:=' '; aa[5,3]:='*'; aa[5,4]:=' '; aa[5,5]:=' '; end; begin if (a = 8) then aa[1,1]:=' '; aa[1,2]:=' '; aa[1,3]:='*'; aa[1,4]:='*'; aa[1,5]:='*'; aa[2,1]:=' '; aa[2,2]:=' '; aa[2,3]:='*'; aa[2,4]:=' '; aa[2,5]:='*'; aa[3,1]:=' '; aa[3,2]:=' '; aa[3,3]:='*'; aa[3,4]:='*'; aa[3,5]:='*'; aa[4,1]:=' '; aa[4,2]:=' '; aa[4,3]:='*'; aa[4,4]:=' '; aa[4,5]:='*'; aa[5,1]:=' '; aa[5,2]:=' '; aa[5,3]:='*'; aa[5,4]:='*'; aa[5,5]:='*'; end; begin if (a = 9) then aa[1,1]:=' '; aa[1,2]:=' '; aa[1,3]:='*'; aa[1,4]:='*'; aa[1,5]:='*'; aa[2,1]:=' '; aa[2,2]:=' '; aa[2,3]:='*'; aa[2,4]:=' '; aa[2,5]:='*'; aa[3,1]:=' '; aa[3,2]:=' '; aa[3,3]:='*'; aa[3,4]:='*'; aa[3,5]:='*'; aa[4,1]:=' '; aa[4,2]:=' '; aa[4,3]:=' '; aa[4,4]:='*'; aa[4,5]:=' '; aa[5,1]:=' '; aa[5,2]:=' '; aa[5,3]:='*'; aa[5,4]:=' '; aa[5,5]:=' '; end; begin if (a = 10) then aa[1,1]:=' '; aa[1,2]:='*'; aa[1,3]:='*'; aa[1,4]:='*'; aa[1,5]:='*'; aa[2,1]:='*'; aa[2,2]:='*'; aa[2,3]:='*'; aa[2,4]:=' '; aa[2,5]:='*'; aa[3,1]:=' '; aa[3,2]:='*'; aa[3,3]:='*'; aa[3,4]:=' '; aa[3,5]:='*'; aa[4,1]:=' '; aa[4,2]:='*'; aa[4,3]:='*'; aa[4,4]:=' '; aa[4,5]:='*'; aa[5,1]:=' '; aa[5,2]:='*'; aa[5,3]:='*'; aa[5,4]:='*'; aa[5,5]:='*'; end; for i:=1 to 5 do begin for j:=1 to 5 do begin write(aa[i,j]:3); end; writeln; end; end; end. Добавлено через 3 мин. Во втором варианте почему-то всё время 10..... не зависимо от того: присутствуют операторы repeat и until или нет. |
Федосеев Павел |
Сообщение
#7
|
Знаток Группа: Пользователи Сообщений: 481 Пол: Мужской Реальное имя: Федосеев Павел Репутация: 9 |
program test; |
bel100 |
Сообщение
#8
|
Новичок Группа: Пользователи Сообщений: 11 Пол: Мужской Реальное имя: Юрий Репутация: 0 |
Спасибо Павел огромное! Просто онлайн консультации раз в месяц, а у меня двусменная работа... Только один раз за 5 месяцев совпало!
|
Текстовая версия | 29.03.2024 17:19 |