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

Cポインタを使用して配列要素を挿入するプログラム。


問題

ユーザーが実行時に要素を配列に挿入し、挿入後に画面に結果を表示するCプログラムを作成します。挿入された要素が配列のサイズより大きい場合は、無効な入力を表示する必要があります。

解決策

配列は、共通の要素のグループを1つの名前で保持するために使用されます。

配列の操作は次のとおりです-

  • 挿入
  • 削除
  • 検索

アルゴリズム

ポインタを使用して要素を配列に挿入するアルゴリズムを参照してください。

ステップ1:要素の数を宣言して読み取ります。

ステップ2:実行時にアレイサイズを宣言して読み取ります。

ステップ3:配列要素を入力します。

ステップ4:ポインター変数を宣言します。

ステップ5:実行時にメモリを動的に割り当てます。

手順6:要素を挿入する位置を入力します。

手順7:新しい要素をその位置に挿入し、右側の要素を1つシフトします。

配列のサイズは次のとおりです:5

配列要素は次のとおりです-

1 2 3 4 5

新しい要素を挿入します:9

位置:4

出力は次のとおりです-

After insertion the array elements are:
1 2 3 9 4 5

以下は、ポインタを使用して要素を配列に挿入するCプログラムです-

#include<stdio.h>
#include<stdlib.h>
void insert(int n1, int *a, int len, int ele){
   int i;
   printf("Array elements after insertion is:\n");
   for(i=0;i<len-1;i++){
      printf("%d\n",*(a+i));
   }
   printf("%d\n",ele);
   for(i=len-1;i<n1;i++){
      printf("%d\n",*(a+i));
   }
}
int main(){
   int *a,n1,i,len,ele;
   printf("enter size of array elements:");
   scanf("%d",&n1);
   a=(int*)malloc(n1*sizeof(int));
   printf("enter the elements:\n");
   for(i=0;i<n1;i++){
      scanf("%d",a+i);
   }
   printf("enter the position where the element need to be insert:\n");
   scanf("%d",&len);
   if(len<=n1){
      printf("enter the new element that to be inserted:");
      scanf("%d",&ele);
      insert(n1,a,len,ele);
   } else {
      printf("Invalid Input");
   }
   return 0;
}

出力

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

enter size of array elements:5
enter the elements:
1
3
5
7
2
enter the position where the element need to be insert:
5
enter the new element that to be inserted:9
Array elements after insertion are:
1
3
5
7
9
2

  1. C言語のポインタを使用して配列要素の合計を計算するにはどうすればよいですか?

    ポインタは、他の変数のアドレスを格納する変数です。 次のステートメントを検討してください- int qty = 179; ポインタの宣言 ポインタを宣言するための構文は次のとおりです- int *p; ここで、「p」は他の変数のアドレスを保持するポインタ変数です。 ポインタの初期化 アドレス演算子(&)は、ポインタ変数を初期化するために使用されます。 たとえば、 int qty = 175; int *p; p= &qty; ポインタの配列 これは、アドレスのコレクション(または)ポインターのコレクションです。 宣言 以下は、ポインタの配列の宣言です- dataty

  2. 2D配列でK番目に小さい要素を見つけるC#プログラム

    2D配列を宣言する- int[] a = new int[] {    65,    45,    32,    97,    23,    75,    59 }; K番目に小さい整数、つまり5番目に小さい整数が必要だとします。配列を最初に並べ替える- Array.Sort(a); 5番目に小さい要素を取得するには- a[k - 1]; 完全なコードを見てみましょう- 例 using System; using System.IO; using S