Помощь - Поиск - Пользователи - Календарь
Полная версия: Как копировать ответ ?!
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Lagovas
Народ, мне надо было подсчитать всевозможные комбинации 4 чисел которые могут быть 1-9, мне надо их скопировать, не знаю как это сделать ?! Подскажите плиз. Не у кого спросить. Если есть такая тема, киньте ссылку плиз, я искал. реально не нашел. Заранее благодарен.
volvo
Не совсем понятно, о чем речь... Что именно "попировать"?

Тебе что, надо генерировать сочетания? Или только найти их количество? В любом случае, это FAQ: Комбинаторика
Lagovas
В общем мне нужно не их количество, а сами комбинации, например 1111, 1112, 1113 и так далее. Но мне они нужны, что б вставить в другую программу, переписывать с паскаля долговатенько, ибо потом мне больше надо будет комбинаций, а как ответ скопировать, или перенести в другую программу, не знаю.
volvo
Ну, выводи результаты в файл, например...

В каком виде та, вторая программа, должна получить данные?
Lapp
Цитата(Lagovas @ 24.10.2008 0:31) *
как ответ скопировать, или перенести в другую программу, не знаю.

Ну, например, записать в файл, а другая программа этот файл считает. Не подходит?
Lagovas
А можно что б ответ выводился в какой то файл, тип его !? Желательно в текстовый файл вывести все это. Все эти цифри.
volvo
var f: text;
begin
assign(f, 'results.txt'); rewrite(f);
writeln(f, 'Здесь будут результаты!');
close(f);
end.
, то есть, создать файл, а потом просто печатать туда (по умолчанию, без указания файла первым параметром, Write(Ln) печатает в консоль)
Lagovas
Извини, но не совсем понял. Вот как я написал програмку с тем, что ты указал, правильно ?!
var a1,a2,a3,a4:integer;
var f:text;
begin for a1:=1 to 4 do
for a2:=1 to 9 do
for a3:=1 to 9 do
for a4:=1 to 9 do
assign(f,'result.txt');
rewrite(f);
writeln('тут будут резалты');
close(f);
end.

Оно создало файл result.txt'. Написало то, что в команде writeln по ходу, токо из за шрифтов, плохо написало. Но результат сам, не написало, де ошибся я ?!

М
Используй теги для публикации кода
Lapp

volvo
Ты в моем коде в четвертой строке что, букву F не видишь? Я же тебе привел специально пример, как информация пишется в файл... Без F строка будет выводиться на монитор...

И, на будущее, изъясняйся как-то более однозначно что-ли, а то тебя не поймешь, то написало, то не написало... Хотя чего должно было написать? Ты что, СКАЗАЛ программе что-то сделать с файлом? Насколько я вижу, у тебя только его создание (причем, Assign выполняется несколько тысяч раз) и закрытие. Записи в файл нет...
Lagovas
Сор, недописал. В строке с writeln я f вписал, тут в посту забыл написать. Короче слова "тут будут резалты" оно выводит в файл result.txt, а комбинации нет. Я по самоучителю учусь еще, команду assign я еще не учил. Так что извини, я еще новичек, сильно не придирайтесь плиз.
Lapp
Цитата(Lagovas @ 24.10.2008 17:52) *
слова "тут будут резалты" оно выводит в файл result.txt, а комбинации нет. Я по самоучителю учусь еще, команду assign я еще не учил. Так что извини, я еще новичек, сильно не придирайтесь плиз.

Мы не то, что сильно, мы вообще не придираемся. Но понять тебя нелегко.
Процедура Assign заносит имя файла в файловую переменную. Это нужно сделать один раз, до цикла, также как и открытие файла. Потом в цикле проитзводишь запись того, что тебе нужно. Можно так, например:
WriteLn(f,a1,a2,a3,a4);

