プログラミングC: 投稿 9 – Cでの配列
コンテンツ
Cの配列について学ぶ前に, 我々は、例えば開口部をやろう.
1. 例えば、開口部
例エントリを考えてみましょう 5 整数, 画面に出力 5 ラインと合計でその中でも 5 これ.
// e.g about array - code by nguyenvanquan7826 #include <stdio.h> int main() { int a, b, c, d, e; // 5 bien printf("Nhap a = "); scanf("%d", &a); printf("Nhap b = "); scanf("%d", &b); printf("Nhap c = "); scanf("%d", &c); printf("Nhap d = "); scanf("%d", &d); printf("Nhap e = "); scanf("%d", &e); int tong = a + b + c + d + e; printf("Tong cua %d + %d + %d + %d + %d = %d \n", a, b, c, d, e, tong); return 0; }
結果:
Nhap = 3
NhapのB = 5
NhapのC = 3
Nhapさd = 6
Nhap電子= 1
トンのカニ 3 + 5 + 3 + 6 + 1 = 18
例として、私たちはすべての入力を参照してください 5 と我々はいくつかの画面は非常に難しいと思わ作られ、我々はあまりにも多くの変数を使用する必要がありました, もし私たちではない変数の数 5 すなわち 50, 500,...その後、この結果は非常に困難である. これを改善するために、我々は配列を使う.
同じタイプのデータを持つ配列要素のセット. 配列の配列 1 夜, 2 夜,...そして、データの各種類がある 1 対応する配列 (整数配列, 実数配列, 文字配列 (チェーン)),...私は主に配列を検討 1 次元配列 2 夜.
今、私たちは、配列の使用例を解決します 1 夜.
2. 配列 1 夜
2.1 例の概要
あなたが読んで、このプログラムを実行しようとしています, その後、下記の詳細を参照してください。.
// e.g about array - code by nguyenvanquan7826 #include <stdio.h> int main() { // khai bao mang a co n phan tu int n = 5, i, s = 0; int a[n]; // thuc hien nhap tung phan tu mang for (i = 0; i < n; i++) { printf("Nhap a[%d] = ", i); scanf("%d", &a[i]); } // thuc hien in cac phan tu cua mang ra man hinh printf("\nMang da nhap \n"); for (i = 0; i < n; i++) { printf ("%d \t", a[i]); } // tinh tong cac so trong mang for (i = 0; i < n; i++) { s += a[i]; // s = s + a[i] } printf("\nTong cac so trong mang: %d\n", s); return 0; }
インポートA[0] = 3
インポートA[1] = 4
インポートA[2] = 6
インポートA[3] = 2
インポートA[4] = 7
持参入力された
3 4 6 2 7
帳簿価額の合計: 22
2.2 配列を宣言する方法 1 夜
KieuDuLieu TenMang [SoPhanTu];
最高経営責任者(CEO: int a[10];
配列 1 午後は含ま 10 整数型の要素. 持って宣言した後 1 配列は次のようになります:
2.3 配列内の要素にアクセスする方法
配列が宣言された後、, 配列の各要素は、参照インデックス用です. インデックスはから始まる 0 n-1個の (ここで、nは、配列のサイズは). 上記の例で, 私は、配列を宣言 10 要素は、インデックスの開始 0 へ 9.
そして、我々は構文を介してアクセス: TenMang[ChiSo]
2.4 配列の要素をインポートし、エクスポートする方法
私たちは、配列の各要素を参照する必要が配列内の要素のデータを入力し、ループを入力するに進みます
for (i = 0; i < n; i++) { printf("Nhap a[%d] = ", i); scanf("%d", &a[i]); }
配列の要素の出版物も、同様に行われている:
for (i = 0; i < n; i++) { printf ("%d \t", a[i]); }
2.5 関数を用いて出力配列を入力
多くの問題では、, 私たちは、複数のアレイを入力する必要が, と出力を複数回, 一方のは、簡単に入力して使用するための機能に広告を出そう.
// e.g about array - code by nguyenvanquan7826 #include <stdio.h> void nhapMang(int a[], int n) { int i; // thuc hien nhap tung phan tu mang for (i = 0; i < n; i++) { printf("Nhap a[%d] = ", i); scanf("%d", &a[i]); } } void xuatMang(int a[], int n) { int i; for (i = 0; i < n; i++) { printf ("%d \t", a[i]); } } int main() { // khai bao mang a co n phan tu int n = 5; int a[n]; nhapMang(a, n); xuatMang(a, n); return 0; }
注意: との関係の配列 1 ポインタ, 配列としてそう 1 アレイ内の任意の変更がある場合は、配列の要素が影響を受ける関数に渡された配列へのポインタ.
2.6 いくつかのその他の注意事項
配列を初期化: 私たちはすぐに宣言で配列を初期化することができます. 最高経営責任者(CEO: float a [5] = {3.4, 5, 6, 7, 4,2}
我々は初期化する場合は、この初期化を超えて 5 要素はエラーを報告します, 任意の要素なしでの値である要素です 0.
最高経営責任者(CEO: float a [5] = {3.4, 5, 7} => a[4] = 0
.
最高経営責任者(CEO: float a [5] = {3.4, 5, 7, 1, 2, 3}
=>マシンエラー.
また、我々は、配列の前に未知の数を宣言し、初期化する必要が.
最高経営責任者(CEO: int a[] = {3,6,2,5}
=>配列を持つ 4 要素に対応する値を受信する.
または: int a[];
=>関数形のパラメータとして配列を使用する際にしばしば使用される.
3. 配列 2 夜
私たちは、マトリックスとしてそれを考慮することができます. 自然, 宣言, インポート、エクスポート,...類似配列 1 夜.
KieuDuLieu TenMang [SoHang][SoCot];
VDレポート: int a[5][10];
=>アレイ合成 5 商品や 10 ポスト (各行 10 要素).
// e.g about array - code by nguyenvanquan7826 #include <stdio.h> #define MAX 10 // nhap mang n hang, m cot void nhapMang(int a[MAX][MAX], int n, int m) { int i, j; for (i = 0; i < n; i++) { for (j = 0; j < m; j++) { printf("Nhap a[%d][%d] = ", i, j); scanf("%d", &a[i][j]); } } } // xuat mang n hang, m cot void xuatMang(int a[MAX][MAX], int n, int m) { int i, j; for (i = 0; i < n; i++) { for (j = 0; j < m; j++) { printf ("%-3d", a[i][j]); } printf("\n"); // xuong dong khi het 1 dong } } int main() { // khai bao mang a co n phan tu int n = 2, m = 3; int a[MAX][MAX]; nhapMang(a, n, m); xuatMang(a, n, m); return 0; }
注目: メモリの本質, 配列の要素 2 夜 (と多次元配列) 多くの配列として開催される 1 連続した二次元, 私たちは、配列を提供することができ 2 次元のプラーク 1 夜.
chap9-LUU-TRU-クマ-2-PM-で-c.png
エクササイズ
- 配列に入力します。, 配列内の最大と最小の番号が入力された見つけます.
- 一連の数字を入力します。, 最大の場所をプリントアウト (複数の場所を持つことができます).
- 降水量のシーケンスを入力すると、年にカ月連続で. 月の平均降雨量よりも月の降水量のお知らせ.
- 一連の数字を入力します。, 昇順にソートして印刷.
- 行列に入りました (プレート 2 夜). 行列の各列の和を印刷.
ウェイター, 彼はint型メイン無効メインとは別の場所として私を尋ねましたか?, その差は何int型メイン無効メインの使用としたのですか? ?
私はあなたに感謝.
メインのボイド、メイン関数は値を返さありません
int型のメイン、主な機能は、整数値を返します。. 我々は値を返す必要があります 0 (すなわちエラーなし) 戻り値は、他のプログラムエラーとして処理されている場合 (規定の審査官オリンピック).
そして、この点にint型メインNHE標準規定を使用することです.
私はレコードを返さない場合 0; 先生、それをどのような問題ではないん ?
彼のすべての国民はまた、int型のメインAを使用されています ? (私は、ユーザーに彼を見無効メインを読み取り,質問があればint型の段落を使用して、サー )
ノーリターン 0 オーケー, プログラムがまだ実行されています. 自分の未知のボイド法のための時間を作ります.
その後、試験を受け、それはint型を知っている必要があります. 🙂
ウェイターは、配列の要素があり、先生格納されている私に尋ねました ?(RAM,…)
なぜあなたはドラゴンAを宣言します[1000000000] 通常の翻訳, でも、それが返す実行するとき 3 数十億 ?
これは、何らかの形でバッファオーバーフローが原因であります. むしろ宣言は、この要素をリードしようとしたしていません. =))
Cho e hỏi là nhập n trong hàm nhập mảng khác nhập n ngoài hàm nhập mảng như nào ạ. Và khi nào thì nhập trong khi nào nhập ngoài ạ
Nhập trong là nhập trong, còn nhập ngoài là nhập ngoài. Khi nào cần truyền n từ ngoài vào thì dùng nhập ngoài.
ウェイター, どのように例をcoppy来ます 2 nhapMangでのエラー(ザ·, N, M); ブロ理由です.
どのように特定のエラー?
31 21 ℃:\ユーザー TraMy・ダンドキュメント mang_hai_chieu.cpp [エラー] 変換することはできません」のint (*)[(((sizetypへ)(((ssizetype)M) + -1)) + 1)]’ 「intへ (*)[10]’ 「引数の1’ 「空洞xuatMangへ(int型 (*)[10], int型, int型)’ ここに.
ああ, しかし、彼の実行は大丈夫でした, おいしいです…
はいダーリン…彼の通路に入る中で、その配列エラー .
任意のソフトウェアを使用するようにコード? しかし、彼の実行は大丈夫でした.
EMチャイのTREN devの,その最愛の人に従事していることを視覚的に.
ありがとう, 私は、NHEを更新しました.
PDFファイルkはAは? k個のホームネットワーク, あまりにも苦しんで探して.
私は、pdfファイルを持っていません. あなたがオンラインにいるときと同様に、ページを保存するには、Ctrl + Sを押すことができます.
あなたは星がKO先生によってファイルの配列をインポートすることができますどのように私を見ることができます
私はこの方法または使用を参照してください,私は、DCを開く方法がわかりません ( などのテキストを入力するメモ帳など…)
あなたは、C / C ++ NHE内のファイルを読むための方法を見つけます. そして、キーボードだけのような数か何かを入力.
anh ơi cho em hỏi printf (“%-3D”, ザ·[で][J]); cái %-3d có nghĩa là gì vậy ạ.
%xd Xuất thông tin số nguyên và để x chỗ trống biểu diễn, dấu âm là để căn trái.
この記事NHEで詳細を参照してください。.
https://www.cachhoc.net/2014/12/04/lap-trinh-c-bai-2-kieu-du-lieu-va-nhap-xuat-trong-c/#2_Xuat_du_lieu_printf
どうもありがとうございます
私はあなたに少し先生をお願いしたいと思います
私は配列を持っています 2 午後={xyDfdfgf
………….}
文字の配列全体にYと文字xを交換する方法,また、他の多くの商品や、あなたがyにxと、各行の最初の2文字を置き換えたいAでした !
おかげで!
あなたは、配列を参照し、通常のSanhaオーバー …
軍事オファー,
講義のためのQをありがとう.
私はあなたが作成したいどこにあるのをお願いしたいと思います 1 格納する配列 1 整数 100 その後、どのように数字ハァッQ ?
もっとQをありがとう.
だから、あなただけの配列を作成します 100 格納するための要素 100 数字. 計算した場合しかし、あなたは大きな数をカウントする方法を学ぶ必要があります.
Qオフラインに感謝
#含まれる
メインint型()
{
int型のn,で;
printfの(“行数を入力します。”);
scanf関数(“\トン%D”,&N);
int型A[N]= 0;
同時に (で < N)
{
printfの("nhap a[%D]\t",で);
scanf関数(の "%D", &ザ·[で]);
}
printfの("");
リターン 0;
}
なぜ、このCT電子zは、障害がBJを実行しています
あなたはどのように間違った記述します, しかし、間違った場所. Qどのように私は知っていました.
あなたは、交換しばらくの間、注文すべきです, また、そのように私++での不足が原因間違っています {} すでに
eはの#define MAXを尋ねました 10 手段の星先生
Đó có nghĩa là khai báo hằng số MAX có giá trị là 10
Anh ơi làm sao để nhập vào một mảng mà nó in ra màn hình theo 1 hàng ngang ngay từ khi nhập ạ
Bạn nhập các số tách nhau bằng dấu cách là được 🙂
Bạn ơi cho mình hỏi cái. Mình điểu khiển UNO nháy LED.
のために (I = 0;で<N;私 ) {digitalWrite(ザ·[で],HIGH); digitalWrite(ザ·[iは、1],LOW); ディレイ(200); };
Thì khi i =0. ザ·[0] HIGH, nhưng mà i-1 = -1 <0 配列は値を認識しないか、いずれかを選択することができます 1 以下のような配列の要素. Minhgのおかげ
私はから実行します 1 ある. または条件の制約Iの場合> 0 その後、新しいを書きます[iは、1]
I = 1の場合、A[0] K DC点滅, 特に注意は=書き留めなければなりません]]. ありがとうNHE,
#含まれる
無効入力(int型A[], int型のn)
{
int型の私;
printfの(“入力配列:\N”);
のために(I = 0;で<N;私 )
{
printfの("a[%D]=", で);
scanf関数(の "%D", &ザ·[で]);
}
}
無効出力(int型A[], int型のn)
{
int型の私;
printfの("Output Array:\n");
のために(I = 0;で<N;私 )
{
printfの("%-3d", ザ·[で]);
}
}
メインint型()
{
int型のn, で, ザ·[N];
printfの("n="); scanf関数(の "%D", &N);
入力(ザ·, N);
出力(ザ·, N);
リターン 0;
}
彼は、このコードは間違った場所をどうするか私に尋ねました, N = 8、次いで入るSegmetation障害SIR @@エラー
宣言された配列が正しくないため、[N] n値の前に.
eはなぜ電子ネットワークエントリを頼みます 1 次元の 10 分子エラー、マシンは先生を動作しません。. 仕上がりタイピングを行うことが出力されていない、常に先生です !
#含まれる
ボイドnhapmang(int型A[],int型のn)
{
int型の私;
のために(I = 0;で<N;私 )
{
printfの("nhap a[%D] ",で);scanf関数(の "%D",&ザ·[で]);
}
}
メインint型()
{
int型のn,最大= 0、I = 0;
printfの("nhap n");scanf関数(の "%D",&N);
int型A[N];
nhapmang(ザ·,N);
のために(I = 0;で<N;私 )
{ もし(マックス<ザ·[で]) 最大= A[で];
}
printfの(の "%D",マックス);
のために(I = 0;で<N;私 ){
もし(ザ·[で]=最大)printfの("%i");
他のprintf("*");
}
}
I nは実行時にいとこnhowfvoiws a.taiの星は、ああそう、すべてのポジションをイム
比較あなたはむしろ= NHEよりも==使用する必要があります。.
こんにちはファンティエット 2.1 私カイローンを宣言
ループ私のためにそれを使用するには.
#含まれる
メインint型(){
int型メートル[5],で,trungbinh = 0;
のために(I = 0;で<5;私 ){
printfの("nhap m[%D]",で);
scanf関数(の "%D",&M[で]);
}のために(I = 0;で<5;私 ){
trungbinh =(trungbinh + M[で])/5;
} printfの(の "%D",trungbinh);
}
tは、結果を実行すると、なぜtは尋ねるために 0 借ります
データ・ストレージ・アレイ 1 夜, ときに自動的に計算されました
最高経営責任者(CEO): S1 = 2, S2 = 9、…….,SN = N
配列、どの先生に値を保存..??
彼のおかげで
あなたはされている配列に値を代入します.
名前空間mangmotchieu
{
公共の部分クラスをForm1 : 形
{
公共のForm1()
{
InitializeComponent();
}
プライベートボイドlabel1_Click(オブジェクトの送信者, EventArgsの電子)
{
}
プライベート無効btnhap_Click(オブジェクトの送信者, EventArgsの電子)
{
int型のn;
int型[] ザ·;
{
N = int.Parse(txtnhapn.Text);
A =新しいint型[N + 1];
のために (int型のi = 0; で < N; 私 )
{
ザ·[で] = int.Parse(Microsoft.VisualBasic.Interaction.InputBox("nhập phan tử thứ" + (で + 1).ToStringメソッド()));
txtketqua.Text = txtketqua.Text + " " + ザ·[で].ToStringメソッド();
}
{
A =新しいint型[N + 1];
のために (int型のi = 0; で 0)
{
偽= btnhap.Enabled;
=真txtketqua.Enabled;
}
ほかに
{ MessageBox.Show(“nは正の整数を入力する必要があります”); }
{
txtnhapn.Text = “”;
txtnhapn.Focus();
}
}
誰もがプログラムセクションのベジタリアンは、ボタンを入力していないとき、私は、配列にvoi.khiテスト正の整数fはプログラムを書く助けてください
アレイ内のダーリン比較および要素の配置、なぜSIR
あなたはでましたか?? 任意の退職配列を比較し、それを並べ替えます, まだ行う方法を知らない場合でも、あなたはここで見ることができます: https://vi.wikipedia.org/wiki/S%E1%BA%AFp_x%E1%BA%BFp_n%E1%BB%95i_b%E1%BB%8Dt#Vi%E1%BA%BFt_b%E1%BA%B1ng_C++
#含まれる
メインint型()
{ int型のn;
int型A[N];
int型の最大;
printfの(“日付は比較可能性があり: “);
scanf関数(“%D”,&N);
のために(I = 1 int型;II)
{
最大= A[で];
}
もし(ザ·[で]>で)
{
最大= A[で];
}
}
printfの(“%D”, マックス);
リターン 0;
}
その最愛の最大数を見つけるCT, なぜあなたは単に間違った間違ったことをしたんです, まだ右のどの結果, あなたは、コードを見て、あなたに先生を説明願っています
優しく間違っ司祭. n個、キーボードから入力する必要があります番号を入力します。, あなたはどこキーボードから入力する必要が. ここでテストしました. https://chamcode.net
#含まれる
メインint型()
{ int型のn,で;
int型A[20];
int型の最大値= 0;
int型分= 1;
printfの(“日付は比較可能性があり: “);
scanf関数(“%D”,&N);
のために( i = 1から;で<= N;私 )
{ printfの("Nhap so thu %d: ",で);
scanf関数(の "%D", &ザ·[で]);
}
のために(i = 1から;で<= N;私 )
{
もし(最大= A[で])
{
分= A[で];
}
}
printfの(“%D%D”, マックス, 私に);
リターン 0;
}
彼だけ, この記事を参照してくださいねっ, 今、あなたは最高のそれに負の数を入力します。 0 miết最愛の人, と子供たちだけ, 私は、MAX = 0を宣言します; 最大=宣言した場合でも、 1 他の人が間違っ
初期最大= 0 すでに, すべての負を再入力して、再度、より多くの最大を持っています. 一見、次に入力した後、最大=最初の番号を割り当てる必要があります.
理解することは非常に簡単の記事. ユーチューブが、全体のコンセプトで見ます, 理解していない完了.
私が尋ねます 2 すべての中の場所 :
1.無効nhapMang(int型A[MAX][MAX], int型のn, int型メートル) これは、ボイドnhapMangとして空白なし理由MAX MAXです(int型A[], int型のn),MAXは何かの先生です.
2.フロート [5] = {3.4, 5, 7} => ザ·[4] = A[5] = 0 これはAです[4]= 7 A[5]= 0が、なぜ[4]= A[5].
プレート 2 方法は、アレイの最大数が存在すべきです, MAXは、最大数であります. 配列 1 方法必要はありません.
最高経営責任者(CEO: フロート [5] = {3.4, 5, 7} => A[4] = A[5] = 0. 第二の要素手段 4 そして、目 5 = 0のみからの宣言のために 0 へ 3 しかし.
Eは、まだかなりの先生を理解していません. だから、配列a[5] しなければなりません 6 形容詞のための要素 0 へ 5 サー ( ある合計 6 括弧内の数字).
しかし、私は要素の多くを持っていない理由のレコードのように数カッコ内の数と等しく
最高経営責任者(CEO: int型A[] = {3,6,2,5} => 配列 4 要素に対応する値を受信する.
ああ, お気の毒, ここで少しバグ, すなわちのみ[4] = 0 停止, いません[5], Aからのみ[0] へ[4] 配列宣言理由 5 要素, 初期の初期化 4 シャトル, 最後には、それが初期化されていません 0.
#含まれる
メインint型(){
int型のn;
printfの(“\nNhap so luong phan tu n = “);
scanf関数(“%D”, &N);
int型A[N];
のために(int型のi = 0; で < N; 私 ){
printfの("\nNhap a[%D] = ",で);
scanf関数(の "%D", &ザ·[で]);
}
int tg;
int型の最大;
max=n*(-1)/2;
printfの("max %d ",マックス);
のために(I = 0 int型 ;で<マックス;私 ){
のために(int j=i+1;私は持っている[J]){
tg = a[で];
ザ·[で] = A[J];
ザ·[J] = tg;
}
}
}
printfの(“\nMang da sap xep la: “);
のために(int型のi = 0; で <N; 私 ){
printfの("%5d", ザ·[で]);
}
リターン 0;
}
先生、小さいものから大きいものまで並べていきます, n=1,2,3,4 と入力しても、次のように入力するまでは正常に動作します。 5 数値が大きい場合は誤りです ?
この for ループの何が問題なのでしょうか?”のために(int j=i+1;私は持っている[J]){“
ウェイター, 配列 a を宣言する場所[N] いつもエラーだ, ユーザーに何を入力すればよいかを伝えることができない!
質問させてください。ユーザーが要素数を配列に直接入力できるようにする方法はありますか??
入力後、eを宣言します.
void main と int main が使用される場合について質問してもいいですか????
どれでも使えます, しかし今では int を使用します.
私の学校では関数の前に配列を教えているかどうか教えていただけますか? どの Web サイトも配列の前に関数を教えているようですが、大丈夫ですか?
大丈夫.