列出力について

[戻る]
初心者 2003/09/02(火) 14:37:18
この前は有難うございました。
助かりました。
また、質問があるのですが、少しだけお付き合いください。
下のソースを実行すると
1234123412341234・・・と1234がループの数だけ実行されますが
これを
111
222
333
444
となるように実行するにはどうしたらよいですか。
他の掲示板でよく似たことを質問されていた方がいらっしゃいましたが良く分からない
ためご教授くださいませ。
#include <stdio.h>
#include <string.h>

void print_matrix( int* x, int n, int m ) {
    int i;
    int j;
    for( i = 0; i < n; i++ ) {
        for( j = 0; j < m; j++ ) {
            printf( "%d ", x[i*n+j] );
        }
        printf( "\n" );
    }
    return;
}

int main()
{
     int i;
     int j;
    int a[4] = {1,2,3,4};
    int b[2][2];
memcpy( b, a, sizeof(b) );
    
    
        print_matrix( (int*)b, 2, 2 );//キャスト
        int count;
        for(count=0;count<10;count++){
        for(i=0;i<4;i++)
        {
        a[i];
        printf("%d\n",a[i]);
        }
}
    return 0;

}

ぺん 2003/09/02(火) 16:54:31
bは関係ないんだよね?aの内容でしょ?
単にループlの数だけ回したらだめ?
for(int k = 0; k < 4; k++){
for(int i = 0; i < l; i++){
printf("%d", a[k]);
}
printf("\n");
}

初心者 2003/09/02(火) 17:25:58
すいません。
#include <stdio.h>
#include <string.h>



int main()
{
     int i,j;
    
    int a[12] = {1,2,3,4,5,6,7,8,9,10,11,12};
    
    
        
        
for(int count = 0; count <4 ; count++){
for(int i = 0; i < 10; i++){
printf("%d", a[count]);
}
printf("\n");
}


       
    return 0;

}
言葉が足りませんでした。このaの中で特定の数だけを抜き出したいんです。宜しくお願
いします。
159
2610
3711
4812

ぺん 2003/09/02(火) 18:42:27
そのように4つおきに3つ取るだけなら、
for(int i = 0; i < 4; i++){
for(int k = 0; k < 3; k++){
printf("%d", count[i+(k*4)]);
}
printf("\n");
}

初心者 2003/09/02(火) 18:48:42
べん様
有難うございます!!
できました。
感謝です。

初心者 2003/09/02(火) 18:48:53
[[解決]]
本当に有難うございました。

古いスレッドには追加発言できません。