Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Программа, которая себя выводит, не используя файлов ! 
:(
    Опции темы
threef
Дата 1.4.2007, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 375
Регистрация: 27.10.2005
Где: Запорожье

Репутация: 9
Всего: 10



Написать программу, которая выводит свой текст без использования файла или других ухищрений. Ну, типа, по-честному.
PM MAIL   Вверх
ama_kid
Дата 2.4.2007, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


АСУТП-кодер
***


Профиль
Группа: Комодератор
Сообщений: 1460
Регистрация: 5.3.2007
Где: Москва

Репутация: 2
Всего: 95



Если бы на паскале надо было - я бы дал тебе лично опробованный пример... А на "С" - смотри в конце этой статьи, там есть пример, но я не опробывал его ибо на линухе...


--------------------
самурай без меча подобен самураю с мечом, но только без меча 
PM MAIL   Вверх
NoNo
Дата 2.4.2007, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 109
Регистрация: 14.11.2006

Репутация: нет
Всего: нет



.....тебе бы с этим в "Центр помощи"!
PM MAIL   Вверх
Daevaorn
Дата 2.4.2007, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 51
Всего: 70



Цитата(NoNo @  2.4.2007,  12:47 Найти цитируемый пост)
....тебе бы с этим в "Центр помощи"!

я бы сказал даже в google
PM MAIL WWW   Вверх
aldari
Дата 2.4.2007, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 5.3.2007

Репутация: нет
Всего: нет



У есть  решение этой задачи на c, pascal, prolog, но не близко.
Это олимпиадная задача. Завтра отсканирую.
PM MAIL   Вверх
powerfox
Дата 2.4.2007, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I wanna fork()
****


Профиль
Группа: Комодератор
Сообщений: 3990
Регистрация: 1.10.2005
Где: Санкт-Петербург

Репутация: 2
Всего: 97



Цитата(ama_kid @  2.4.2007,  12:18 Найти цитируемый пост)
А на "С" - смотри в конце этой статьи, там есть пример, но я не опробывал его ибо на линухе...

А чем линукс мешает опробовать С программу? smile
Но спасибо за хорошую ссылку.

Код с той страницы:
Код

main(a){printf(a,34,a="main(a){printf(a,34,a=%c%s%c,34);}",34);}


Забавно, но объективно говоря, программа будет такой:
Код

#include <stdio.h>
main(a){printf(a,34,a="main(a){printf(a,34,a=%c%s%c,34);}",34);}


А вывод действительно:
Цитата

main(a){printf(a,34,a="main(a){printf(a,34,a=%c%s%c,34);}",34);}


Поэтому можно отчасти не согласиться с решением задачи.

Добавлено через 50 секунд
Цитата(ama_kid @  2.4.2007,  12:18 Найти цитируемый пост)
Если бы на паскале надо было - я бы дал тебе лично опробованный пример...

Не скинете сюда? Любопытно.


--------------------
user posted image
PM WWW   Вверх
BreakPointMAN
Дата 2.4.2007, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 15.9.2004
Где: Saratov

Репутация: 14
Всего: 24





--------------------
"Разруха не в клозетах, а в головах." © Ф.Ф. Преображенский (М.Булгаков, "Собачье сердце")
PM WWW ICQ   Вверх
threef
Дата 2.4.2007, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 375
Регистрация: 27.10.2005
Где: Запорожье

Репутация: 9
Всего: 10



Где же ваше "по-честному" ? Я же не просил находить мне готовые решения, просил предложить СВОИ. НАПИСАТЬ - там так было ? И ко-модератор туда же :(
PM MAIL   Вверх
NoNo
Дата 2.4.2007, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 109
Регистрация: 14.11.2006

Репутация: нет
Всего: нет



....обиделся.....
PM MAIL   Вверх
apook
Дата 2.4.2007, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 794
Регистрация: 12.7.2006

Репутация: 9
Всего: 23



Ну что-за проблема вообще напиши да выведи


--------------------
Мои руки из дуба, голова из свинца ну и пусть ...
PM MAIL   Вверх
NoNo
Дата 2.4.2007, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 109
Регистрация: 14.11.2006

Репутация: нет
Всего: нет



apook, ...осторожно...он очень ранимый
PM MAIL   Вверх
apook
Дата 2.4.2007, 16:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 794
Регистрация: 12.7.2006

Репутация: 9
Всего: 23



а я не смог вот сделал но это почти
Код

#include<iostream.h>
void main()
{
char s[]="#include<iostream.h>\nvoid main()\n{\nchar s[]=\"#include<iostream.h>\\nvoid main()\\n{\\ncout << s; return\\n}\";\ncout << s; return\n}";
cout << s;
return;
}



--------------------
Мои руки из дуба, голова из свинца ну и пусть ...
PM MAIL   Вверх
powerfox
Дата 2.4.2007, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I wanna fork()
****


Профиль
Группа: Комодератор
Сообщений: 3990
Регистрация: 1.10.2005
Где: Санкт-Петербург

Репутация: 2
Всего: 97



Цитата(NoNo @  2.4.2007,  17:27 Найти цитируемый пост)
apook, ...осторожно...он очень ранимый


M
powerfox
NoNo, у всех людей разный темперамент. Поэтому я бы попросил не нарываться на конфликт.


Это сообщение отредактировал(а) powerfox - 2.4.2007, 16:59


--------------------
user posted image
PM WWW   Вверх
threef
Дата 2.4.2007, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 375
Регистрация: 27.10.2005
Где: Запорожье

Репутация: 9
Всего: 10



Не, конфликта нет, зато  apook хоть чего-то написал да приблизился к пониманию, что если не брать чужие решения, то это - проблема. Может и надуманная smile 
PM MAIL   Вверх
betal
Дата 2.4.2007, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 208
Регистрация: 26.12.2006

Репутация: нет
Всего: 1



Рыба smile 
Код

main(a)(printf(a,34,a="main(a)(printf(a,34,a=%c%s%c,34);}",34);}

На каком еще нужно языке ???

Добавлено @ 18:28
powerfox  сорри я профтыкал smile 

Это сообщение отредактировал(а) betal - 2.4.2007, 18:29
--------------------
101100010100001101100001110100101111011легкие деньги
PM WWW ICQ   Вверх
powerfox
Дата 2.4.2007, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I wanna fork()
****


Профиль
Группа: Комодератор
Сообщений: 3990
Регистрация: 1.10.2005
Где: Санкт-Петербург

Репутация: 2
Всего: 97



Цитата(betal @  2.4.2007,  19:25 Найти цитируемый пост)
На каком еще нужно языке ???

Да вообще-то, по ссылке можно найти на каком угодно:
Цитата(BreakPointMAN @  2.4.2007,  14:51 Найти цитируемый пост)
http://www.nyx.net/~gthompso/quine.htm




--------------------
user posted image
PM WWW   Вверх
nickless
Дата 3.4.2007, 00:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гентозавр
****


Профиль
Группа: Участник Клуба
Сообщений: 2976
Регистрация: 29.8.2005
Где: Germany

Репутация: 19
Всего: 181



Вот откопал моё решение на C++
Код
char* str = "#include <iostream>\nusing namespace std;\n\nint main() {\n    cout << \"char* str = \\\"\";\n    for (char* c=
str; *c; c++) {\n        if (*c == 34 || *c == 92) cout << \"\\\\\";\n        if (*c == 10) cout << \"\\\\n\";\n        else
 cout << *c;\n    }\n    cout << \"\\\";\\n\\n\" << str;\n    return 0;\n}\n\n";

#include <iostream>
using namespace std;

int main() {
    cout << "char* str = \"";
    for (char* c=str; *c; c++) {
        if (*c == 34 || *c == 92) cout << "\\";
        if (*c == 10) cout << "\\n";
        else cout << *c;
    }
    cout << "\";\n\n" << str;
    return 0;
}



--------------------
user posted image

Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies
- Linus Torvalds
PM MAIL   Вверх
Rockie
Дата 3.4.2007, 01:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1143
Регистрация: 23.4.2006

Репутация: 8
Всего: 31



Я в начале понял название темы 
Цитата

Программа, которая себя выводит

как типо "программа которая сама себя бесит, достает" smile Ну думаю ниче себе - технологии пошли..

Цитата(threef @  1.4.2007,  12:57 Найти цитируемый пост)
Написать программу, которая выводит свой текст без использования файла или других ухищрений.

threef, всмысле не открывающая файл своего листинга? Тогда получаются ухищрения smile 

Quine




--------------------
Чтобы иметь большой гардероб - надо иметь большой гардероб.
PM   Вверх
betal
Дата 3.4.2007, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 208
Регистрация: 26.12.2006

Репутация: нет
Всего: 1



Цитата(powerfox @ 2.4.2007,  20:39)
Цитата(betal @  2.4.2007,  19:25 Найти цитируемый пост)
На каком еще нужно языке ???

Да вообще-то, по ссылке можно найти на каком угодно:
Цитата(BreakPointMAN @  2.4.2007,  14:51 Найти цитируемый пост)
http://www.nyx.net/~gthompso/quine.htm

сеньк smile 
--------------------
101100010100001101100001110100101111011легкие деньги
PM WWW ICQ   Вверх
Gelos
Дата 5.5.2007, 22:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 29.4.2007

Репутация: нет
Всего: нет



Хм, что то я не совсем понял... Ибо, чтобы программа сама себя выводила, это в программе вроде просто нужно загнать полный код программы в строку, и её вывести. Но это будет не динамическое решение , ибо, если ввести изменить код, все равно старый вариант выведется. Нужен такой вариант? или что то я не понял..

Это сообщение отредактировал(а) Gelos - 5.5.2007, 22:34
PM MAIL   Вверх
adLucem
Дата 6.5.2007, 09:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 17.4.2007
Где: Украина, Донецк

Репутация: нет
Всего: 5



Цитата(threef @  2.4.2007,  14:22 Найти цитируемый пост)
Где же ваше "по-честному" ? Я же не просил находить мне готовые решения, просил предложить СВОИ. НАПИСАТЬ - там так было ? И ко-модератор туда же :( 

А вы не считаете, что для Вас все предложенные решения будут готовыми и чужими?

Код

#include <stdio.h>
void main(){char * s = "#include <stdio.h>%cvoid main(){char * s = %c%s%c;printf ( s, 0xA, 0x22, s, 0x22 );}";printf ( s, 0xA, 0x22, s, 0x22 );}


Но можно и форматированный вывод:
Код

#include <stdio.h>
void main ( ) {
    char * s = "#include <stdio.h>%cvoid main ( ) {%c%cchar * s = %c%s%c;%c%cprintf ( s, 0xA, 0xA, 0x9, 0x22, s, 0x22, 0xA, 0x9, 0xA );%c}";
    printf ( s, 0xA, 0xA, 0x9, 0x22, s, 0x22, 0xA, 0x9, 0xA );
}


Это сообщение отредактировал(а) adLucem - 6.5.2007, 10:58
PM MAIL ICQ   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0747 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.