回答数
気になる
-
C言語の質問です HTMLでこのようなコードを書いたのですがそれをC言語で同じように書きたいです <
C言語の質問です HTMLでこのようなコードを書いたのですがそれをC言語で同じように書きたいです <!DOCTYPE html><head><body><script> for(var a=1;a<30;a++) { var str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ134567890"; var strLen = str.length; var B = ""; for (var i = 0; i <100; i++) { B += str[Math.floor(Math.random() * strLen)]; } console.log(B); document.write(B+"<BR>"+"<BR>") } </script></body></html>これをC言語で同じ結果になるようなコードを書けないでしょうか? パスワードのような物を生成したいんです お願いしますm(*_ _)m
質問日時: 2022/08/11 23:38 質問者: woo1024
ベストアンサー
1
1
-
コンピュータでいう「割り込み」とはどういう意味ですか?わかりやすく教えてほしいです。
コンピュータでいう「割り込み」とはどういう意味ですか?わかりやすく教えてほしいです。
質問日時: 2022/08/08 13:59 質問者: くるぶしねっく
解決済
4
0
-
Makefileのechoの展開について
以下のMakefileを実行した場合、 foo bar fooey barney という結果を予測していましたが、実際は以下の通り、異なる結果でした。 foo fooey barney bar fooey barney と展開される理由をご教授いただけると幸いです。 $ @の変数が一つずつ展開されているように見えますが、その認識で合っていますでしょうか? ■Makefile FOO= foo BAR = bar FOOBAR = $(FOO)$(BAR) all: $(FOOBAR) $(FOOBAR): @echo $ @ $(FOOBAR) FOO = fooey BAR = barney ■実行結果 $ make foo fooey barney bar fooey barney
質問日時: 2022/07/26 07:35 質問者: 愛優笑生
ベストアンサー
2
0
-
(C言語・配列)date[i]の分散を計算する場合
for (i=0; i<n; i++) dev=dev+(ave-data[i])*(ave-data[i]); 分散の式のところだけなんですけど、これであってますか? ご回答お願いします。 ※dev=分散、ave=平均です。
質問日時: 2022/07/24 15:06 質問者: ys0212
ベストアンサー
2
0
-
LU分解法のピボット選択機能実装について(C言語・gcc-9)
C言語の質問です。 講義の最終テストが終わったので講義で飛ばされた「LU分解法にピボット選択機能をつけたプログラム」を実装しようと思い試行錯誤したのですが、どうにもうまく実装できません。とはいえまだ他の講義のテストはまだ全然終わっていないのであまり時間をかけたくないのが正直なところです。どなたか、説明なしの答えだけでも良いので教えていただけませんか? 参考までに以下に、ピボット機能なしのプログラムコードを貼っておきます。 *連立方程式を 「aw+bx+cy+dz=e fw+gx+hy+iz=j kw+lx+my+nz=o pw+qx+ry+sz=t」 と置くと、標準入力として a b c d f g h i k l m n p q r s e j o t と入力し、答えを表示させるコードになります。(見にくくてすみません。講義で取り扱ったピボット選択機能なし版LU分解法のコードの問題がこの入力方式だったもので...) (コード) #include <stdio.h> #define M 4 int main(){ //変数宣⾔ double a[M][M]; double b[M]; double c[M]; double l[M][M]; double u[M][M]; double x[M]; int i, j, k; //⼊⼒データの受け取り for(i=0;i<M;i++){ for(j=0;j<M;j++) scanf("%lf",&a[i][j]); } for(i=0;i<M;i++){ scanf("%lf",&b[i]); } //L⾏列,U⾏列の初期化 for(i = 0; i < M; i++){ /* L行列,U行列を1と0で初期化 */ for(j = 0; j < M; j++){ u[i][j] = 0; if(i == j) l[i][j] = 1; else l[i][j] = 0; } } //⼊⼒⾏列の出⼒(ピボッティングでa⾏列を操作するため事前に出⼒) printf("⼊⼒⾏列\n"); for(i=0;i<M;i++){ for(j=0;j<M;j++){ printf("%10.5lf",a[i][j]); } printf("%10.5lf\n",b[i]); } //結果の出⼒ for(i = 0; i < M; i++){ for(j = i; j < M; j++){ /* U行列の生成 */ u[i][j] = a[i][j]; for(k = 0; k < i; k++){ u[i][j] -= u[k][j] * l[i][k]; } } for(j = i+1; j < M; j++){ /* L行列の生成 */ l[j][i] = a[j][i]; for(k = 0; k < i; k++){ l[j][i] -= u[k][i] * l[j][k]; } l[j][i] /= u[i][i]; } } for(i = 0; i < M; i++){ /* c行列の生成 */ c[i] = b[i]; for(j = 0; j < i; j++){ c[i] -= l[i][j] * c[j]; } } for(i = M - 1; i >= 0; i--){ /* x行列の生成 */ x[i] = c[i]; for(j = M - 1; j > i; j--){ x[i] -= u[i][j] * x[j]; } x[i] /= u[i][i]; } //L⾏列 printf("\nL⾏列\n"); for(i=0;i<M;i++){ for(j=0;j<M;j++){ printf("%10.5lf",l[i][j]); } printf("\n"); } //U⾏列 printf("\nU⾏列\n"); for(i=0;i<M;i++){ for(j=0;j<M;j++){ printf("%10.5lf",u[i][j]); } printf("\n"); } //解の出⼒ printf("\n答え\n"); for(i=0;i<M;i++){ printf("%10.5lf\n",x[i]); }
質問日時: 2022/07/22 15:20 質問者: Murasame652
ベストアンサー
1
0
-
C# 継承の問題で programに示された拡張をすべて含んだ上で,クラス Mammal に,そのオ
C# 継承の問題で programに示された拡張をすべて含んだ上で,クラス Mammal に,そのオブジェクトの種類(もしくはクラス名)と,名前,重さと鳴き声を表示するメソッド show() を定義する 写真のところまでは行けたのですが続きが分かりません。 どなたか教えて欲しいのですが?誰かいませんか?
質問日時: 2022/07/22 09:48 質問者: きめたーかめ
解決済
1
0
-
至急お願いします。プログラミングの問題です。 malloc 関数を使って教えてください。 入出力例1
至急お願いします。プログラミングの問題です。 malloc 関数を使って教えてください。 入出力例1のように、最初に正の整数nの入力を受け付け、次にn個の実数の入力をうけつけて、順に出力するプログラムex14-1.cを作成せよ。少なくとも入出力例1と全く同じ入出力を再現できること。 入出力例1 n: 3(ここは入力例) a[0]: 1.2(ここは入力例) a[1]: 3.4(ここは入力例) a[2]: 5.6(ここは入力例) a[0]=1.200000 a[1]=3.400000 a[2]=5.600000
質問日時: 2022/07/21 09:36 質問者: もりもりポテト
解決済
3
0
-
至急教えてください。プログラミングの問題です。 malloc関数を使ってください!お願いします! 最
至急教えてください。プログラミングの問題です。 malloc関数を使ってください!お願いします! 最初に正の整数nの入力を受け付け、次に分数の分子と分母を意味する整数のn組の入力を受け付けて、全部の分数の和の式を出力するプログラムex 14-2.cを完成させよ。少なくとも入出力例2と全く同じ入出力を再現すること。入力値は正の整数のみを考えれば良い。表示される分数は約分されなくて良い。分母が1の時でも分数表現のままで良い。ただしex-14.2.cの作成にあたっては以下の条件を満たすこと。 ・main関数の中は、追記しかできず(削除できない)追記箇所は//の左側のみとする。printf文は追記できない。 ・main関数の外にも追記してよく、こちらはprintf文も追記できるが、グローバル変数、実数、は用いらないこと。 入出力例2 n: 3(ここは入力例) x1: 1(ここは入力例) y2: 2(ここは入力例) x2: 3(ここは入力例) y2: 4(ここは入力例) x3: 5(ここは入力例) y3: 6(ここは入力例) 1/2+3/4+5/6 ex14-2.c #include <stdio.h>int main(void) { int i,n; // printf(“n:\n”); scanf(“%d”,&n); // for(i=0;i<n;i++) { printf(“x%d:\n”,i+1); // printf(“y%d:\n”,i+1); // } sum(n,z); // return 0; }
質問日時: 2022/07/21 09:28 質問者: もりもりポテト
解決済
1
0
-
C言語
5つのテキストファイル(txt)から定義した構造体の型の配列((定義した型)a[5])を用意して、それぞれのファイルからa[0]〜の構造体のメンバにデータを格納したく、ループで行ったのですが、何故か、a[0]〜a[4]の各メンバが同じ値となってしまいます。理由を教えてください
質問日時: 2022/07/21 00:02 質問者: ぶんと
解決済
2
1
-
至急お願いします。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分母
至急お願いします。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分母を意味する整数のn組の入力を受け付けて、全部の分数の和の「式と結果」を出力するプログラムex14-3.cを完成させよ。少なくとも入出力例3と全く同じ入出力を再現すること。入力値は正の整数のみを考えれば良い。表示される分数は約分されなくて良い。分母が1の時でも分数表現のままで良い。ただしex14-3.cの作成にあたっては以下の条件を満たすこと。 ・main関数の中は、追記しかできず(削除できない)追記箇所は//の左側のみとする。printf文は追記できない。 ・main関数の外にも追記してよく、こちらはprintf文も追記できるが、グローバル変数、実数、は用いらないこと。 入出力例3 n: 3(ここは入力例) x1: 1(ここは入力例) y2: 2(ここは入力例) x2: 3(ここは入力例) y2: 4(ここは入力例) x3: 5(ここは入力例) y3: 6(ここは入力例) 1/2+3/4+5/6=100/48 ex14-3.c #include <stdio.h> int main(void) { int i,n; // printf(“n:\n”); scanf(“%d”,&n); // for(i=0;i<n;i++) { printf(“x%d:\n”,i+1); // printf(“y%d:\n”,i+1); // } sum(n,z); // return 0; }
質問日時: 2022/07/19 17:09 質問者: もりもりポテト
解決済
3
0
-
至急教えてください。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分
至急教えてください。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分母を意味する整数のn組の入力を受け付けて、全部の分数の和の式を出力するプログラムex 14-2.cを完成させよ。少なくとも入出力例2と全く同じ入出力を再現すること。入力値は正の整数のみを考えれば良い。表示される分数は約分されなくて良い。分母が1の時でも分数表現のままで良い。ただしex-14.2.cの作成にあたっては以下の条件を満たすこと。 ・main関数の中は、追記しかできず(削除できない)追記箇所は//の左側のみとする。printf文は追記できない。 ・main関数の外にも追記してよく、こちらはprintf文も追記できるが、グローバル変数、実数、は用いらないこと。 入出力例2 n: 3(ここは入力例) x1: 1(ここは入力例) y2: 2(ここは入力例) x2: 3(ここは入力例) y2: 4(ここは入力例) x3: 5(ここは入力例) y3: 6(ここは入力例) 1/2+3/4+5/6 ex14-2.c #include <stdio.h> int main(void) { int i,n; // printf(“n:\n”); scanf(“%d”,&n); // for(i=0;i<n;i++) { printf(“x%d:\n”,i+1); // printf(“y%d:\n”,i+1); // } sum(n,z); // return 0; }
質問日時: 2022/07/19 17:03 質問者: もりもりポテト
解決済
1
0
-
C#テキストボックスの文字を配列にいれてその後表示する
C#初心者です。お願いします。 環境Windows11 VisualStudio2019 フォームアプリケーション(.NetFramework) で作成しています。 1 フォーム起動後テキストボックス1に入力値を入力 2 テキストボックスの内容をバイト配列に格納 3 ボタン2で行列演算 4 テキストボックス2に表示したいと思ってます。 現在試行錯誤中ですがよくわかっていませんのでよろしくお願いします。 入力値0011223344556677 private void button1_Click(object sender, EventArgs e) { 2文字ずつ取ってきて配列にいれるのがわかりません } private void button2_Click(object sender, EventArgs e) { //行列計算 使用行列関数(AES-Mix) private byte[,] MixColumns(byte[,] s) { for (var c = 0; c < _Ws; c++) { var a = new byte[_Ws]; var b = new byte[_Ws]; for (var i = 0; i < _Ws; i++) { a[i] = s[i,c]; b[i] = (byte)(s[i,c] & 0x80) != 0 ? (byte)((s[i,c] << 1) ^ 0x011b) : (byte)(s[i,c] << 1); } // a[n] ^ b[n] is a•{03} in GF(2^8) s[0,c] = (byte) (b[0] ^ a[1] ^ b[1] ^ a[2] ^ a[3]); // 2*a0 + 3*a1 + a2 + a3 s[1,c] = (byte) (a[0] ^ b[1] ^ a[2] ^ b[2] ^ a[3]); // a0 * 2*a1 + 3*a2 + a3 s[2,c] = (byte) (a[0] ^ a[1] ^ b[2] ^ a[3] ^ b[3]); // a0 + a1 + 2*a2 + 3*a3 s[3,c] = (byte) (a[0] ^ b[0] ^ a[1] ^ a[2] ^ b[3]); // 3*a0 + a1 + a2 + 2*a3 } return s; } byte[] data; data = new byte[8]; string str = ""; for (int i = 0; i < data.Length; i++) { str += string.Format("{0:X2}", data[i]); } textBox2.Text = str; }
質問日時: 2022/07/17 04:47 質問者: jenseits
ベストアンサー
4
0
-
至急教えてください!プログラミングの問題です。 正の整数nを入力させると、1からnまでの整数を出力し
至急教えてください!プログラミングの問題です。 正の整数nを入力させると、1からnまでの整数を出力して改行する処理をその末尾を1つずつ減らしながら繰り返すプログラムを完成させよ。 入出力例 5(ここは入力例) 5,4,3,2,1, 5,4,3,2, 5,4,3, 5,4, 5,
質問日時: 2022/07/16 23:45 質問者: もりもりポテト
ベストアンサー
9
0
-
並列プログラミングのπ計算について
長文失礼します。pvmを用いた並列プログラミングのπ計算について、以下のプログラムで実行したら0になってしまいます。どこがおかしいのか分からず手詰まってます。 詳しい方教えてください。 /*マスタープログラムpai_master.c*/ #include <stdlib.h> #include <stdio.h> #include <signal.h> #include "pvm3.h" #define slave 4 #define N 10 main(argc,argv) int argc; char *argv[]; { int mytid; int M; int nproc; int start; int tids[32] ; int i, status,numt,msgtype; double width,pai,x; mytid= pvm_mytid(); numt=pvm_spawn("pai_slave",(char **)0, 0,"", slave,tids); if(numt<0){ printf("error..\n"); for(i=numt;i<nproc;i++) printf("tid %d %d\n",i,tids[i]); for(i=0;i<numt;i++) pvm_kill(tids[i]); pvm_exit(); exit(1); } width=1.0/N; for(i=0;i<nproc;i++){ pvm_initsend(PvmDataDefault); pvm_pkint(&nproc,1,1); pvm_pkint(&i,1,1); pvm_pkint(&start,1,1); pvm_pkdouble(&width,1,1); status=pvm_send(tids[i],0); } pai=0.0; msgtype=5; for(i=0;i<nproc;i++){ pvm_recv(-1,msgtype); pvm_upkdouble(&x,1,1); pai+=x; } printf("pai=%f\n",pai*width); pvm_exit(); } /*スレーブプログラムpai_slave.c*/ #include <stdlib.h> #include <stdio.h> #include <signal.h> #include "pvm3.h" main(){ int mytid; int M; int i; int nproc; int start; double pai,x,width; int msgtype,master; mytid = pvm_mytid(); msgtype=0; pvm_recv(-1,msgtype); pvm_upkint(&nproc,1,1); pvm_upkint(&M,1,1); pvm_upkint(&start,1,1); pvm_upkdouble(&width,1,1); pai=0.0; for(i=M;i<start;i+=nproc){x=(i+0.5)*width; pai+=4.0/(1.0+x*x); } pvm_initsend(PvmDataDefault); pvm_pkdouble(&pai,1,1); msgtype=5; master = pvm_parent(); pvm_send(master, msgtype); pvm_exit(); }
質問日時: 2022/07/16 22:30 質問者: あんぱーーー。
解決済
1
0
-
C++で割り算の結果を昇順に出力するプログラムを作りたいのですが、例えば(double)100000
C++で割り算の結果を昇順に出力するプログラムを作りたいのですが、例えば(double)1000000001/1000000002と(double)1000000000/1000000001など大きい数字の割り算を比較するとどちらも1になってしまって困っています。大きい数字の割り算結果を昇順に並べる方法を教えてください!
質問日時: 2022/07/15 17:46 質問者: 2945108114
解決済
3
0
-
プログラミングのC言語についてですが 全く分かりません。 どなたか教えてくれないでしょうか、、?
プログラミングのC言語についてですが 全く分かりません。 どなたか教えてくれないでしょうか、、?
質問日時: 2022/07/15 04:29 質問者: 2580りん
ベストアンサー
3
0
-
3つの倍精度浮動小数点値の平均を求めて、3つの引数全てを平均値に変更するメソッドを作成し、キーボード
3つの倍精度浮動小数点値の平均を求めて、3つの引数全てを平均値に変更するメソッドを作成し、キーボードから入力された3つの数値の平均値を出力するプログラムをref引数を使って作成しなさいの問題はどのように作ったらいいのでしょうか? C#の問題です。
質問日時: 2022/07/13 16:04 質問者: きめたーかめ
解決済
1
0
-
LU分解法のピボッティングについて(C言語/gcc-9)
講義の課題で4変数連立方程式をLU分解法で解くピボッティング機能付きプログラムを作成しており、一旦プログラムは書けたのですが、どうもうまく動作しません。講義中に先生に聞いて対処法を聞いてみたのですが、ざっと見た感じでは先生も見つけられなかったみたいで解決できず...そこでお願いなのですが、以下にプログラミングのコードをはっつけますので、どこがまずいか見つけていただけないでしょうか。また、対処法や変更案等あれば幸いです。どうかお願いします。 (コード) #include <stdio.h> #define M 4 int main(){ //変数宣⾔ double a[M][M]; double b[M]; double c[M]; double l[M][M]; double u[M][M]; double x[M]; double d[M]; int i, j, k; double tmp, max; //⼊⼒データの受け取り for(i=0;i<M;i++){ for(j=0;j<M;j++) scanf("%lf",&a[i][j]); } for(i=0;i<M;i++){ scanf("%lf",&b[i]); } //L⾏列,U⾏列の初期化 for(i = 0; i < M; i++){ /* L行列,U行列を1と0で初期化 */ for(j = 0; j < M; j++){ u[i][j] = 0; if(i == j) l[i][j] = 1; else l[i][j] = 0; } } //⼊⼒⾏列の出⼒(ピボッティングでa⾏列を操作するため事前に出⼒) printf("⼊⼒⾏列\n"); for(i=0;i<M;i++){ for(j=0;j<M;j++){ printf("%10.5lf",a[i][j]); } printf("%10.5lf\n",b[i]); } //結果の出⼒ for(i = 0; i < M; i++){ /*a行列をピボッティング*/ d[0] = a[0][i]; d[1] = a[1][i]; d[2] = a[2][i]; d[3] = a[3][i]; max = d[0]; for(j = 0; j < M; j++){ for(j = 0; j < M; j++){ if(max < d[j]) max = d[j]; } if(max == d[j]) for(k = 0;k < M; k++){ tmp = a[j][k]; a[j][k] = a[j][i]; a[j][i] = tmp; } } } printf("⼊⼒⾏列(ピボッティング後)\n"); for(i=0;i<M;i++){ for(j=0;j<M;j++){ printf("%10.5lf",a[i][j]); } printf("%10.5lf\n",b[i]); } for(i = 0; i < M; i++){ for(j = i; j < M; j++){ /* U行列の生成 */ u[i][j] = a[i][j]; for(k = 0; k < i; k++){ u[i][j] -= u[k][j] * l[i][k]; } } for(j = i + 1; j < M; j++){ /* L行列の生成 */ l[j][i] = a[j][i]; for(k = 0; k < i; k++){ l[j][i] -= u[k][i] * l[j][k]; } l[j][i] /= u[i][i]; } } for(i = 0; i < M; i++){ /* c行列の生成 */ c[i] = b[i]; for(j = 0; j < i; j++){ c[i] -= l[i][j] * c[j]; } } for(i = M - 1; i >= 0; i--){ /* x行列の生成 */ x[i] = c[i]; for(j = M - 1; j > i; j--){ x[i] -= u[i][j] * x[j]; } x[i] /= u[i][i]; } //L⾏列 printf("\nL⾏列\n"); for(i=0;i<M;i++){ for(j=0;j<M;j++){ printf("%10.5lf",l[i][j]); } printf("\n"); } //U⾏列 printf("\nU⾏列\n"); for(i=0;i<M;i++){ for(j=0;j<M;j++){ printf("%10.5lf",u[i][j]); } printf("\n"); } //解の出⼒ printf("\n答え\n"); for(i=0;i<M;i++){ printf("%10.5lf\n",x[i]); } }
質問日時: 2022/07/11 23:10 質問者: Murasame652
解決済
3
0
-
int tff(int clk) { static int state = 0; //状態 stat
int tff(int clk) { static int state = 0; //状態 static int pre_clk = 0; //一つ前のクロック if(pre_clk == 0 && clk == 1) state = state==0 ? 1 : 0; pre_clk = clk; return state; } state==0 ? 1 : 0; ↑ これってどういう意味ですか?
質問日時: 2022/07/11 21:14 質問者: suuuuushi
解決済
1
0
-
C言語のエラーについて
以下のようなコンパイルエラーがでます。原因がわからず困っています。 エラー E2206 c:\users\17042\desktop\c言語\評価課題\hyouka2.c 1: 不正な文字 '' (0xff) エラー E2206 c:\users\17042\desktop\c言語\評価課題\hyouka2.c 1: 不正な文字 '' (0xfe) エラー E2206 c:\users\17042\desktop\c言語\評価課題\hyouka2.c 1: 不正な文字 '#' (0x23) エラー E2206 c:\users\17042\desktop\c言語\評価課題\hyouka2.c 1: 不正な文字 '' (0x0) エラー E2206 c:\users\17042\desktop\c言語\評価課題\hyouka2.c 1: 不正な文字 '' (0x0) エラー E2141 c:\users\17042\desktop\c言語\評価課題\hyouka2.c 1: 宣言の構文エラー エラー E2206 c:\users\17042\desktop\c言語\評価課題\hyouka2.c 1: 不正な文字 '' (0x0) エラー E2206 c:\users\17042\desktop\c言語\評価課題\hyouka2.c 1: 不正な文字 '' (0x0) エラー E2206 c:\users\17042\desktop\c言語\評価課題\hyouka2.c 1: 不正な文字 '' (0x0) エラー E2206 c:\users\17042\desktop\c言語\評価課題\hyouka2.c 1: 不正な文字 '' (0x0) エラー E2206 c:\users\17042\desktop\c言語\評価課題\hyouka2.c 1: 不正な文字 '' (0x0) エラー E2206 c:\users\17042\desktop\c言語\評価課題\hyouka2.c 1: 不正な文字 '' (0x0) エラー E2206 c:\users\17042\desktop\c言語\評価課題\hyouka2.c 1: 不正な文字 '' (0x0) エラー E2206 c:\users\17042\desktop\c言語\評価課題\hyouka2.c 1: 不正な文字 '' (0x0) エラー E2206 c:\users\17042\desktop\c言語\評価課題\hyouka2.c 1: 不正な文字 '' (0x0) エラー E2206 c:\users\17042\desktop\c言語\評価課題\hyouka2.c 1: 不正な文字 '' (0x0) エラー E2206 c:\users\17042\desktop\c言語\評価課題\hyouka2.c 1: 不正な文字 '' (0x0) エラー E2206 c:\users\17042\desktop\c言語\評価課題\hyouka2.c 1: 不正な文字 '' (0x0) エラー E2206 c:\users\17042\desktop\c言語\評価課題\hyouka2.c 1: 不正な文字 '' (0x0) エラー E2206 c:\users\17042\desktop\c言語\評価課題\hyouka2.c 1: 不正な文字 '' (0x0) エラー E2206 c:\users\17042\desktop\c言語\評価課題\hyouka2.c 1: 不正な文字 '' (0x0) エラー E2206 c:\users\17042\desktop\c言語\評価課題\hyouka2.c 1: 不正な文字 '' (0x0) エラー E2206 c:\users\17042\desktop\c言語\評価課題\hyouka2.c 1: 不正な文字 '' (0x0) エラー E2206 c:\users\17042\desktop\c言語\評価課題\hyouka2.c 1: 不正な文字 '' (0x0) エラー E2206 c:\users\17042\desktop\c言語\評価課題\hyouka2.c 1: 不正な文字 '' (0x0) エラー E2228 c:\users\17042\desktop\c言語\評価課題\hyouka2.c 1: エラーあるいは警告が多すぎる *** 26 errors in Compile *** インデントを開けても詰められてしまうので読みにくいかとは思いますが、お願い致します。 実際のコードです↓ #pragma warning(disable:4996) #include <stdio.h> #include <stdlib.h>/*for atoi*/ #include <ctype.h>/*for isdigit*/ #include <conio.h>/*for getch*/ int isChar(char* s); int inputScore(); void inputName(); void showResult(int, int, double,int); int outOfBaunds(char*); //文字制限判定メソッド char name[120] = {'\0'}; int isChar(char* s) { for (;*s != '\0';s++) { if (!isdigit(*s)) { return 1; } } return 0; } int outOfBaunds(char* a) { int count = 0; for (int i = 0; name[i] != '\0'; i++) { count++; } if (count <= 21) { return 1; } else { return 0; } } void showResult(int max, int min, double avg, int count) { printf("---------------------------------\n"); printf("最大値%d\n", max); printf("最小値%d\n", min); printf("平均値%.1f(平均件数:%d)\n", avg, count); } void inputName() { int judge = 1; while (judge) { printf("名前を入力>>>"); scanf("%s", &name); if (outOfBaunds(*name)) { judge = 0; } else { printf("Over capacity\n"); } } } int inputScore() { char in[64] = { '\0' }; int score = 0; int rangeMin = 0; int rangeMax = 100; int endCode = 999; while (1) { printf("数値を入力>>>"); scanf("%s", &in); printf("\n"); if (!isChar(in)) { score = atoi(in); } else { printf("InputMismatchException\n"); continue; } if (score < rangeMin || (score > rangeMax && score != endCode)) { printf("ValueOutOfBoundsException\n"); continue; } break; } return score; } void main() { int endCode = 999; int score = -1; int max = 0; int min = 100; int sum = 0; int count = 0; double avg = 0; inputName(); score = inputScore(); max = score; min = score; while (score != endCode) { inputName(); if (score > max) max = score; //最大値判断 if (score < min) min = score; //最小値判断 sum += score; count++; score = inputScore(); } if (count != 0) { avg = sum / count; showResult(max, min, avg,count); } else { printf("入力データがありません"); } }
質問日時: 2022/07/11 13:56 質問者: xEIrna
ベストアンサー
2
0
-
10個の実数に対する降順ソート結果を出力するプログラムを作りたいのですが、以下のプログラムをどう直せ
10個の実数に対する降順ソート結果を出力するプログラムを作りたいのですが、以下のプログラムをどう直せばプログラムが上手く起動するか教えて欲しいです。(注意:mySort()関数内ではポインタ変数を使用 #include <stdio.h> #define SIZE 10 main(){ double data[SIZE + 1]; int fixed, base; int i; double swap; for (i = 1; i<=SIZE ;i++){ printf("%d番目の数字は?",i); scanf("%lf",&*(data+i)); } for (fixed = 1; fixed < SIZE ; fixed++){ for (base = 1; base <= SIZE ; base++){ if (data[base] > data[base+1]){ swap = data[base+1]; data[base + 1] = data[base]; data[base] = swap ; } for (i = 1; i <= SIZE; i++){ printf("%lf", *(data+i)); } printf("\n"); } } for (i = 1; i <= SIZE; i++){ printf("%lf番目:%lf\n", i, *(data+i)); } }
質問日時: 2022/07/09 22:16 質問者: おせんのりきゅう
解決済
1
0
-
10個の実数に対する降順ソート結果を出力するプログラムを作りたいのですが、写真のプログラムをどう直せ
10個の実数に対する降順ソート結果を出力するプログラムを作りたいのですが、写真のプログラムをどう直せばプログラムが上手く起動するか教えて欲しいです。(注意:mySort()関数内ではポインタ変数を使用)
質問日時: 2022/07/09 21:13 質問者: おせんのりきゅう
解決済
2
0
-
プログラミングのペーパーテスト 実行結果の表示を答えてください #include <stdio.h>
プログラミングのペーパーテスト 実行結果の表示を答えてください #include <stdio.h> int a(int a, int b){ return a+b; } int b(int a, int b){ int i, seki=1; for(i=0; i<b; i++){ seki *= a; } return seki; } void main(){ int x; x = b(2, a(2,3) ); printf("%d", x); } 答え 32 たぶん、27+5で32になると考えているのですが疑問点があり、for(i=0;i<b;i++)のbにx = a(2,3) の3を入れると思うですけどなんで2じゃダメなんですか? (2,3)と表記されてるとどっちをbに入れればいいのか よく分からないです
質問日時: 2022/07/09 16:14 質問者: suuuuushi
解決済
2
0
-
プログラミングのペーパーテスト 実行結果を表示せよ #include <stdio.h> int h
プログラミングのペーパーテスト 実行結果を表示せよ #include <stdio.h> int hoge(int n){ if( n < 0 ){ return n; } else { return hoge(n-1)+hoge(n-2); } } void main(){ printf("%d", hoge(6)); } 答え−47 return hoge(n−1)+hoge(n−2)が (5) (4) (4) (2) (3) (0) (2) (1) (0) こうなることしか分からないです それでどうやって計算するのか教えてほしいです
質問日時: 2022/07/09 15:27 質問者: suuuuushi
解決済
1
0
-
プログラミングのペーパーテスト 実行結果がどのように表示されるか答えよ #include <stdi
プログラミングのペーパーテスト 実行結果がどのように表示されるか答えよ #include <stdio.h> void hoge(int n){ if( n <= 0 ){ printf("0 "); } else { printf("%d ",n); hoge(n-1); printf("%d ",n); } } void main(){ hoge(3); } 答え 3210123 3210までは分かるんですけどなんで123が表示されるか 分かりません 教えてほしいです
質問日時: 2022/07/09 14:27 質問者: suuuuushi
解決済
1
0
-
ベストアンサー
3
1
-
【C++】IDirect3DSurfaceのディープコピーは可能ですか?
私は今、Windows Graphics Captureを使ってキャプチャーした画面を時間差で表示するプログラムを作成しています。 良い感じに画面のキャプチャーなどはできたのですが、数秒前のキャプチャーした画面を表示しようとしても、キャプチャーしたフレームのデータが現在のものに上書きされてしまって困っています、、、 例えば以下のようなプログラムがあるとします。 --- IDirect3DSurface tmp_surface; # この中は毎フレーム実行される { IDirect3DSurface surface = 現在の画面のデータ; # 500フレーム目のみtmp_surfaceに代入する if (frame_count == 500) { tmp_surface = surface; } # 1000フレーム目で表示して確認してみる if (frame_count == 1000) { # 500フレーム目の画面の状態が見たいのに # 1000フレーム目の画面が表示されてしまう Draw(tmp_surface); } frame_count++; } --- 500フレーム目でtmp_surfaceにsurfaceを代入して値を保持しています。 それを1000フレーム目で表示して500フレーム前の状態を確認しようとしているのですが、どうしても1000フレーム目の状態が表示されてしまいます。 色々調べたのですが、シャローコピーとディープコピーというものがあり、上記のプログラムではシャローコピーになってしまっているのだと思います。 なので、ディープコピーできる方法を調べたのですが、どうも自作のクラスという前提の説明ばかりで、DirectXやWindows Graphics CaptureといったAPIのクラスのディープコピーの方法は出てきません、、、 もし方法がわかる方や、別の手段を知っている方がいればぜひ教えてください! よろしくお願いします! ▼ 参考サイト https://docs.microsoft.com/ja-jp/windows/uwp/audio-video-camera/screen-capture https://tips.hecomi.com/entry/2021/03/23/230947
質問日時: 2022/07/06 02:47 質問者: FKFK0501
解決済
1
0
-
C言語(構造体)
年齢と身長,体重を保存する変数をメンバにもつ構造体を作成し、この構造体を利用して標準入力 ( キーボード )から入力された 5 人分の年齢,身長,体重をもとに,最も身長が高かった人の年齢,身長,体重と最も体重が軽かった人の年齢,身長,体重を表示するプログラムの作成。 途中まで作成したプログラム #include<stdio.h> typedef struct person{ int age; double height; double weight; }person; int main(void){ person num1,num2,num3,num4,num5,height1,height2,height3,height4,height5,weight1,weight2,weight3,weight4,weight5; int i,j; for (i=0; i<5; i++){ printf("1人目の年齢を入力してください。\n"); scanf("%d", &num1.age); printf("1人目の身長を入力してください。\n"); scanf("%lf", &height1.height); printf("1人目の体重を入力してください。\n"); scanf("%lf", &weight1.weight); printf("2人目の年齢を入力してください。\n"); scanf("%d", &num2.age); printf("2人目の身長を入力してください。\n"); scanf("%lf", &height2.height); printf("2人目の体重を入力してください。\n"); scanf("%lf", &weight2.weight); printf("3人目の年齢を入力してください。\n"); scanf("%d", &num3.age); printf("3人目の身長を入力してください。\n"); scanf("%lf", &height3.height); printf("3人目の体重を入力してください。\n"); scanf("%lf", &weight3.weight); printf("4人目の年齢を入力してください。\n"); scanf("%d", &num4.age); printf("4人目の身長を入力してください。\n"); scanf("%lf", &height4.height); printf("4人目の体重を入力してください。\n"); scanf("%lf", &weight4.weight); printf("5人目の年齢を入力してください。\n"); scanf("%d", &num5.age); printf("5人目の身長を入力してください。\n"); scanf("%lf", &height5.height); printf("5人目の体重を入力してください。\n"); scanf("%lf", &weight5.weight); } printf("最も身長が高い人は年齢:%d才,身長:%lfcm,体重%lfkgです。\n",num,height,weight); printf("最も体重が軽い人は年齢:%d才,身長:%lfcm,体重%lfkgです。\n",num,height,weight); return 0; } 最も身長が高い人の年齢、身長、体重、最も体重が低い人の年齢、身長、体重の表示のさせ方が分かりません。 よろしくお願い時ます。
質問日時: 2022/07/05 20:08 質問者: 小茶
ベストアンサー
3
0
-
至急教えてください!プログラミングの問題です。 割られる整数と割る整数を受け取って、商と余りを出力す
至急教えてください!プログラミングの問題です。 割られる整数と割る整数を受け取って、商と余りを出力するプログラムex12-6.cを完成させよ。少なくとも入出力例6と全く同じ入出力を再現できること。ただし、main関数は変更できないものとする。入力が正の整数でない場合は考慮しなくて良い。 入出力例6 a: 7(ここは入力例) b: 2(ここは入力例) a=b*3+1 ex12-6.c #include <studio.h> int main (void) { int a,b,c,b; printf(“a:\n”); scanf(“%d”,&a); printf(“b:\n”); scanf(“%d”,&b); f(a,b,&c,&d); printf(“a=b*%d+%d\n”,c,d); return 0; }
質問日時: 2022/07/05 10:23 質問者: もりもりポテト
ベストアンサー
3
1
-
至急教えてください!プログラミングの問題です。 入力待ちをして、受け取った正の整数が表す行数だけ既存
至急教えてください!プログラミングの問題です。 入力待ちをして、受け取った正の整数が表す行数だけ既存ファイル5-1.txtと既存ファイル5-2.txtを比較し、各行ごとに、一致しているならその整数を、異なっているなら✴︎を、出力するプログラムex12-5.cを書け。少なくも5-1.txtの例と5-2.txtの例とターミナルの例と全く同じ入出力を再現できること。fopenしたファイルは必ずfx loseすること。既存ファイルにおいて比較対象の行まで整数が埋まっていない場合は考慮しなくてよい。 ターミナル例 gcc -Wall -o ex12-5.exe ex12-5.c -lm ./ex12-5.exe Nunber: 5(ここは入力例) 10 * 30 40 * 5-1.txtの例 10(ここは保存内容の例) 20(ここは保存内容の例) 30(ここは保存内容の例) 40(ここは保存内容の例) 50(ここは保存内容の例) 60(ここは保存内容の例) 5-2.txtの例 10(ここは保存内容の例) 200(ここは保存内容の例) 30(ここは保存内容の例) 40(ここは保存内容の例) 500(ここは保存内容の例) 60(ここは保存内容の例)
質問日時: 2022/07/05 10:12 質問者: もりもりポテト
ベストアンサー
4
1
-
1. 仮想CPU「exmini」を使用して,「$dataからn減算する」プログラムを作成してください
1. 仮想CPU「exmini」を使用して,「$dataからn減算する」プログラムを作成してください。 2. 1番の問題について,「0より小さくなる場合は0で停止する」プログラムを作成してください。 3. 仮想CPU「exmini」を使用して,「m×n(計算結果は0以上127以下)を計算する」プログラムを作成してください。 この3問を教えてくださいm(_ _)m
質問日時: 2022/07/04 17:49 質問者: 腹筋崩壊3rd
解決済
2
0
-
プログラム Arduino
Arduinnoでプログラムを書いているのですが、コンパイルする時に「exit status 1 ボード Arduino/Genuino Unoに対するコンパイル時にエラーが発生しました」と表示されたのですが解決法を教えてください。基板には「AE-ATMEGA-UNO-R3」と書いてあります。
質問日時: 2022/07/03 11:13 質問者: sho2you16
解決済
1
0
-
C言語について
for(…){ if(…){ break; } } と言うコードで、何故かbreak;でループを抜けず、続いているようなのですが、原因はわかりますか。 抽象的でごめんなさい
質問日時: 2022/07/02 01:08 質問者: ぶんと
解決済
4
0
-
プログラミングの問題です。写真のプログラムの1から10を下のように入力しましたがプログラムが上手くい
プログラミングの問題です。写真のプログラムの1から10を下のように入力しましたがプログラムが上手くいかないのでどこが間違っているか教えて欲しいです。(数字を5つ入力し、数字を大きさ順に表示するプログラム) 1,5 2,swap 3,SIZE 4,&data[i] 5,SIZE 6,SIZE 7,base+1 8,data[base+1] 9,swap 10,data[i]
質問日時: 2022/07/01 23:31 質問者: おせんのりきゅう
解決済
3
0
-
C言語のwhileを使ってプログラムを組みたいです!自分でやってみたのですが答えが合わないので教えて
C言語のwhileを使ってプログラムを組みたいです!自分でやってみたのですが答えが合わないので教えてください • 男性全てホストになる(人数を超える)のは西暦何年か求めよ – 男性の人数はずっと50万人とする – 2006年5名,2014年20名を初期データとし,2014年以降同じ経過年数の間に同じ「倍率」で増えるものとする • 女性が全てキャバ嬢になる(人数を超える)のは西暦何年か求めよ – 女性の人数はずっと50万人とする – 2006年5名,2014年38名を初期データとし,2014年以降同じ経過年数の間に同じ「差」で増えるものとする ホストの人数がキャバ嬢の人数を上回るのは西暦何年か求め,そのときの,それぞれの人数を答えよ
質問日時: 2022/06/30 18:08 質問者: ゆきひら_
解決済
3
0
-
C#の問題で2つの整数a,bの最大公約数(GCD)を求めるユークリッドの互除法は,aをbで割った余り
C#の問題で2つの整数a,bの最大公約数(GCD)を求めるユークリッドの互除法は,aをbで割った余りrを求めて,bの値をaに,rをbに代入するという操作をrが0になるまで繰り返す方法である.余りrが0になった場合,bの値が最大公約数である.これを実現させるプログラムを作成する。 このプログラミングはどのように作ったらよろしいでしょうか?
質問日時: 2022/06/26 16:52 質問者: きめたーかめ
解決済
2
0
-
C言語のバイナリファイルに関する質問
C言語で、05 F7 57 A1 というデータを取得したとします。 それを、unsingned char buf[4] ;に格納します。 そうしたとき、このデータは、数値データを表すものなので、数値にしたいのですが、うまく行きません。 どうすればよいでしょうか。
質問日時: 2022/06/24 07:20 質問者: ぶんと
解決済
8
0
-
至急教えてください! プログラミングの問題です! お願いします! 出力2と全く同じ出力をするように、
至急教えてください! プログラミングの問題です! お願いします! 出力2と全く同じ出力をするように、プログラムex10-2.cを完成させろ。ただし、main関数は変更できないものとし、関数revは、任意の正の整数nと長さnの配列x,yを引数として受け取ると、xを逆順にした内容でyを上書きする関数とせよ。 出力2 a={3,1,4,1,5} b={5,1,4,1,3} c={9,2,6} d={6,2,9} ex10-2.c #include <stdio.h> int main(void) { int a[5] = {3,1,4,1,5}; int b[5]; int c[3] = {9,2,6}; int d[3]; rev(5,a,b); printf("a={%d,%d,%d,%d,%d}\n",a[0],a[1],a[2],a[3],a[4]); printf("b={%d,%d,%d,%d,%d}\n",b[0],b[1],b[2],b[3],b[4]); rev(3,c,d); printf("c={%d,%d,%d}\n",c[0],c[1],c[2]); printf("d={%d,%d,%d}\n",d[0],d[1],d[2]); return 0; }
質問日時: 2022/06/22 23:10 質問者: もりもりポテト
ベストアンサー
2
1
-
C#の問題です。 文字列型の配列 s[100] にキーボードから入力された100文字以内の文字列(単
C#の問題です。 文字列型の配列 s[100] にキーボードから入力された100文字以内の文字列(単語)を格納する.ただし,空文字 列が2つ続いたらそこで終わる.その後,配列sの内容を終了したところまで(最後の1つは除いて)逆順に出力する プログラムを制作しなさいの問題で 写真のところまで行けたのですが続きが分かりません わかる方教えてください。
質問日時: 2022/06/22 15:18 質問者: きめたーかめ
解決済
2
0
-
プログラミングペーパーテスト 次の問題の実行結果を答えろ #include int x[ ] = {
プログラミングペーパーテスト 次の問題の実行結果を答えろ #include int x[ ] = {100,200}; void func1(int m[ ]); void func2(int m[ ]); int main(void) { int x[ ] = {10,20}; func1(x); printf("main : x[] = {%d, %d}\n",x[0],x[1]); func2(x); printf("main : x[] = {%d, %d}\n",x[0],x[1]); return 0; } void func1(int m[ ]) { int x[ ] = {1,2}; m[0] = x[1]; printf("func1: m[] = {%d, %d}\n",m[0],m[1]); printf("func1: x[] = {%d, %d}\n",x[0],x[1]); } void func2(int m[ ]) { x[0] = m[1]; printf("func2: m[] = {%d, %d}\n",m[0],m[1]); printf("func2: x[] = {%d, %d}\n",x[0],x[1]); } 実行結果 func1: m[]={2,20} func1: x[]={1,2} main : m[]={2,20} func2: m[]={2,20} func2: x[]={20,200} main : x[]={2,20} func2: m[]={2,20}とmain:x[]={2,20} がなんでそうなるのか分かりません あとは理解しました
質問日時: 2022/06/16 21:49 質問者: suuuuushi
ベストアンサー
1
0
-
プログラミングの授業のペーパーテスト 実行結果を答えろ #include int x[ ] = {1
プログラミングの授業のペーパーテスト 実行結果を答えろ #include int x[ ] = {100,200}; void func1(int m[ ]); void func2(int m[ ]); int main(void) { int x[ ] = {10,20}; func1(x); printf("main : x[] = {%d, %d}\n",x[0],x[1]); func2(x); printf("main : x[] = {%d, %d}\n",x[0],x[1]); return 0; } void func1(int m[ ]) { int x[ ] = {1,2}; m[0] = x[1]; printf("func1: m[] = {%d, %d}\n",m[0],m[1]); printf("func1: x[] = {%d, %d}\n",x[0],x[1]); } void func2(int m[ ]) { x[0] = m[1]; printf("func2: m[] = {%d, %d}\n",m[0],m[1]); printf("func2: x[] = {%d, %d}\n",x[0],x[1]); } 実行結果 func1: m[]={2,20} func1: x[]={1,2} main : m[]={2,20} func2: m[]={2,20} func2: x[]={20,200} main : x[]={2,20} なんでfunc1:m[]={2,20}になるんですか? 2はわかるのですが20はどうやって20になるのか分からないです
質問日時: 2022/06/16 20:08 質問者: suuuuushi
ベストアンサー
3
0
-
GASで◯月第◯週→何日から何日と返ってくる関数
タイトルの関数を作りたいのですがどのように作れば良いのか分かりませんが。 GASについてほとんど分からないのでどなたか分かる方お教えください。
質問日時: 2022/06/09 13:37 質問者: ビチク
解決済
1
0
-
課題でどうしてもわからない問題があったので教えてほしいです、、 メンバ関数add_accept_st
課題でどうしてもわからない問題があったので教えてほしいです、、 メンバ関数add_accept_state, add_transition, is_accept_state, acceptの実装コードの各関数の処理内容の説明をしたいです
質問日時: 2022/06/04 12:23 質問者: yamayu0051
解決済
3
0
-
C言語 ポインタ 配列
ポインタを使って3×3の行列の足し算を行いたいです。mallocは習っていなくて、 関数宣言の形は void add(int* a,int* b,int* result,int n); の形で行いたいです。 また演算は一行ごとに行います。 関数の中では index syntax は使ってはいけません。 ー------------------ コードがわかりません。。 関数の中とはメイン関数も含めてなのでしょうか?? メイン関数でindex syntaxを使わずに、mallocも習った状態でできるのでしょうか。 コードの例と解説をお願いしたいです
質問日時: 2022/06/02 17:29 質問者: プログラミング初心者です
解決済
2
1
-
このプログラミング誰か教えてくれませんか
このプログラムをさらに改良し、ヒストグラム(グレースケール画像のヒストグラム)から、最小値、最大値、平均値、分散、中央値、最頻値の6つの統計量を計算・表示するプログラムを作成しなさい。 といった問題なのですが、誰か詳しい方教えてくれませんか。 #include <stdio.h> #include <opencv.hpp> #pragma warning(disable: 4996) using namespace cv; int main(int argc, char** argv) { //画像データ用変数の宣言 Mat src_img; //画像データの読み込み src_img = imread("C:\\opencv4.3.0\\sources\\samples\\lena.jpg", 0); int m = src_img.cols; //画像の幅(列)xを取得 int n = src_img.rows; //画像の高さ(行)yを取得 int hist[256]; //ヒストグラム(度数分布表)用の配列 FILE* fp; fp = fopen("histogram.txt", "w+"); // ファイルを開く //配列histを初期化 for (int i = 0; i <= 255; i++) { hist[i] = 0; } //ヒストグラム(度数分布表)の作成 for (int y = 0; y < n; y++) { for (int x = 0; x < m; x++) { hist[src_img.data[y * src_img.step + x]] ++; //ある画素値の度数を計数 } } //度数分布表の書き込み for (int i = 0; i <= 255; i++) { printf("%d %d\n", i, hist[i]); fprintf(fp, "%d %d\n", i, hist[i]); } fclose(fp); // ファイルを閉じる //画像の表示用ウィンドウを生成 namedWindow("TEST_IMAGE", WINDOW_AUTOSIZE); //画像の表示 imshow("TEST_IMAGE", src_img); //キー入力待ち waitKey(0); return 0; }
質問日時: 2022/06/02 15:27 質問者: 甘党派
ベストアンサー
1
0
-
C言語 配列とポインタについて
関数の中で index syntaxを一切使わないで行列3×3の足し引きを行いたいです。 ポインタを使えばいいんですよね?? ポインタを使う場合どうやって配列の大きさを決めるのでしょうか?? 例のコードを教えてくださるとうれしいです。
質問日時: 2022/06/02 11:53 質問者: あちゃちゃちゃん
解決済
2
1
-
C言語: ポインタ
計算結果をポインタで表示させるにはどうしたらいいですか?? 課題なのですが計算結果ポインタで示すという条件を満たさなかったため0点でした。。。 #include<stdio.h> void cul(float x, float y, float *sum, float *sub, float *multi, float *div){ *sum=x+y; *sub=x-y; *multi=x*y; *div=x/y; } int main(void){ float a,b; float sum=0, sub=0, multi=0, div=0; printf("Input a and b:"); scanf("%f %f",&a, &b); cul(a,b,&sum, &sub, &multi, &div); printf("%.6f + %.6f = %.6f\n",a,b,sum); printf("%.6f - %.6f = %.6f\n",a,b,sub); printf("%.6f * %.6f = %.6f\n",a,b,multi); printf("%.6f / %.6f = %.6f\n",a,b,div); return 0; }
質問日時: 2022/06/01 08:33 質問者: あちゃちゃちゃん
ベストアンサー
5
0
-
c言語配列の結合についてです。 なぜうまくいかないのでしょうか。 #include <stdio.h
c言語配列の結合についてです。 なぜうまくいかないのでしょうか。 #include <stdio.h> void connect(char* str, char* str1, char* str2, int len1, int len2); void main(void) { char str[20]; char str1[10] ; char str2[10] ; int len1, len2; printf("文字の数を入力してください str1:"); scanf("%d", &len1); printf("文字の数を入力してくださいstr2:"); scanf("%d", &len2); connect(str, str1, str2, len1, len2); printf("result = %s\n", str); } void concect(char* str, char* str1, char* str2, int len1, int len2) { int i,j,ch1,ch2; int k = 0; int l = 0; for (i = 0; i < len1 - 1 && (ch1 = getchar()) != '\n'; i++) str1[i] = ch1; str1[i] = '\0'; for (j = 0; j < len2 - 1 && (ch2 = getchar()) != '\n'; j++) str2[j] = ch2; str2[j] = '\0'; while (str1[k] != '\0') { str[k] = str1[k]; k++; } while (str2[l] != '\0') { str[k + l] = str2[l]; l++; } str[k + l] = '\0'; }
質問日時: 2022/05/30 22:42 質問者: ちゃんちゃくやたら
ベストアンサー
4
1
-
char string[100]; int c, i=0; while( (c=getchar())
char string[100]; int c, i=0; while( (c=getchar()) != EOF ){ string[i] = c; i++; } string[i] = ‘\0’; <<<<<<<これはなぜ必要なんでしょうか?? printf(“%s\n”, string);
質問日時: 2022/05/30 21:41 質問者: ちゃんちゃくやたら
解決済
2
0
-
宣言する関数の形が決まっている状態で、 str1とstr2の文字列をこの順に引っ付けてstrに保存し
宣言する関数の形が決まっている状態で、 str1とstr2の文字列をこの順に引っ付けてstrに保存して出力させたいです。 関数の形が指定されているのですが l1,l2をどう使えば良いかわかりません。 またなぜこのコードが実行されないのか、ただしいコードを教えてください。 #include<stdio.h> void concat(char* str, char* str1, char* str2, int l1, int l2); int main(void) { char* str; char str1[10]; char str2[10]; int len1, len2; printf("Input size of str1:"); scanf("%d", &l1); printf("str1:"); scanf("%s", &str1); printf("Input size of str2:"); scanf("%d", &l2); printf("str2:"); scanf("%s", &str2); concat(str, str1, str2, l1, l2); printf("result: %s", str); return 0; } void concat(char* str, char* str1, char* str2, int l1, int l2) { while (*str1 != '\0'); str1--; while (((*str1++) = (*str2++)) != '\0'); *str = *str1; }
質問日時: 2022/05/30 18:21 質問者: ちゃんちゃくやたら
解決済
2
0
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
【C言語・C++・C#】に関するコラム/記事
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
c言語
-
【C言語】全角文字の配列を、全角の...
-
大量のデータを読み込んで表示する...
-
int16_t の _t は何?
-
DLLファイルの逆コンパイラについて...
-
プログラマー達は何故、プログラム...
-
プログラミングc++を全く分からな...
-
VisualStudio2022でC言語プログラム...
-
ストリームについて。
-
Windows Formアプリからコンソール...
-
DNCL(共テ用プログラミング言語)に...
-
DNCL(共テ用プログラミング言語)に...
-
プログラミングの課題がわからない...
-
サブルーチンを使った再帰的なプロ...
-
C言語の関数のextern宣言
-
逆コンパイルと逆アセンブルの違い...
-
c言語
-
プログラム言語について c言語もコ...
-
C#でログファイルにファイルパスが...
-
gccを行ってもexeファイルが生成さ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
c言語
-
DLLファイルの逆コンパイラについて...
-
Windows Formアプリからコンソール...
-
大量のデータを読み込んで表示する...
-
C言語の関数のextern宣言
-
VisualStudioでC++クラスを追加する...
-
【C言語】全角文字の配列を、全角の...
-
VisualStudio2022でC言語プログラム...
-
C++でデスクトップGUIアプリ開発の...
-
gccを行ってもexeファイルが生成さ...
-
C#でTreeViewのCheckBoxのサイズ変更
-
C#でログファイルにファイルパスが...
-
プログラマー達は何故、プログラム...
-
逆コンパイルと逆アセンブルの違い...
-
Notepad++の関数リスト表示の変更方...
-
C言語について。
-
Cのコンパイルでコメントアウトをそ...
-
visual studio 2022でのC#プログラ...
-
コンソールアプリを作成するのにお...
-
C言語 バッファについて。
おすすめ情報