- ベストアンサー
基本情報
for(int i = 0, j = 0; i < 10; i++, j++) .... とありますがこれはなんでしょうか? ++とはforとは どなたかよろしくお願いします つまずいています
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (4)
- Eririka
- ベストアンサー率33% (2/6)
![noname#156136](https://gazo.okwave.jp/okwave/images/contents/av_nophoto_100_4.gif)
- edomin7777
- ベストアンサー率40% (711/1750)
- 山田 太郎(@testman199)
- ベストアンサー率17% (438/2463)
関連する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; }
- ベストアンサー
- C・C++・C#
- 再帰呼び出しについて(基本)
#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・C++・C#
- 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・C++・C#
- 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++・C#
- 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++・C#
- 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++) { 式や文 } } としなければいけないのかということです。 一応調べてはみたのですが、確証が持てないので… よろしくお願いします。
- 締切済み
- C・C++・C#
- 配列のエラーが出る(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; よろしくお願いします。
- ベストアンサー
- C・C++・C#
- MacBook ProでCanon G-1を使用して写真を印刷しようとすると、ピンク色になって印刷されてしまう問題が発生しました。
- 過去にHigh Sierraで同じプリンタを使用していた際は、プロファイルを当てるだけで綺麗に印刷できていましたが、macOS13.4.1に買い替えた後に問題が発生しました。
- プリントする際にプリンタ側の設定を変更する必要があるのか、何か他の設定が間違っているのか、わからないため、質問しています。