コースコード!
1353 ワード
Description
ストローク符号化は「運転長符号化」または「ストローク長符号化」とも呼ばれ、無損圧縮符号化に属する統計符号化である.二値図で有効です.RLEストローク長符号化の概要現在、圧縮技術は様々なソフトウェア、音声、映像フォーマットなどの分野に広く応用されている.総じて、有損圧縮と無損圧縮の2つの異なる画像フォーマット圧縮タイプがある[1].有損圧縮は視覚認識の原理を用いてファイルのデータを大幅に圧縮できるが,画像品質に影響を及ぼす.無損圧縮の基本原理は、同じ色情報を1回保存するだけで、重複データを削除し、ディスクに保存する画像の容量を大幅に削減することです.無損圧縮法の利点は、画像の品質を比較的良く保存できることであるが、この方法の圧縮率は、損失圧縮に対して比較的低い.よく用いられる無損圧縮アルゴリズムにはRLE,LZWなどがある.RLE圧縮アルゴリズムの基本原理RLE(Run-Length Encodingストローク長符号化)圧縮アルゴリズムは、Windowsシステムで用いられる画像ファイル圧縮方法であり、1走査行の色値が同じ隣接画素を2バイトで表し、1バイト目はカウント値であり、画素の繰返し回数を指定するために用いられる.2バイト目は特定の画素の値である[2].主に、データ内の冗長バイトまたはバイト内の冗長ビットを圧縮して除去することで、ファイルの占有スペースを削減する目的を達成します.例えば、色画素値を表す文字列RRRGBBBBBBがあり、RLE圧縮法で圧縮すると5 R 2 G 6 Bで代用でき、後者の列長は前者の列長よりはるかに小さいことが明らかになった.復号は符号化時と同じ規則で行い,復元後のデータは圧縮前のデータと全く同じである.従って、RLEは非破壊圧縮技術である.
文字列が1つしかありません.(長さが100未満)
#include using namespace std; #include int main() { char s[100], c, l; int len, i, count; cin>>s; len = strlen(s); count = 1; l = s[0]; for (i=1; i<=len; i++){ c = s[i]; if (c == l){ count++; } else{ cout< count = 1; } l = c; } cout< return 0; }
ストローク符号化は「運転長符号化」または「ストローク長符号化」とも呼ばれ、無損圧縮符号化に属する統計符号化である.二値図で有効です.RLEストローク長符号化の概要現在、圧縮技術は様々なソフトウェア、音声、映像フォーマットなどの分野に広く応用されている.総じて、有損圧縮と無損圧縮の2つの異なる画像フォーマット圧縮タイプがある[1].有損圧縮は視覚認識の原理を用いてファイルのデータを大幅に圧縮できるが,画像品質に影響を及ぼす.無損圧縮の基本原理は、同じ色情報を1回保存するだけで、重複データを削除し、ディスクに保存する画像の容量を大幅に削減することです.無損圧縮法の利点は、画像の品質を比較的良く保存できることであるが、この方法の圧縮率は、損失圧縮に対して比較的低い.よく用いられる無損圧縮アルゴリズムにはRLE,LZWなどがある.RLE圧縮アルゴリズムの基本原理RLE(Run-Length Encodingストローク長符号化)圧縮アルゴリズムは、Windowsシステムで用いられる画像ファイル圧縮方法であり、1走査行の色値が同じ隣接画素を2バイトで表し、1バイト目はカウント値であり、画素の繰返し回数を指定するために用いられる.2バイト目は特定の画素の値である[2].主に、データ内の冗長バイトまたはバイト内の冗長ビットを圧縮して除去することで、ファイルの占有スペースを削減する目的を達成します.例えば、色画素値を表す文字列RRRGBBBBBBがあり、RLE圧縮法で圧縮すると5 R 2 G 6 Bで代用でき、後者の列長は前者の列長よりはるかに小さいことが明らかになった.復号は符号化時と同じ規則で行い,復元後のデータは圧縮前のデータと全く同じである.従って、RLEは非破壊圧縮技術である.
文字列が1つしかありません.(長さが100未満)
Sample Input
iiiiillllovvveeeeeeeaaaccccccccmmmmmmmmmm
Sample Output
5i4l1o3v7e3a8c10m
#include using namespace std; #include int main() { char s[100], c, l; int len, i, count; cin>>s; len = strlen(s); count = 1; l = s[0]; for (i=1; i<=len; i++){ c = s[i]; if (c == l){ count++; } else{ cout< count = 1; } l = c; } cout< return 0; }