• ベストアンサー

基本情報

for(int i = 0, j = 0; i < 10; i++, j++) .... とありますがこれはなんでしょうか? ++とはforとは どなたかよろしくお願いします つまずいています

質問者が選んだベストアンサー

  • ベストアンサー
  • ovtave-G
  • ベストアンサー率42% (68/159)
回答No.5

皆様の回答と同様になりますが、 「i++」などの++という表記はインクリメンタル(+1する)なのですが、実は「++」という表記はC言語のバグなのです。 #memfreeも知らないプログラマが多いことにびっくりしました。嘆かわしい。「コンパイラでフリーにしてくれるから」とSE時代に言われましたが、明示するのが礼儀です。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (4)

  • Eririka
  • ベストアンサー率33% (2/6)
回答No.4

擬似言語と比べてみましょう。

全文を見る
すると、全ての回答が全文表示されます。
noname#156136
noname#156136
回答No.3

C言語を勉強されているのですよね? C言語の参考書に必ず書いてある基本的な文法です。 i = 0, j = 0 … 変数 i と j の初期値をそれぞれ 0 として、ループに入る。 i++, j++ … ループ1回ごとに、変数 i と j をインクリメント(1ずつ加算)する。 i < 10 … i が10より小さい間、処理を繰り返す。(i が10以上になったら、ループを抜ける)

全文を見る
すると、全ての回答が全文表示されます。
  • edomin7777
  • ベストアンサー率40% (711/1750)
回答No.2

それくらい、調べられるでしょ? http://www9.plala.or.jp/sgwr-t/ http://9cguide.appspot.com/ for http://www9.plala.or.jp/sgwr-t/c/sec06-2.html ++ http://www9.plala.or.jp/sgwr-t/c/sec03.html#s3-3 それくらい、自分で調べられるようじゃなきゃ無理だと思うけど…。

