Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.07.2009, 19:59   #1
pavelstraut
Пользователь
 
Регистрация: 17.07.2009
Сообщений: 91
По умолчанию

собственно как напечатать исходный код я знаю а вот как в обратном порядке нет
помогите
заранее спасибо

без использования массива

Последний раз редактировалось Sazary; 24.07.2009 в 00:05.
pavelstraut вне форума Ответить с цитированием
Старый 23.07.2009, 20:42   #2
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2pavelstraut как ты вообще себе это представляешь. после компиляции от исходного кода ничего не остается, он транлируется в ассемблерные команды. такое возможно только на скриптовых языках, либо на функциональных (lisp к примеру это может)
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 23.07.2009, 20:47   #3
profi
Участник клуба Подтвердите свой е-майл
 
Регистрация: 19.11.2007
Сообщений: 1,022
По умолчанию

Можно вывести исходный код cpp-файла, вот:

Код:
#include<iostream.h>
#include<fstream.h>

int main()
{
    ifstream in("help.cpp");
    char ch;
    
    while(in.get(ch))
                    cout << ch;

    cin.get();

return 0;
}
Цитата:
исходный код в обратном порядке
Напечатайте для примера вручную, просто я не совсем понял как это.

Модератор: тег CODE юзать не умеем?

Последний раз редактировалось MaTBeu; 24.07.2009 в 13:55.
profi вне форума Ответить с цитированием
Старый 23.07.2009, 20:52   #4
pavelstraut
Пользователь
 
Регистрация: 17.07.2009
Сообщений: 91
По умолчанию

допустим программа которую вы сами напечатали
#include<iostream.h>
#include<fstream.h>

int main()
{
ifstream in("help.cpp");
char ch;

while(in.get(ch))
cout << ch;

cin.get();

return 0;
}
так вот она должна быть написана так(насколько я понял из учебника)
}
;0 nruter
и т.д.
т.е от последнего символа и до первого
pavelstraut вне форума Ответить с цитированием
Старый 23.07.2009, 20:56   #5
profi
Участник клуба Подтвердите свой е-майл
 
Регистрация: 19.11.2007
Сообщений: 1,022
По умолчанию

Код:
#include<iostream.h>
#include<fstream.h>
#include<string.h>

int main()
{
    ifstream in("help.cpp");
    char *mas=new char[255];
    
    while(in.getline(mas,255))
                 cout << strrev(mas) << "\n";   
   
    delete []mas;

    cin.get();

return 0;
}

Последний раз редактировалось profi; 23.07.2009 в 21:00.
profi вне форума Ответить с цитированием
Старый 23.07.2009, 21:05   #6
pavelstraut
Пользователь
 
Регистрация: 17.07.2009
Сообщений: 91
По умолчанию

эта прога переворачивает строку
а мне нужно весь текст
начиная с последнего символа последней строки до первого первой
скажите что за функции getline и strrev
в книге этих функций не описывалось пока значит можно без них
pavelstraut вне форума Ответить с цитированием
Старый 23.07.2009, 21:15   #7
profi
Участник клуба Подтвердите свой е-майл
 
Регистрация: 19.11.2007
Сообщений: 1,022
По умолчанию

getline(BUF,255); - получает строку размером 255 символов и записывает в массив BUF.

strrev - функция реверса (переворота строки).
profi вне форума Ответить с цитированием
Старый 23.07.2009, 21:17   #8
pavelstraut
Пользователь
 
Регистрация: 17.07.2009
Сообщений: 91
По умолчанию

мне без массивов
и перевернуть весь текст а не строки
т.е сначала должна быть выведена последняя строка начиная с последнего символа
и т.д.
pavelstraut вне форума Ответить с цитированием
Старый 23.07.2009, 21:17   #9
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

Код:
#include<iostream>
#include<fstream>
#include<conio.h>

using namespace std;

void main ()

{
	cout<<"Enter a full path to file : \n\n";

	char str[100];

	cin.getline(str,79);

	ifstream File (str);

	if(!File)

	{
		cout<<"\n\nFile not found!";
		_getch();
		exit(1);
	}


	ofstream File_1 ("reverse.txt");

	if(!File_1)

	{
		cout<<"\n\nFile not created!";
		_getch();
		exit(2);
	}


	
	cout<<"\n\nFILE  "<<str<<"\n\n";
	
	File.unsetf(ios::skipws);

	File_1<<"\nexample_23.exe\n\n";

	File.seekg(0,ios::end);
	
	long i=File.tellg();
	i-=2;
	
	for(;i>=0;i--)

	{
	   char ch;
	   File.seekg(i,ios::beg);
	   File>>ch;
	   cout<<ch;
	   File_1<<ch;
	}

	_getch();

}
counter вне форума Ответить с цитированием
Старый 23.07.2009, 21:21   #10
profi
Участник клуба Подтвердите свой е-майл
 
Регистрация: 19.11.2007
Сообщений: 1,022
По умолчанию

Без массивов не возможно. Текст - это массив символов.

Последний раз редактировалось profi; 23.07.2009 в 21:25.
profi вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
печать страниц в обратном порядке Олекса Microsoft Office Word 4 30.03.2009 09:45
как защитить исходный код donet приложение sgsolar Общие вопросы .NET 4 24.02.2009 09:52
В обратном порядке mari.ha Общие вопросы C/C++ 7 25.12.2008 21:36
Упорядочить массив в порядке возрастания и напечатать входной и исходный массив. TheVenny Помощь студентам 3 26.11.2008 15:06
Как посмотреть исходный код exe'ника bamer Помощь студентам 6 10.11.2008 23:42