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

C言語で配列を逆順に反転させるプログラムの書き方

配列とは、共通の名前のもとで管理される、関連性のあるデータ項目の集まりのことです。同じ型の複数の値を効率的に扱いたい場合に活用されます。

配列の宣言構文

C言語で配列を宣言する際の基本的な構文は以下のとおりです。

データ型 配列名 [サイズ];

配列の初期化

配列は、宣言と同時に初期化することもできます。

int a[5] = { 10,20,30,40,50};

この例では、整数型の配列 a の5つの要素に、それぞれ10から50までの値が順番に格納されています。

C言語で配列を逆順にする方法

配列の要素を逆順に並べ替えるには、要素の入れ替え(スワップ)やコピーのテクニックを利用します。

たとえば、4つの要素を持つ整数型配列 P があるとしましょう。

P[0] = 1, P[1] = 2, P[2] = 3, P[3] = 4

この配列を反転させると、次のようになります。

P[0] = 4, P[1] = 3, P[2] = 2, P[3] = 1

サンプルプログラム

以下は、入力された配列を逆順に出力するCプログラムの例です。まずユーザーから要素数と各要素の値を受け取り、別の配列へ後ろから順にコピーすることで反転を実現しています。

#include <stdio.h>
int main(){
    int num, i, j, array1[50], array2[50];
    printf("Enter no of elements in array\n");
    scanf("%d", &num);
    printf("Enter array elements\n");
    for (i = 0; i < num ; i++)
        scanf("%d", &array1[i]);
    // 要素を後ろから順にコピーして反転
    for (i = num - 1, j = 0; i >= 0; i--,j++)
        array2[j] = array1[i];
    // 反転した配列を元の配列に戻す
    for (i = 0; i < num; i++)
        array1[i] = array2[i];
    printf("The reversed array:\n");
    for (i = 0; i< num; i++)
        printf("%d\n", array1[i]);
    return 0;
}

実行結果

このプログラムをコンパイルして実行すると、次のような出力が得られます。

Enter no of elements in array
4
Enter array elements
20
50
60
70
The reversed array:
70
60
50
20

このように、元の配列「20, 50, 60, 70」が逆順の「70, 60, 50, 20」として正しく出力されていることが確認できます。

  1. JavaScriptの配列reverse()メソッドとは?使い方とサンプルコードを解説

    JavaScriptのreverse()メソッドは、配列の要素を逆順に並べ替えるために使用されるメソッドです。呼び出すと元の配列そのものが反転され、その結果の配列が戻り値として返されます。構文array.reverse()reverse()メソッドのポイント引数は不要で、呼び出した配列自体を直接書き換えます(破壊的なメソッド)。戻り値は、要素が反転された配列への参照です。元の配列を変更せずに反転したい場合は、ES2023で追加されたtoReversed()メソッドを使うと便利です。それでは、実際にJavaScriptでreverse()メソッドを実装してみましょう。例1:基本的な使い方<

  2. 【初心者向け】JavaScriptのreverse()メソッドで配列を逆順にする方法

    JavaScriptのreverse()メソッドは、配列の要素を元の順序と逆順に入れ替えるための便利な関数です。このメソッドを呼び出すと、配列の最初の要素が最後に、最後の要素が最初に移動し、配列全体が反転されます。reverse()メソッドの基本reverse()は配列そのものを変更する「破壊的メソッド」である点に注意してください。つまり、元の配列の順序が直接書き換えられます。元の配列を保持したい場合は、あらかじめslice()やスプレッド構文([...arr])などでコピーを作成してからreverse()を使用するのがおすすめです。サンプルコード以下は、ボタンをクリックすると配列の要素が逆順