Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

文字列の概念を使用して余分なスペースを削除するCプログラム。


問題

文字の各インデックスのスペースをチェックして、whileループを使用して、実行時に入力された文字列から余分なスペースをすべて削除します。

解決策

以下に示す例を考えてみましょう-

指定された文字列からすべてのスペースを削除します。指定された文字列はチュートリアルポイントCプログラミングです。 。スペースを削除した後の結果は、 TutorialsPointCProgrammingです。 。

文字の配列は文字列と呼ばれます。

以下に文字列の宣言を示します-

char stringname [size];

たとえば、char string [50];長さ50文字の文字列。

初期化

  • 1文字の定数を使用します。
char string[10] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’ ,‘\0’}
  • 文字列定数の使用。
char string[10] = “Hello”:;

アクセス

「\0」に遭遇するまで文字列にアクセスするために使用される制御文字列「%s」があります。

文字列間の余分なスペースを削除するために使用したロジックは次のとおりです-

len = strlen(string);
for(i=0; i<len; i++){
   if(string[0]==' '){
      for(i=0; i<(len-1); i++)
      string[i] = string[i+1];
      string[i] = '\0';
      len--;
      i = -1;
      continue;
   }
   if(string[i]==' ' && string[i+1]==' '){
      for(j=i; j<(len-1); j++){
         string[j] = string[j+1];
      }
      string[j] = '\0';
      len--;
      i--;
   }
}

以下は、文字列の概念を使用して文の余分なスペースをすべて削除するCプログラムです-

#include<stdio.h>
int main() {
   char string[200];
   int i, j, len;
   printf("Enter a statement: ");
   gets(string);
   len = strlen(string);
   for(i=0; i<len; i++) {
      if(string[0]==' ') {
         for(i=0; i<(len-1); i++)
         string[i] = string[i+1];
         string[i] = '\0';
         len--;
         i = -1;
         continue;
      }
      if(string[i]==' ' && string[i+1]==' ') {
         for(j=i; j<(len-1); j++) {
            string[j] = string[j+1];
         }
         string[j] = '\0';
         len--;
         i--;
      }
   }
   printf("\nNew String after removing extra spaces is = %s", string);
   getch();
   return 0;
}

出力

上記のプログラムを実行すると、次の出力が生成されます-

Enter a statement: Welcome to The world of C programming
New String after removing extra spaces is = Welcome to The world of C programming

  1. CプログラムでO(1)の余分なスペースを使用して、nxnスパイラル行列を出力します。

    正の整数nが与えられ、時計回りにO(1)の余分なスペースのみを使用して、nxnのスパイラル行列を作成します スパイラル行列は、円の原点から始まり時計回りに回転するスパイラルのように機能する行列です。したがって、タスクは、2→4→6→8→10→12→14→16→18から始まるO(1)スペースを使用して、行列をスパイラル形式で印刷することです。 以下にスパイラル行列の例を示します- 例 Input: 3 Output:    9 8 7    2 1 6    3 4 1 無制限のスペースでコードを解くのは簡単になりますが、最

  2. 再帰を使用して文字列を逆にするPythonプログラム

    再帰手法を使用して文字列を反転する必要がある場合は、ユーザー定義のメソッドが再帰とともに使用されます。 再帰は、より大きな問題の小さなビットの出力を計算し、これらのビットを組み合わせて、より大きな問題の解決策を提供します。 例 以下は同じのデモンストレーションです- def reverse_string(my_string):    if len(my_string) == 0:       return my_string    else:       return reverse_str