count⇒
1 2 3 4 5 6 7 8 下:turn
* * * * * * * *
* * * * * * *
* * * *
* * *
*
このような形で配列として取り出したいのですが、方法が分かりません。
本当に宜しくお願いします。
現在*の値を左上から順番(この図ですと)に取り出すところまでできています。
ptr= &A;//ポインタ
ER[count][turn]= *ptr;
Aには*が全て格納されています。
for(count=0 ; count<10; count++){
for(turn=0 ; turn<10; turn++){
/*
何らかの処理によってAを計算する。
そのときAは10個以内の値です。
*/
ptr= &A;//ポインタ
ER[count][turn]= *ptr;
}
}
count⇒
1 2 3 4 5 6 7 8 下:turn
* * * * * * * *
* * * * * * *
* * * *
* * *
*
この隙間を0で埋めることはできるのでしょうか?
宜しくお願いします。
ずっとつまっています。
どなたかご教授ください!お願いします。
count⇒
1 2 3 4 5 6 7 8 下:turn
* * * * * * * *
* * * * * * *
* * * *
* * *
*
この配列の隙間を0で埋め以下のようにする方法はありますか?
count⇒
1 2 3 4 5 6 7 8 下:turn
* * * * * * * *
* * * * 0 * * *
* 0 * * 0 0 * *
* 0 0 * 0 0 0 *
* 0 0 0 0 0 0 0
ERの型は何ですか?
> どなたかご教授ください!お願いします。
質問内容がよく理解できないのでお答えするのは難しいです。
とりあえず、下記内容を明確にしてはどうでしょう。
1.質問内容に出てくる変数の型(一つも書いてないのでよくわからないです)
2.元になるデータが具体的に、どのように格納されているか不明
3.開発環境が不明(VCのバージョン、MFCの使用有無等)
質問の前提条件が明確になれば、ひょっとしたら回答もくるかもしれません。
皆様有難うございます。
ERの方はdoubleです。
>1.質問内容に出てくる変数の型(一つも書いてないのでよくわからないです)
>2.元になるデータが具体的に、どのように格納されているか不明
上に示しましたとおり
Aには*が全て格納されています。
for(count=0 ; count<10; count++){
for(turn=0 ; turn<10; turn++){
/*
for{
何らかの処理によってAを計算する。
そのときAは10個以内の値です。
(ここではAがある値がきたらbreakする。)
}
*/
ptr= &A;//ポインタ
ER[count][turn]= *ptr;
}
}
そのためAには1つのデータの時もあれば6つ、5つといった値のときもあります。
そこで、breakしたらそのあとは0にしてすべて同じ個数で統一したいのですが分かりま
せん。
count⇒
1 2 3 4 5 6 7 8 下:turn
* * * * * * * *
* * * * 0 * * *
* 0 * * 0 0 * *
* 0 0 * 0 0 0 *
* 0 0 0 0 0 0 0
本当に申し訳ないです。宜しくお願いします。
>3.開発環境が不明(VCのバージョン、MFCの使用有無等)
windowsXP VC++6.0 コンソールアプリです。
最初に全部0で埋めとくというのはダメなんですか?
あとすいません。
以下は理想の形で
count⇒
1 2 3 4 5 6 7 8 下:turn
* * * * * * * *
* * * * 0 * * *
* 0 * * 0 0 * *
* 0 0 * 0 0 0 *
* 0 0 0 0 0 0 0
現在は
1
*
*
*
*
*
2
*
*
0
0
0
3 といったような出力になっています。
皆様方いろいろ有難うございます。
>最初に全部0で埋めとくというのはダメなんですか?
0が収束値ではないです。
>> 最初に全部0で埋めとくというのはダメなんですか?
> 0が収束値ではないです。
はぁ? あなたのこれまでの説明はウソだったのですか?
隙間を埋める値は0とは限らないということですか?
絶対に用いられない値で埋めておき、あとでその値のとこだけ
すりかえてしまうのは?
>最初に全部0で埋めとくというのはダメなんですか?
すいません。隙間は0で埋めておきたいです。
結局やりたい事はわからないのですが、何かの参考になればレベルのサンプルです。
char A[] = { '*', '*', '*', '*', '*', '*', '*', '*',
'*', '*', '*', '*', ' ', '*', '*', '*',
'*', ' ', '*', '*', ' ', ' ', '*', '*',
'*', ' ', '*', '*', ' ', ' ', ' ', '*',
'*', ' ', ' ', '*', ' ', ' ', ' ', '*',
'*', ' ', ' ', ' ', ' ', ' ', ' ', ' ' } ;
int main()
{
int turn, count ;
double ER[10][10] ;
printf( count⇒ \n);
printf(1 2 3 4 5 6 7 8 下:turn \n);
/* Aには*が全て格納されています。 */
for(turn=0 ; turn<10; turn++){
for(count=0 ; count<10; count++){
printf(%c, A[turn*8+count]);
/*
for{
何らかの処理によってAを計算する。
そのときAは10個以内の値です。
(ここではAがある値がきたらbreakする。)
}
*/
/* ptr= &A;//ポインタ */ /* これはよくわからない */
/* ER[count][turn]= *ptr; */
}
printf(\n) ;
}
}
※コンパイルとかしてません。
>> 最初に全部0で埋めとくというのはダメなんですか?
> すいません。隙間は0で埋めておきたいです。
ワケわかんね。
全部0で埋めておいて、そこにデータを載せていけばいいんじゃないのかなぁ…
// 練習1.cpp : コンソール アプリケーション用のエントリ ポイントの定義
//
皆様有難うございます。
皆様すいません。表現力が乏しいので申し訳ないです。
宜しくお願いします。
#includestdafx.h
#include <stdio.h>
int main()
{
int turn, count ;
double ER[10][10] ;
printf( count⇒ \n);
printf(1 2 3 4 5 6 7 8 下:turn \n);
/* Aには*が全て格納されています。 */
for(turn=0 ; turn<10; turn++){
for(count=0 ; count<10; count++){
/*
for{
何らかの処理によってAを計算する。
そのときAは10個以内の値です。
(ここではAがある値がきたらbreakする。)
}
*/
ptr= &A;//ここでcountごとに出力されるAを取り出します。
ER[count][turn]= *ptr;
printf(%c,ER[count][turn]);
//ここで以下のように出力されます。
/*
1(space)
*
*
*
*
*
2(space)
*
*
3(space)
count分続く
この並びをんさんが書いてくださったような以下のような並びに変換します */
}
printf(\n) ;
}
}//main
/*
char A[] = { '*', '*', '*', '*', '*', '*', '*', '*',
'*', '*', '*', '*', ' ', '*', '*', '*',
'*', ' ', '*', '*', ' ', ' ', '*', '*',
'*', ' ', '*', '*', ' ', ' ', ' ', '*',
'*', ' ', ' ', '*', ' ', ' ', ' ', '*',
'*', ' ', ' ', ' ', ' ', ' ', ' ', ' ' } ;
*にはdoubleの数値が入りましてスペースには0が入るもの
を最終的に出力したいと考えています。