После цикла закрываешь файл. Все.
Lagovas
В общем можете дописать к моей программе того, что нехватает ?! А то я тож не совсем вас понимаю ( Лишь то, что нехватает, что б программа записала все комбинации в текстовый файл, пожалуйста.
Lapp
Я тебе написал все, что надо. Ты и минуты не думал над этим, сразу попросил готовую программу. Нет, друг, так не пойдет. "В общем", разберись и приходи.
Lagovas
Я просто не шарю команду assign, вот и все. Я с ней буду потом по книге разбиратся, там для меня просто легче обьясняется, вот и все. Лан, буду пробовать. На счет готовой ты перегнул, я лишь просил скопировать мою, и дописать де надо че надо, и все, лан, сам попытаюсь.
Lapp
Цитата(Lagovas @ 24.10.2008 18:35) *

Я просто не шарю команду assign, вот и все. Я с ней буду потом по книге разбиратся, там для меня просто легче обьясняется, вот и все. Лан, буду пробовать. На счет готовой ты перегнул, я лишь просил скопировать мою, и дописать де надо че надо, и все, лан, сам попытаюсь.

С assign нечего разбираться, про нее все тут уже сказано. Это просто способ связать твою файловую переменную с реальным файлом на диске. Нужно просто выполнить ее перед открытием файла, вот и все.

"Дописать че надо" - разве это не есть закончить для тебя прогу? Кроме того, нужно не только дописать, но и изменить кое-что. Я не против даже и готовую прогу тебе написать. Но ты же совсем даже не дал себе труда подумать над тем, что я тебе написал. Уверяю тебя, там есть все. И про assign, и про все остальное. Можешь пытаться сам, но в моем посте уже есть ответ. Достаточно записать это на Паскале.
Lagovas
Цитата
И, на будущее, изъясняйся как-то более однозначно что-ли, а то тебя не поймешь, то написало, то не написало... Хотя чего должно было написать? Ты что, СКАЗАЛ программе что-то сделать с файлом? Насколько я вижу, у тебя только его создание (причем, Assign выполняется несколько тысяч раз) и закрытие. Записи в файл нет...

А как сделать запись, я пробовал, ни в какую, писал команду с assign и перед циклом, и после, не пашет, еще не знаком с ним. Как сделать запись !?
Lapp
Цитата(Lagovas @ 24.10.2008 22:08) *
А как сделать запись, я пробовал, ни в какую, писал команду с assign и перед циклом, и после, не пашет, еще не знаком с ним. Как сделать запись !?

Тебе несколько раз сказали: assign не для записи! Как сделать запись показано в посте №11:
WriteLn(f,a1,a2,a3,a4);
Это надо вставить в цикл. А assign - перед циклом один раз


Добавлено через 9 мин.
Кстати,
М
тему переношу в Задачи.

Не место ей здесь.
Lagovas
var a1,a2,a3,a4:integer;
var f:text;
begin
assign(f,'result.txt');
rewrite(f);
close(f);
for a1:=1 to 4 do
for a2:=1 to 9 do
for a3:=1 to 9 do
for a4:=1 to 9 do
writeln(f,a1,a2,a3,a4);
end.

Правильно ?! Я так сделал, пишет ошибку Error 105: File not open for output. Что не так ?!
Lapp
Цитата(Lagovas @ 25.10.2008 1:25) *
пишет ошибку Error 105: File not open for output. Что не так ?!

Естественно. Ты открыл файл (rewrite(f)), а потом сразу его закрыл (close(f)), и только потом в него собрался писать. Ты когда хочешь написать в тетрадь, как делаешь? Открываешь ее, закрываешь, а потом пишешь? да? smile.gif Нормальные люди открывают, пишут и закрывают.
Еще раз перечитай пост №11. В нем ВСЕ написано.

P.S.
Ты английский хоть немного знаешь? На всякий случай привожу перевод английских слов, которые тут выступают как названия процедур:
assign - приписать (в данном случае - приписать название к файловой переменной);
rewrite - переписать (как бы заново начать писать, то есть открыть для записи);
write - писать, записывать (данные в файл);
close - закрыть.
Lagovas
Все, закончил и работает, спасибо и на этом. Кстати, подскажите плиз как сделать так, что б комбинации выводились в один столбик ? После writeln(f,a1,a2,a3,a4); написать writeln ?! Де то что то похожее видел, точно не помню.
Lapp
Цитата(Lagovas @ 25.10.2008 10:31) *
Все, закончил и работает, спасибо и на этом.

Что значит "и на этом"? Типа, тебе мало помогли? Типа ты сам, на самом-то деле все сделал?..
Типа, вот если б сразу готовый ответ написали - вот это была бы ПОМОЩЬ!! Типа, ты там важными делами занят, а мы тут все равно балду пинаем - и нам лень лишний раз по клаве брякнуть?..
А то, что таких, как ты, заставить хоть немного мозгами шевельнуть - это надо пуд соли съесть - это тебе невдомек..
mad.gif
Не хочу помогать неблагодарным. Поищи других...
Lagovas
Прочти свой пост, посмотри сколько ты накрутил ?! Я просто привык к одному типа обьяснений, вы мне немного по другому обьяняли, для мну это труднее было, вы больше знаете, и писали как сами понимаете, а не для тех, кто еще 0 в этом шарит. Ведь лучше на примере все показать, дописали бы что надо, и обьяснили. Тебе понравилось бы, если ты подошел бы в незнакомом городе к милиционеру, спросить где находится такае то улица, а он те давай закатывает лекцию, где надо спрашивать, какими способами это мона узнать и т.п. !? Не хочешь помогать, я тя не заставляю.
Lapp
Ты не самый лучший пример привел. Вот подойди к препу и спроси его, как решается задача. А потом ему расскажи свою историю про мента, когда он тебе откажется писать решение. На этом форуме люди стараются научить таких как ты. Ты понял? НАУЧИТЬ, а не дать списать. Разницу чуешь? А по поводу твоих привычек - извини, под тебя подстраиваться никто не будет. Это ты своему препу объясняй, КАК ТЕБЯ НАДО УЧИТЬ. Может, он и послушает. А мы тут ТЫСЯЧИ таких выучили. И не тебе нам говорить, как это делать.
И если тебе кажется, что ты все сделал сам - то это и есть высшая оценка нашего труда.
Lagovas
Я не говорил что все сам сделал, я лучше все вижу не примерах, теория мое слабое место, и если мне что то обьяснить, и не показать на примере, считай ничего не сказали, вот и все. а вы демагогию устроили.
Артемий
Цитата
а вы демагогию устроили

Цитата
а я демагогию устроил
... опечатлся,бывает +)
where to buy viagra without a pr
viagra autentica sin receta
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.