IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

2 страниц V  1 2 >  
 Ответить  Открыть новую тему 
> Помогите написать небольшую програмку, Шахматная Доска
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Мужской

Репутация: -  0  +


Буду очень благодарен, если вы хоть как-то мне поможете с написанием данной программы:
задача:"Шахматная Доска"
Целочисленный массив K размером m x n заполнить нулями и единицами, расположив их в шахматном порядке.
(смысл: при запуске проги в окне должны появиться строчки с чередованием единиц и нулей
10101010
01010101
и т.д.
причем, количество строк и столбцов все время меняется и ограничено десятью).


Заранее всем благодарен!

Сообщение отредактировано: Acer -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Поиском не пробовал воспользоваться ? Задача решалась ...


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Так что-ли?
var
i, j, n: integer;
start: integer;

begin
write('n = '); readln(n);
for i := 1 to n do begin
start := byte(odd(i));
for j := 1 to n do begin
write(start:2); start := 1 - start;
end;
writeln;
end;
end.



Добавлено через 1 мин.
P.S.
странно, вообще-то шахматная доска по-моему квадратная... Пойду проверю...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Мужской

Репутация: -  0  +


klem4, спасибо, но я не совсем понял то, что в программе

volvo,Спасибо.
да, доска квадратная, но у нас не n x n, а m x n.
Тоесть главное, чтобы в шахматном порядке было.
и еще, как объяснил учитель и m и n должны быть в программе и задаваться random-ом от 1 до 10,
т.е может быть одна строчка чисел, две и т.д, то же самое и со столбцами.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Тогда вот так:
var
i, j, n, m: integer;
start: integer;

begin
randomize;
m := random(10) + 1;
n := random(10) + 1;
for i := 1 to m do begin
start := byte(odd(i));
for j := 1 to n do begin
write(start:2); start := 1 - start;
end;
writeln;
end;
end.

 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Мужской

Репутация: -  0  +


Спасибо!
З.Ы. только что такое odd?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






Функция такая... Вернет True, если ее аргумент - нечетный...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Мужской

Репутация: -  0  +


Цитата
Функция такая... Вернет True, если ее аргумент - нечетный...

Хм....в смысле true?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Гость






Чего, про тип Boolean никогда не слышал? Допустим, ты сравниваешь 2 числа:
If (a > b) then ...


Вот результат вычисления того, что в скобках - это какого типа? Логического, правда? Истина или Ложь, True или False в записи на Паскале...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Мужской

Репутация: -  0  +


Ааа, понял.

Цитата
Чего, про тип Boolean никогда не слышал?

Сразу не врубился.

Огромное Спасибо, Владимир.
Респект!
Не ожидал, что так быстро поможете.
Еще раз Спасибо!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Мужской

Репутация: -  0  +


Владимир, не могли бы вы мне еще помочь.
Можно ли сделать эту программу без odd и start, как можно более примитивно.
Заранее Спасибо.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Гость






var
i, j, n, m: integer;

begin
randomize;
m := random(10) + 1;
n := random(10) + 1;
for i := 1 to m do begin

for j := 1 to n do
write(((i + j + 1) mod 2):2);

writeln;
end;
end.

Главное - чтобы потом тебе не понадобилось сделать программу без циклов и Randomize...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Мужской

Репутация: -  0  +


Спасиб.
А без циклов сложнее и длиннее будет?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


Проще:
a[1,1]:=1;
a[1,2]:=0;
...
a[1,n]:=0;
a[2,1]:=0;
...
a[2,1]:=1;
...
И так много раз, в зависимости от размера массива: Кол-во операторов = m*n






Добавлено через 2 мин.
Цитата(volvo @ 21.05.2007 21:02) *

Главное - чтобы потом тебе не понадобилось сделать программу без циклов и Randomize...

lol.gif rolleyes.gif lol.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15


Пионер
**

Группа: Пользователи
Сообщений: 70
Пол: Мужской
Реальное имя: Илья

Репутация: -  2  +


Цитата(Ozzя @ 22.05.2007 10:06) *

Проще:
a[1,1]:=1;
a[1,2]:=0;
...
a[1,n]:=0;
a[2,1]:=0;
...
a[2,1]:=1;
...
И так много раз, в зависимости от размера массива: Кол-во операторов = m*n
Добавлено через 2 мин.

lol.gif rolleyes.gif lol.gif

m и n задаются Randomize
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #16


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


Sto
Я не об этом. no1.gif
Я об этом -

Цитата
Volvo
Главное - чтобы потом тебе не понадобилось сделать программу без циклов


Цитата
Acer
А без циклов сложнее и длиннее будет?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #17


Пионер
**

Группа: Пользователи
Сообщений: 70
Пол: Мужской
Реальное имя: Илья

Репутация: -  2  +


Цитата(Ozzя @ 22.05.2007 10:21) *

Sto
Я не об этом. no1.gif
Я об этом -

А, ну тогда да!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #18


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Мужской

Репутация: -  0  +


Подскажите, что такое mod?
write(((i + j + 1) mod 2):2);
Заранее Спасибо.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #19


Пионер
**

Группа: Пользователи
Сообщений: 70
Пол: Мужской
Реальное имя: Илья

Репутация: -  2  +


Цитата(Acer @ 22.05.2007 16:32) *

Подскажите, что такое mod?
write(((i + j + 1) mod 2):2);
Заранее Спасибо.

Mod - вычисляет остаток, полученый при выполнении целочисленного деления.
Например:
10 mod 5 = 0; Потому что 10/5 = 2, нет остатка;
11 mod 5 = 1; Потому что 11/5 = 2.2, а ближайшее целое число которое делится на 5 без остатка, это 10 в
результате 11-10=1;
25 mod 10 = 5; Потому что 25/10 = 2.5, а ближайшее целое число которое делится на 10 без остатка, это 20, в
результате 25-20=5;

Сообщение отредактировано: Sto -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #20


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Мужской

Репутация: -  0  +


Спасибо за объяснение. smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

2 страниц V  1 2 >
 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 22:15
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name