![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?c9bd177)
お世話になっております。
配列のサイズを動的に拡張について悩んでおります。例えばint x[5]という配列があって、データが埋まったら動的にx[6]にする・・
っといったものです。自分で試行錯誤した結果、以下のようなプログラムを作成しました。
int *data,count=0,num=10;// グローバル変数
// 配列にデータを加える関数add
void add(int t){
if(count+1>num){ // サイズを超えたら配列をサイズを+1
int i,*tmp_data;
tmp_data = new int [count];
for(i=0;i<num;i++) tmp_data[i] = data[i]; // 一時的に保存
delete[] data; // 古いのを消す
data = new int [num+1]; // 新しく作る
for(i=0;i<num;i++) data[i] = tmp_data[i]; // 新しいのにコピー
num+=1; // 最大値をプラス
data[count]=t;
delete[] tmp_data;
}
else data[count]=t;
count++; // 入力されたカウントをプラス
}
main関数内で、data = new int [10];と宣言し、add(3);のように使用しています。またnewのメモリ確保のエラー処理は省いております。
動くことは動くのですが・・ご覧の通り、グローバル変数が3つになり、データをコピーしたりと、複雑になってしまいました。
もっと簡単に出来るのでは・・っと思い質問させて頂きました。
こうすれば、もっと簡単になるよ!など。。ご回答頂ければ幸いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- C言語・C++・C# c言語の問題です 課題1 (二分探索木とセット) 大きさ size の配列 array を考える。す 2 2023/01/10 21:08
- C言語・C++・C# pythonのファイルの並びでの読み込みとリストについて 4 2022/04/13 03:52
- C言語・C++・C# 10個の実数に対する降順ソート結果を出力するプログラムを作りたいのですが、以下のプログラムをどう直せ 1 2022/07/09 22:16
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- C言語・C++・C# 質問です 下記のコードを分かりやすく解説お願いします 初心者です #include ‹stdio.h 3 2022/05/26 22:03
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ランダムでかぶらないように4...
-
perlで読み込んだURLを配列に入...
-
ファイルから読み込んで配列へ
-
時刻表を分でソートする方法を...
-
バッチファイルの作り方(CSV→...
-
openした後、closeしないでプロ...
-
Perlでファイル出力時にデッド...
-
VBAでCSVファイルを途中行まで...
-
改行コードが勝手に
-
ReadLineでの読み出し行を指定する
-
vba dir の相対パス
-
Perlの変数に文字数制限(容量...
-
ExcelをCSV書き出す場合のシー...
-
batファイルでrenameができませ...
-
fgets で値が取得できない
-
C++でのテキストファイル読み込...
-
文字コードの変換(Shift-JISか...
-
Windowsで複数のファイルを同じ...
-
タブの色を変更する方法
-
下のディレクトリ(3つ)に含ま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
perlで複数行のデータを自由に...
-
配列の中に重複文字列があるか...
-
Visual C++を用いたシリアル通信
-
C言語のバイナリモードでのfsca...
-
perl-cgi 文字の長さでソートし...
-
Perl ファイルを読込んで日付の...
-
Pythonの再帰関数の動作の流れ...
-
条件判定文でのパタンマッチが...
-
@の配列変数ではなく$のスカラ...
-
C言語でバイナリファイルの読み...
-
データの日付でソートをしたい
-
配列のサイズを動的に拡張
-
単純なお問い合わせフォーム
-
3行ずつ足す
-
どのようなプログラムをつくれ...
-
VBAでCSVファイルを途中行まで...
-
awkスクリプトでダブルクォーテ...
-
VBAでCSVファイルの特定行を書...
-
バッチファイルの作り方(CSV→...
-
openした後、closeしないでプロ...
おすすめ情報