全文を見る
すると、全ての回答が全文表示されます。
回答No.1
全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 基本情報

    http://情報処理試験.jp/FE22b-pm/t09.html void update_wait_time(int bus_id, int busstop, 14 BUSSTOP route[STPNUM], BUS bus[BUSNUM]) { 15 int preceding = STPNUM - 1, succeeding = -1, i, j; 16 /* バスの走行位置, succeeding と preceding の更新 */ 17 for (j = 0; j < BUSNUM; j++) { 18 if ( ) { の本質が解りません 簡単にこうこうでこうなってますなど あとforと++の意味が解りません すいませんが教えていただけませんでしょうか お願いします

  • 基本選択法

    宜しくお願いします。 基本選択法のプログラムを書いていますが、コンパイルは通りますが、うまくソートされません。 改良点をご教示ください。 #課題ではありません。 #include <stdio.h> int getMin(int in[], int n, int a); void swap(int *m, int *n); int main(void) {   int a[10] = { 84, 121, 43, 93, 140, 83, 14, 93, 181, 58};   int i, j, k;   for(i=0; i<10; i++){     k = getMin(a, 10, i);     swap(&a[i], &a[k]);     for(j=0; j<10; j++){       printf("a[%d] = %d ", j, a[j]);     }     printf("\n");   }   return 0; } void swap(int *m, int *n) {   int tmp;   tmp = *m;   *m = *n;   *n = tmp; } int getMin(int in[], int n, int a) {   int i, ret, min;   min = in[a];   ret = 0;   for(i = a; i < n; i++)   {     if(in[i] < min){       min = in[i];       ret = i;     }   }   return ret; }

  • 再帰呼び出しについて(基本)

    #include <stdio.h> void dan(int i); void kuku(void); void dan(int i) { int j; for (j = 1; j <= 9; j++) printf("%3d", i*j); putchar('\n'); } void kuku(void) { int i; for (i = 1; i <= 9; i++) dan(i); } int main(void) { kuku( ); return(0); } というプログラムがあるのですが、danとkukuを再帰呼び出しにしたいのですが、再帰の仕方がまったく分かりません。 知り合いに聞くと、両関数の引数を1つずつ増やすとよいと言われたのですが、手をつけられない状態です。 よろしくご教授お願いします。

  • C++のfor文について

    C++では for ( int i = 0, j = 0; i < 10; i++ ) { } みたいな感じでforのなかで変数の宣言ができます。 ところで上の例ですとint型のiとjを2つ宣言していますが、 もしint型とchar型を宣言したい場合などは char j; for ( int i = 0; i < 10; i++ ) { } みたいにしないといけないのでしょうか? for ( int i = 0, char j; i < 10; i++ ) { } みたいにできると思ってやったらエラーになってしまうので・・。

  • C++ の多次元配列なんですが

    int i,j; int (*p)[2][3]; int *x; int a[2][3] = {{1,2,3},{4,5,6}}; p = &a; x = &a[0][0]; for ( i = 0; i < 2; i++ ) { for ( j = 0; j < 3; j++) { printf (" %d", (*p)[i][j]); } } printf (" | "); for ( i = 0; i < 2; i++ ) { for ( j = 0; j < 3; j++) { printf (" %d", *(x + ( i * 3 + j )) ); } } printf (" | "); for ( i = 0; i < 6; i++ ) { printf (" %d", *(x + i) ); } これで大丈夫でしょか?

  • C言語で行列の積を計算できるような関数を作って疑問に思ったことがありま

    C言語で行列の積を計算できるような関数を作って疑問に思ったことがあります。 まず↓のような2x3行列と3x2行列が計算できる関数を作りました、、 #include <stdio.h> void mul(const int ma[2][3],const int mb[3][2],int mc[2][2]) { int i,j,k; for(i = 0; i < 2; i++) for(j = 0;j < 2;j++) for(k=0;k<3;k++) mc[i][j]+=ma[i][k]*mb[k][j]; } int main(void) { int i,j; int ma[2][3] ={{1,2,3},{4,5,6}}; int mb[3][2] ={{7,8},{9,0},{1,2}}; int mc[2][2] ={0}; mul(ma,mb,mc); for(i = 0;i < 2; i++) { for(j = 0;j < 2;j++) printf("%4d",mc[i][j]); putchar('\n'); } eturn(0); } ---------------------------------- これをmxn,nxp行列で計算できるような関数にしたいと思い 下のようにしたのですがエラーになります。どうしたらいいでしょうか・・? #include <stdio.h> void mul(const int ma[int m][int n],const int mb[int n][int p],int mc[m][p]) { int i,j,k; for(i=0;i<m;i++) for(j=0;j<p;j++) for(k=0;k<n;k++) mc[i][j]+=ma[i][k]*mb[k][j]; } int main(void) {int i,j; int ma[2][3] ={{1,2,3},{4,5,6}}; int mb[3][2] ={{7,8},{9,0},{1,2}}; int mc[2][2] ={0}; mul(ma,mb,mc); for(i = 0;i < 2; i++) {for(j = 0;j < 2;j++) printf("%4d",mc[i][j]); putchar('\n');} return(0);}

  • C言語の問題で一部分からないところがあります。

    C言語の問題で2つの4x4行列の2次元配列に格納し、それらの積を求めるというプログラムで以下のような関数を作成しました。 #include <stdio.h> void m_ena(int a0[4][4], int a1[4][4], int result[4][4]); int main(void) { } void m_ena(int a0[4][4], int a1[4][4], int result[4][4]) { int a[4][4], b[4][4], r[4][4]; int i, j; for(i=0; i<4; i++){ for(j=0; j<4; j++){ scanf("%d", &a[i][j]); } } for(i=0; i<4; i++){ for(j=0; j<4; j++){ scanf("%d", &b[i][j]); } } for(i=0; i<4; i++){ for(j=0; j<4; j++){ r[4][4] = a[i][j]*b[i][j]; } } } ここまで出来たのはいいのですが、これ以降どのようにメイン関数に書けばいいのか分からず困っています。 この問題は必ず上記関数を使う必要がありますのでどうぞよろしくお願いします。

  • 情報処理のバブルソートの問題について質問します。

    情報処理のバブルソートの問題について質問します。 #include <stdio.h> int main(void) { double x[5]={6.0, 9.0, 2.0, 10.0, 8.0}; int i,j; int n=5; double temp; /* 初期状態の表示 */ printf("並べ替え前の並びは以下の通り:\n"); for (i=0; i<n; i++) { printf("%f,\t",x[i]); } printf("\n"); for (i=0; i<n-1; i++) { for (j=i+1; j<n; j++) { if (x[j] > x[i]) { temp = x[i]; x[i]=x[j]; x[j]=temp; } } } printf("大きい順に並べ替えた結果は以下の通り:\n"); for (i=0; i<n; i++) { printf("%f,\t",x[i]); } printf("\n"); return 0; } というプログラムを用いて行ってみたのですが、 これは王様ソートというプログラムだと言われました。 どのように換えればバブルソートになるのでしょうか?

  • for文におけるiなどの整数の使用回数

    for文は int i; for(i=0;i<10;i++) { 式や文 } のように使いますが、このiは何度でも使ってもよいのでしょうか? たとえば、 int i,j; for(i=0;i<10;i++) { for(j=0;j<10;j++) { 式や文 } } for(i=0;i<10;i++) { for(j=0;j<10;j++) { 式や文 } } としてもよいのか、あるいは、 int i,j,k,l; for(i=0;i<10;i++) { for(j=0;j<10;j++) { 式や文 } } for(k=0;k<10;k++) { for(l=0;l<10;l++) { 式や文 } } としなければいけないのかということです。 一応調べてはみたのですが、確証が持てないので… よろしくお願いします。

  • 配列のエラーが出る(opencv)

    3次元配列を用いて、ルックアップテーブルを作成しているのですが、下のようなエラーが出て困っています。 『○○○の 0x000000013f336f85 でハンドルされていない例外が発生しました: 0xC0000005: 場所 0xffffffffffffffff を読み込み中にアクセス違反が発生しました。』 いろいろ調べてみたのですが、私自身の力だけでは解読できません。 どうぞよろしくお願いします。 //LUTの作成 int ***LUT = new int**[180]; for(int i=0;i<180;i++){ LUT[i] = new int*[255]; } for(int i=0;i<180;i++){ for(int j=0;j<255;j++){ LUT[i][j] = new int[255]; } } for(int i = 0; i < 180; i++){ for(int j = 0; j < 255; j++){ for( int k = 0; k < 255; k++){ LUT[i][j][k]= 0; if(6 < i && i< 38){ if( 79 < j && j < 256){ if( 0 <= k){ LUT[i][j][k] = 1; } } } } } } //LUT作成終了 cvCvtColor(image3, image5, CV_BGR2HSV); IplImage* image5 = cvCreateImage(cvSize(640, 480), IPL_DEPTH_8U, 3); //if(hand == 0){ for(int i = 0; i < 480; i++){ for(int j = 0; j <680 ; j++){ //判定(LUT[ Hの値 ][ Sの値 ][ Vの値 ] ) if((LUT[(unsigned char)image5->imageData[( i * image5->widthStep + j) * 3 + 0]] [(unsigned char)image5->imageData[( i * image5->widthStep + j) * 3 + 1]] [(unsigned char)image5->imageData[( i * image5->widthStep + j) * 3 + 2]]) == 1){ printf("1\n"); } else{ printf("0\n"); } } } //LUT no atosyori for(int i=0;i<180;i++){ for(int j=0;j<255;j++){ delete[] LUT[i][j]; } } for(int i=0;i<180;i++){ delete[] LUT[i]; } delete[] LUT; よろしくお願いします。

このQ&Aのポイント
  • MacBook ProでCanon G-1を使用して写真を印刷しようとすると、ピンク色になって印刷されてしまう問題が発生しました。
  • 過去にHigh Sierraで同じプリンタを使用していた際は、プロファイルを当てるだけで綺麗に印刷できていましたが、macOS13.4.1に買い替えた後に問題が発生しました。
  • プリントする際にプリンタ側の設定を変更する必要があるのか、何か他の設定が間違っているのか、わからないため、質問しています。
回答を見る

専門家に質問してみよう