U E D R , A S I H C RSS

압축알고리즘/동경,세환

해제

~cpp 
#include<iostream>
using namespace std;

int main()
{
	char Str[100000]={0};
	cin >> Str;
	
	int a;
	int count=0;
	int i=0;
	int b;
	int c=0;
	while(true)
	{
		b=Str[count];
		
		if (b==0)
			break;


		while(true)
		{
			b= Str[count];
			if( b<'0' || '9'<b)
				break;
			if('0'<= b && '9'>=b)
				c = c*10 + (b-'0');
			
			count++;
		}

				
		a= c;
				
		for	(i=0; i<a; i++)
		{
			cout << Str[count];
		}
		
		count =count+1;
		c=0;		
	}
	cout <<"\n";
	return 0;
}


DPCM압축

~cpp 
#include<iostream>
using namespace std;

int main()
{
		char Str[20]={0};
	cin >> Str;
	char FM;
	FM= Str[0];
	cout << FM;
	int i=0;
	while(true)
	{
		if(Str[i]==0)
		break;
		cout << Str[i]-FM;
		i++;
	}
	cout <<"\n";		
	return 0;
}

DPCM 해제

~cpp 
#include<iostream>
using namespace std;

int main()
{

        char Str[20]={0};  
        cin >> Str;  
        char FM;  
        FM= Str[0];  
        int i=1; 
		
        while(true)  
        {  
                if(Str[i]==0)  
			        break;  
				
				
				if(Str[i]=='-')
				{
					cout << (char) (FM-(Str[i+1]-'0'));
					i++;
				}
				else
                cout << (char) (Str[i]-'0'+FM);  
				

                i++;  
        }  
	return 0;
}


ADPCM 압축

~cpp 
#include<iostream>
using namespace std;

int main()
{

        char Str[20]={0}; 
        cin >> Str; 
        char FM; 
        FM= Str[0]; 
        cout << FM; 
        int i=0; 
        while(true) 
        { 
                if(Str[i]==0) 
					break; 
				if(Str[i]-FM>=10)
				{	
					FM=Str[i];
					cout << FM;
				}

                cout << Str[i]-FM; 
                i++; 
        } 
	return 0;
}


ADPCM 해제

~cpp 
#include<iostream>
using namespace std;

int main()
{

        char Str[20]={0};  
        cin >> Str;  
        char FM;  
        FM= Str[0];  
        int i=1; 
		
        while(true)  
        {  
                if(Str[i]==0)  
			        break;  
				
				
				if(Str[i]=='-')
				{
					cout << (char) (FM-(Str[i+1]-'0'));
					i++;
				}
				else if('A'<=Str[i] && Str[i]<='Z')
					FM=Str[i];
										
				else
					cout << (char) (Str[i]-'0'+FM);  

                i++;  
        }  
	return 0;
}
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:30:23
Processing time 0.0121 sec