Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

압축알고리즘/동경,세환: Difference between revisions

From ZeroWiki
imported>Unknown
No edit summary
 
(Repair batch-0006 pages from live compare)
 
Line 5: Line 5:
  int main()
  int main()
  {
  {
  char Str[100000]={0};
  char Str[100000]={0};
  cin >> Str;
  cin >> Str;
 
 
Line 15: Line 15:
  while(true)
  while(true)
  {
  {
  b=Str[count];
  b=Str[count];
 
 
  if (b==0)
  if (b==0)
Line 23: Line 23:
  while(true)
  while(true)
  {
  {
  b= Str[count];
  b= Str[count];
  if( b<'0' || '9'<b)
  if( b<'0' || '9'<b)
  break;
  break;
Line 37: Line 37:
  for (i=0; i<a; i++)
  for (i=0; i<a; i++)
  {
  {
  cout << Str[count];
  cout << Str[count];
  }
  }
 
 
Line 53: Line 53:
  int main()
  int main()
  {
  {
  char Str[20]={0};
  char Str[20]={0};
  cin >> Str;
  cin >> Str;
  char FM;
  char FM;
  FM= Str[0];
  FM= Str[0];
  cout << FM;
  cout << FM;
  int i=0;
  int i=0;
  while(true)
  while(true)
  {
  {
  if(Str[i]==0)
  if(Str[i]==0)
  break;
  break;
  cout << Str[i]-FM;
  cout << Str[i]-FM;
  i++;
  i++;
  }
  }
Line 77: Line 77:
  {
  {
   
   
         char Str[20]={0};   
         char Str[20]={0};   
         cin >> Str;   
         cin >> Str;   
         char FM;   
         char FM;   
         FM= Str[0];   
         FM= Str[0];   
         int i=1;  
         int i=1;  
 
 
         while(true)   
         while(true)   
         {   
         {   
                 if(Str[i]==0)   
                 if(Str[i]==0)   
          break;   
          break;   
 
 
 
 
  if(Str[i]=='-')
  if(Str[i]=='-')
  {
  {
  cout << (char) (FM-(Str[i+1]-'0'));
  cout << (char) (FM-(Str[i+1]-'0'));
  i++;
  i++;
  }
  }
  else
  else
                 cout << (char) (Str[i]-'0'+FM);   
                 cout << (char) (Str[i]-'0'+FM);   
 
 
   
   
Line 110: Line 110:
  {
  {
   
   
         char Str[20]={0};  
         char Str[20]={0};  
         cin >> Str;  
         cin >> Str;  
         char FM;  
         char FM;  
         FM= Str[0];  
         FM= Str[0];  
         cout << FM;  
         cout << FM;  
         int i=0;  
         int i=0;  
         while(true)  
         while(true)  
         {  
         {  
                 if(Str[i]==0)  
                 if(Str[i]==0)  
  break;  
  break;  
  if(Str[i]-FM>=10)
  if(Str[i]-FM>=10)
  {
  {
  FM=Str[i];
  FM=Str[i];
  cout << FM;
  cout << FM;
  }
  }
   
   
                 cout << Str[i]-FM;  
                 cout << Str[i]-FM;  
                 i++;  
                 i++;  
         }  
         }  
Line 139: Line 139:
  {
  {
   
   
         char Str[20]={0};   
         char Str[20]={0};   
         cin >> Str;   
         cin >> Str;   
         char FM;   
         char FM;   
         FM= Str[0];   
         FM= Str[0];   
         int i=1;  
         int i=1;  
 
 
         while(true)   
         while(true)   
         {   
         {   
                 if(Str[i]==0)   
                 if(Str[i]==0)   
          break;   
          break;   
 
 
 
 
  if(Str[i]=='-')
  if(Str[i]=='-')
  {
  {
  cout << (char) (FM-(Str[i+1]-'0'));
  cout << (char) (FM-(Str[i+1]-'0'));
  i++;
  i++;
  }
  }
  else if('A'<=Str[i] && Str[i]<='Z')
  else if('A'<=Str[i] && Str[i]<='Z')
  FM=Str[i];
  FM=Str[i];
 
 
  else
  else
  cout << (char) (Str[i]-'0'+FM);   
  cout << (char) (Str[i]-'0'+FM);   
   
   
                 i++;   
                 i++;   
Line 166: Line 166:
  return 0;
  return 0;
  }
  }

Latest revision as of 01:08, 27 March 2026

해제

#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압축

#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 해제

#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 압축

#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 해제

#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;
}