逆ストリングパターンのCプログラム
文字列strが与えられた場合、私たちのタスクはその逆のパターンを印刷することです。パターンは逆の順序で増分され、文字列が完成したら、残りの場所に「*」を入力します。
文字列「abcd」を入力するのと同じように、最初の行に「a」を印刷し、次の行に「cb」を印刷し、3行目に「**d」を印刷します。
例
Input: str[] = { “abcd” } Output: a c b * * d
説明 −
- 最初の行に1文字を印刷します
- 2行目に、2文字を逆の順序で印刷します
- 3行目3文字を逆の順序で印刷します。文字列が3未満の場合は、文字を印刷し、空白を*で埋めます。
Input: str[] = {“tutorialspoint”} Output:
以下で使用されるアプローチは次のとおりです −
- i =0から文字列をトラバースし、i
- 次に、変数kを取得し、kを((i *(i + 1))/ 2)-1として設定します
- k> =n-1の場合は、「*」を出力します。それ以外の場合は、文字列の値を逆の順序で出力します
。
アルゴリズム
Start In function int reverse_it(char str[], int n) Step 1-> Declare and Initialize i, j=0 , k=0 Step 2-> Loop For i=0 and i<n && k<(n-i)*2 and i++ Set k as ((i*(i+1))/2)-1 Loop For j=0 and j<i && k<(n-i)*2 and j++ If k >= n-1 then, Print "* " Else Print "%c ",str[k] Decrement k by 1 End loop Print new line End loop In Function int main(int argc, char const *argv[]) Step 1-> Declare and initialize string str[] Step 2-> Declare and Initialize size as sizeof(str)/sizeof(str[0]) Step 3-> Call function reverse_it(str, size); Stop
例
#include <stdio.h> int reverse_it(char str[], int n) { int i, j=0 , k=0; for(i=0; i<n && k<(n-i)*2; i++) { //Assigning k k = ((i*(i+1))/2)-1; for(j=0; j<i && k<(n-i)*2; j++) { //will check if k is greater than the total number of characters //then we will print * for filling the extra characters if(k >= n-1) printf("* "); //print the string in reverse order else printf("%c ",str[k]); k--; } //for line break after reverse sequence printf("\n"); } return 0; } //Main Function int main(int argc, char const *argv[]) { char str[] = {"tutorialspoint"}; int size = sizeof(str)/sizeof(str[0]); reverse_it(str, size); return 0; }
出力
上記のコードを実行すると、次の出力が生成されます-
-
六角形パターンのCプログラム
整数「n」が与えられ、タスクは六角形のパターンを生成して最終出力を表示することです。 例 Input-: n=5 Output-: Input-: n = 4 Output-: 特定のプログラムで使用しているアプローチは次のとおりです − ユーザーからの数字「n」を入力します パターン全体を3つの部分、つまり上部、中央部、下部に分割します。パターンの上部をiから0に印刷し、iをn未満にして、iの値をインクリメントし続けるループiを開始します。ループを開始します。パターンの中央部分をmから0に印刷し、mをn-2未満にし、mの値をインクリメントし続けるmパターンの下部をhからre
-
Cプログラムで行列の対角パターンで数値を印刷します。
タスクは、対角パターンのnxnの行列を印刷することです。 nが3の場合、対角パターンで行列を印刷するのは-です。 したがって、出力は次のようになります- 例 Input: 3 Output: 1 2 4 3 5 7 6 8 9 Input: 4 Output: 1 2 4 7 3 5 8 11 6 9 12 14 10 13 15 16 この問題は、数値nを与え、n x nの行列を生成