U E D R , A S I H C RSS

문자반대출력/조현태

Difference between r1.1 and the current

@@ -8,7 +8,7 @@


=== 소스 ===
{{{~cpp
{{{
#include <iostream>
#include <fstream>

@@ -105,6 +105,8 @@
== Erlang ==
=== 느낀점 ===
별것 아닌데 잘 몰라서 30분 해맸다 -_ -;
지금 보니까 위에 C++ 소스도 뭔가 허접하다 -_ -;;;
아 민망 -_ -;;

=== 소스 ===
{{{
@@ -112,6 +114,27 @@
"!!ESCUAC .olleH"
}}}

== Erlang - 2 ==
=== 느낀점 ===
너무 날로 먹은거 같아서 reverse도 구현해 보았다 -_ -ㅎ
 
=== 소스 ===
* pr_3.erl
{{{
-module(pr_3).
-export([reverse/1]).
reverse([]) -> [];
reverse([First|Remain]) -> reverse(Remain) ++ [First].
}}}
 
* shell
{{{
23> c(pr_3).
{ok,pr_3}
24> pr_3:reverse("Hello. CAUCSE!!").
"!!ESCUAC .olleH"
}}}
== FeedBack ==

----


C++

느낀점


처음 테스트한 파일이 러브데스티니의 가사여서 한글이 있었다..OTL
어쨋든 한글도 되게 만들었다.^^
클래스도 써봤는데.. 본인이 보기에는 이쁘지만..^^ 남이 보기에는 영~~(아직 클래스를 못배웠다..ㅠ.ㅜ 2학기가 되어야 할텐데..ㅠ.ㅜ)
그래도 애교로 봐주시길..ㅎㅎ


소스

#include <iostream>
#include <fstream>

const bool TRUE=1;
const bool FALSE=0;

using namespace std;

class stack
{
private:
	char *data_p;
	int where_is_save;
	int max_size_of_stack;
public:
	stack( int data_size )
	{
		data_p=(char*)malloc(data_size*sizeof(char));
		max_size_of_stack=data_size;
		where_is_save=0;
	}
	~stack()
	{
		free(data_p);
	}
	bool get_in(char save_data)
	{
		if (where_is_save != max_size_of_stack)
		{
			*(data_p+where_is_save)=save_data;
			++where_is_save;
			return TRUE;
		}
		else
			return FALSE;
	}
	bool get_out(char *where_save_p )
	{
		if (where_is_save)
		{
			--where_is_save;
			*where_save_p=*(data_p+where_is_save);
			return TRUE;
		}
		return FALSE;
	}
	void clear_data()
	{
		where_is_save=0;
	}
};

int main()
{
	//파일을 읽어옵니다.
	ifstream inputFile("source.txt");
	if(!inputFile)
	{
		cout << "파일을 열 수 없습니다.\n";
		return 0;
	}
	inputFile.seekg(0,ios_base::end);
	stack file_data(inputFile.tellg());
	inputFile.seekg(0);
	char temp;
	//파일을 기록합니다.
	while (inputFile.get(temp))
	{
		file_data.get_in(temp);
	}
	inputFile.close();
	ofstream outputFile("result.txt");
	if (outputFile == 0 )
	{
		cout << "파일을 쓸 수 없습니다.\n";
		return 0;
	}
	//기록을 역으로 재생하며 파일을 출력합니다.
	while (file_data.get_out(&temp))
	{
		if (0>temp)
		{
			char temp_next;
			file_data.get_out(&temp_next);
			outputFile << temp_next << temp;
		}
		else
			outputFile << temp;
	}
	outputFile.close();
	return 0;
}

Erlang

느낀점

별것 아닌데 잘 몰라서 30분 해맸다 -_ -;
지금 보니까 위에 C++ 소스도 뭔가 허접하다 -_ -;;;
아 민망 -_ -;;

소스

18> lists:reverse("Hello. CAUCSE!!").
"!!ESCUAC .olleH"

Erlang - 2

느낀점

너무 날로 먹은거 같아서 reverse도 구현해 보았다 -_ -ㅎ

소스

  • pr_3.erl

-module(pr_3).
-export([reverse/1]).
reverse([]) -> [];
reverse([First|Remain]) -> reverse(Remain) ++ [First].

  • shell

23> c(pr_3).             
{ok,pr_3}
24> pr_3:reverse("Hello. CAUCSE!!").
"!!ESCUAC .olleH"

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:29:30
Processing time 0.0311 sec