回答数
気になる
-
VisualStudioでのファイルの入出力のやり方を教えて欲しいです。このプログラムを実行したいの
VisualStudioでのファイルの入出力のやり方を教えて欲しいです。このプログラムを実行したいのですがファイルの作り方がわからないので動きません。おしえてください #include <stdio.h>#include <stdlib.h>int main(void) { char finame[] = "kenmei.txt"; FILE* fp; char ken[10][20]; fp = fopen(finame, "r"); if (fp == NULL) { printf("ファイル「%s」のオープンに失敗。\n", finame); exit(1); } int k = 0; while (fgets(ken[k], 20, fp) != NULL) { k++; } fclose(fp); int i = 0; printf("\n以下の党利。\n"); for (i = 0; i <= k; i++)printf("%s", ken[i]); return 0; } 写真の画面のどこをどう操作したらいいとか、何かわかりやすいサイトなど有れば教えてください!お願いします!
質問日時: 2021/06/09 14:30 質問者: めぃりぃ
ベストアンサー
2
0
-
C#の質問
入力した数字を英単語に変換するというプログラムなのですが、 仕様は ①10進数値を入力 a,0から99までの数値とする b,範囲外の場合はエラー表示する ②英単語に変換 ③出力する ①は組めたのですが②が全く分かりません。とんでもなく長くなりそうな気がしますし、そもそも「1」と入力したら「one」で「2」と入力したら「two」と表示させることは出来るのですか? C#はまだまだ初心者なので分かりやすいヒントが知りたいです。
質問日時: 2021/06/09 12:08 質問者: 鎌田氏
ベストアンサー
3
0
-
解決済
2
0
-
プログラミングに関して
専門学生です。コードについてなんですがわからなかったので質問させてください。 上から順にどんな動きをするのかを教えてください。特にに23行目のfor文のどんな動作を期待して実際にどう動くのかを知りたいです。 #include <stdio.h> void main() { int a; int b; int sum; int num; for(a = 1; a < 10000; a++) { sum = 0; num = 0; for(b = 1; b < a; b++) { if(a % b == 0) { sum += b; } } if(sum == a) { printf("%d", a); for(b = 1; b < a; b++) { if(a % b == 0) { if(num != 0) { printf("+"); num = b; printf("%d", num); } } } printf("\n"); } } }
質問日時: 2021/06/08 00:17 質問者: 山の猫
解決済
2
0
-
C言語について質問です。
ランダムな数を10000.txtから読み込んだ後,キーボードから二つの数pとqを読み込んで.random10000.txtのp番目からq番目までの数の和を求めるプログラムを再帰関を使って作りたいのですが、どうすればようですか。 ファイルの10000.txtは、以下のように数字がランダムになっています。 56 67778 434 67 9 28 1087 .....
質問日時: 2021/06/07 05:11 質問者: nomorethan
ベストアンサー
1
0
-
C言語について質問です。
ファイル(1000.txt)から1000 個の数字を読み込んだ後,キーボードから入力した数字があ る場所を再起関数search(配列 x のx[from] から x[to] の間からscannum の要素を探す関数)を使って出力するプログラムを作りたいのですがどうすればよいですか。 void search(int x[], int scannum, int from, int to){ } int main(void) { FILE *fp; int i; int x[1000], scannum, line; if ((fp = fopen("1000.txt", "r")) == NULL) { printf("can't open file\n"); return 0; } for (i = 0; i < 1000; i++) { fscanf(fp, "%d", &x[i]); } scanf("%d", &scannum); line = search(x, scannum, 0, 999); printf("%d\n", line); } 読み込むファイル以下のようなファイルです。 1000.txt 0 2 4 6 .....
質問日時: 2021/06/07 05:00 質問者: nomorethan
ベストアンサー
3
0
-
アルディーノでI2Cを使ったLCDを使いたいのなら ヘッダーファイルの〈Wire.h〉を宣言しておく
アルディーノでI2Cを使ったLCDを使いたいのなら ヘッダーファイルの〈Wire.h〉を宣言しておく必要がある 上記の記述があるのですが、 宣言とはなんでしょうか、 加えて宣言する方法??等あるのでしょうか、初心者で右も左も分からない為アドバイス等いただけないでしょうか。 デスクトップかどこかに〈Wire.h〉ファイルを作るのでしょうか、
質問日時: 2021/06/06 17:51 質問者: 湧大
ベストアンサー
1
0
-
アルディーノ初心者です。 以下の文を組んだのですが、思い当たる節のエラーを直したのですがエラーが出て
アルディーノ初心者です。 以下の文を組んだのですが、思い当たる節のエラーを直したのですがエラーが出てしまいます。どなたかアドバイス等いただけないでしょうか。 #include <Wire.h>//I2C-LCDで利用するライブラリ #define SIGPin 8 //超音波距離センサ-の送受信ピン #define VCCPin 9 //超音波距離センサ-の電源ピン #define GNDPin 10 //超音波距離センサ-のGNDピン #define CTM 10 //HIGHの時間(μ秒) void setup(){ pinMode(VCCPin,OUTPUT); //超音波距離センサ-の電源設定 digitalWrite(VCCPin,HIGH); pinMode(GNDPin,OUTPUT); //超音波距離センサ-のGND設定 digitalWrite(GNDPin,LOW); pinMode(A2,OUTPUT); //I2C-LCDの電源設定 digitalWrite(A2,HIGH); pinMode(A3,OUTPUT); //I2C-LCDのGND設定 digitalWrite(A3,LOW); delay(100); //待機時間(必須) pinMode(13,OUTPUT); //LED設定 pinMode(12,OUTPUT); //ブザー設定 lcd_init(); //I2C-LCD初期化 lcd_setCursor(0,0); lcd_printStr("Dist "); delay(1000); } void loop(){ int dur; //時間差(μ秒) int dis; //距離(cm) pinMode(SIGPin,OUTPUT); digitalWrite(SIGPin,HIGH); delayMicroseconds(CTM); digitalWrite(SIGPin,LOW); pinMode(SIGPin,INPUT); dur = pulseIn(SIGPin,HIGH); //戻り時間の計測 dis = (int)dur * 0.017; char pr[8]; sprintf(pr,"%4d cm",dis); lcd_setCursor(0,1); lcd_printStr(pr); if (dis<30){tone(12,500,50); digitalWrite(13, HIGH);} //30㎝閾値でブザー、LEDオン else { noTone(12); digitalWrite(13,LOW);} //それ以外ではオフ delay(50); } エラーメッセージ 発生場所 行:6 文字:12 + void setup(){ + ~ 式が '(' の後に必要です。 発生場所 行:7 文字:15 + pinMode(VCCPin,OUTPUT); //超音波距離センサ-の電源設定 + ~ パラメーター一覧に引数が存在しません。 発生場所 行:8 文字:20 + digitalWrite(VCCPin,HIGH); + ~ パラメーター一覧に引数が存在しません。 発生場所 行:9 文字:15 + pinMode(GNDPin,OUTPUT); //超音波距離センサ-のGND設定 + ~ パラメーター一覧に引数が存在しません。 発生場所 行:10 文字:20 + digitalWrite(GNDPin,LOW); + ~ パラメーター一覧に引数が存在しません。 発生場所 行:11 文字:11 + pinMode(A2,OUTPUT); //I2C-LCDの電源設定 + ~ パラメーター一覧に引数が存在しません。 発生場所 行:12 文字:16 + digitalWrite(A2,HIGH); + ~ パラメーター一覧に引数が存在しません。 発生場所 行:13 文字:11 + pinMode(A3,OUTPUT); //I2C-LCDのGND設定 + ~ パラメーター一覧に引数が存在しません。 発生場所 行:14 文字:16 + digitalWrite(A3,LOW); + ~ パラメーター一覧に引数が存在しません。 発生場所 行:16 文字:12 + pinMode(13,OUTPUT); //LED設定 + ~ ',' の後に式が存在しません。 報告されていない解析エラーもあります。報告されたエラーを修正して再試行してください。 + CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId : ExpectedExpression
質問日時: 2021/06/06 16:10 質問者: 湧大
ベストアンサー
1
0
-
アルディーノ初心者です。 下記の文を組んだのですが、ある程度エラーを直したつもりなのですが、まだ基盤
アルディーノ初心者です。 下記の文を組んだのですが、ある程度エラーを直したつもりなのですが、まだ基盤に書き込みが出来ずエラーになります、どなたかアドバイス等いただけないでしょうか。 #include <Wire.h> //I2C-LCDで利用するライブラリ #define SIGPin 8 //超音波距離センサ-の送受信ピン #define VCCPin 9 //超音波距離センサ-の電源ピン #define GNDPin 10 //超音波距離センサ-のGNDピン #define CTM 10 //HIGHの時間(μ秒) void setup()} pinMode(VCCPin,OUTPUT); //超音波距離センサ-の電源設定 digitalWrite(VCCPin,HIGH); pinMode(GNDPin,OUTPUT); //超音波距離センサ-のGND設定 digitalWrite(GNDPin,LOW); pinMode(A2,OUTPUT); //I2C-LCDの電源設定 digitalWrite(A2,HIGH); pinMode(A3,OUTPUT); //I2C-LCDのGND設定 digitalWrite(A3,LOW); delay(100); //待機時間(必須) pinMode(13,OUTPUT); //LED設定 pinMode(12,OUTPUT); //ブザー設定 lcd_init(); //I2C-LCD初期化 lcd_setCursor(0,0); lcd_printStr(" Dist "); delay(1000); } void loop(){ int dur; //時間差(μ秒) int dis; //距離(cm) pinMode(SIGPin,OUTPUT); digitalWrite(SIGPin,HIGH); delayMicroseconds(CTM); digitalWrite(SIGPin,LOW); pinMode(SIGPin,INPUT); dur = pulseIn(SIGPin,HIGH); //戻り時間の計測 dis = (int)dur * 0.017; char pr[8]; sprintf(pr,"%4d cm",dis); lcd_setCursor(0,1); lcd_printStr(pr); if (dis<30){tone(12,500,50); digitalWrite(13, HIGH);} //30㎝閾値でブザー、LEDオン else { noTone(12); digitalWrite(13,LOW); } //それ以外ではオフ delay(50); }
質問日時: 2021/06/06 14:31 質問者: 湧大
ベストアンサー
1
0
-
VS2019のコンソールC++からGnuplotの起動と描画に関する質問です。
Q1)下記のC++から描画をしようとしますが、Gnuplotの画面は開きますが、 肝心のグラフの描画が出来ません。 つまり、描画のコマンドが受け付けられない様です コメント頂けますと、たいへん有難いです。 注)添付ファイルの最後に Terminal type is now 'qt' の表示があります。 ================= #include <iostream> #include <stdio.h> #include <stdlib.h> #define GNUPLOT_PATH "C:/PROGRA~1/gnuplot/bin/wgnuplot.exe" // gnuplot.exeのある場所 // \ではなく、/を使いましょう。 // Program FilesはPROGRA~1、Program Files(x86)はPROGRA~2に置き換えましょう int main() { FILE* gp; // For gnuplot // gnuplotの起動コマンド if ((gp = _popen(GNUPLOT_PATH, "w")) == NULL) { // gnuplotをパイプで起動 fprintf(stderr, "ファイルが見つかりません %s.", GNUPLOT_PATH); exit(EXIT_FAILURE); } // --- gnuplotにコマンドを送る --- // fprintf(gp, "set xrange [-10:10]\n"); // 範囲の指定(省略可) fprintf(gp, "set yrange [-1:1]\n"); fprintf(gp, "plot sin(x)\n"); //sin(x)を描く fprintf(gp, "plot sin(x)\n"); fflush(gp); // バッファに格納されているデータを吐き出す(必須) //system("pause"); fprintf(gp, "exit\n"); // gnuplotの終了 _pclose(gp); } ============ 以上、宜しくお願いします。
質問日時: 2021/06/06 12:15 質問者: shiggy
ベストアンサー
5
0
-
コーディングについて。
コーディングとは、コンピュータにコード入力する事を言います。 転じてプログラミングの意味で使われますが、プログラムコードを書くこと全般を言います。 プログラムコードはふつうソースコードと呼びます。 ソースコードとは普通はテキストファイルの形で保存されるコードのことです。 アセンブリ言語もテキストファイルに書き込んでゆきます。 マシン語は、基本的にはテキストファイルではなく、実行形式のバイナリファイルそのままをバイナリエディタや専用エディタで編集します。 C言語中のインラインアセンブラのように、そこにマクロ命令でマシン語を書き込む事も出来るには出来ます。 勿論、マクロアセンブラ(MASM)のようなアセンブリ言語でもマクロ命令でマシン語コードを記述出来ます。 大昔まで言えば、穿孔テープを使っていた頃のコンピュータなら、テープに穴を空ける作業もコーディングです。 穿孔テープは穴の有無を2進数で示していて、そこに必要に応じてチェックサムなどを付けたものですが、これは紛れもなくマシン語です。 これら全てを総じてコーディングと呼びます。 ですから、アセンブリ言語もマシン語もそれを書くことはコーディングです。 以下三つの質問に答えていただけると幸いです。 ①テキストファイルとは何でしょうか? ② マシン語は、基本的にはテキストファイルではなく、実行形式のバイナリファイルそのままをバイナリエディタや専用エディタで編集します。 C言語中のインラインアセンブラのように、そこにマクロ命令でマシン語を書き込む事も出来るには出来ます。 勿論、マクロアセンブラ(MASM)のようなアセンブリ言語でもマクロ命令でマシン語コードを記述出来ます。 ここの意味がわかりません。もう少し詳しく教えて頂きたいです。 ③チェックサムとは何でしょうか? よろしくお願いします。
質問日時: 2021/06/06 08:02 質問者: メラゾーム
ベストアンサー
5
0
-
アセンブリ言語について。
コンピュータは電圧の高い(H)と低い(L)を2進数としてCPUがクロック信号の入力を受けて処理します。 2進数はそのままだと扱いづらいので、数値的に親和性のある2のn乗進数を使います。 一般にコンピュータは1オクテットを1バイト、1ワードとしています。 その時16進数2桁で1バイトとなることから16進数表記が使われています。 なので、極論で言えば16進数2桁ではなく256進数1桁でも良かったという事です。 実は、大抵のアセンブリ言語は2進数表記を扱えます(8進数も使えるかも)。 アセンブラは16進数でも2進数でもそのまま対応するマシン語に置き換えていくものです。 アセンブリ言語とマシン語は一体一で対応しているので、実行ファイルがあれば、逆アセンブルで完全なアセンブリコードを復元出来ます。 マクロアセンブラの場合はマクロ命令までは再現されませんが、ここでは関係無いので割愛します。 つまり、マシン語とアセンブリ言語は本質的に全く同じものです。 単に、人間に読みやすく見せているものアセンブリ言語です。 マシン語もアセンブリ言語も低水準言語です。 高水準言語とは、C言語などのコンパイルを必要とするものや、BASICやJavaScriptのようにインタープリタを必要とするもののことです。 こちらは、CPUが直接解釈できるマシン語とは全く違う人間の都合に合わせた表現でコーディングし、後からマシン語に変換する仕組みのものです。 人間に読みやいコードをマシン語に変換するので、関係は一体一ではありません。 つまりコンパイルやインタープリットすると元の情報(ソースコード)は失われます。 で、① インタープリタとインタープリットとは何でしょうか?教えていただけないでしょうか?すみません。 ② マクロアセンブラの場合はなぜマクロ命令が実行されないのでしょうか?教えていただけないでしょうか?すみません。 ③ 実行ファイルがあれば、逆アセンブルで完全なアセンブリコードを復元出来ます。とはどういう事でしょうか?つまり、実行ファイルというのは、プログラマーが書いたソースコードのことでしょうか?教えていただけないでしょうか?すみません。 教えていただけないでしょうか?すみません。
質問日時: 2021/06/06 07:59 質問者: メラゾーム
ベストアンサー
1
0
-
Cプログラムについて
Cプログラムの構造体について質問です。 ジムの会員4名の名簿を、表1に示す6個のメンバからなる 構造体(タグ名が club, 型は GYM型とする)で定義した配列 fitness[] を使って作成し、表2のデータをセットした。 この会員データを用いて下記の(1)~(5)を求め画面に表示するプログラムを作成してください。なお、メンバのアクセスにはポインタとアロー演算子を用いること。 (1) 平均年齢, (2) 平均身長, (3) 平均体重, (4) 体重の最大値とその会員番号 (5) 身長の最小値とその会員番号 について(1)~(4)は問題なかったのですが、(5)番の会員番号の値だけが違った値になってしまいます。 どうすれば正しい会員番号を出力してくれるのでしょうか? 回答お願いします。 ソースコード #include <stdio.h> #define NUM 4 int main(void) { int sumA = 0, maxB,minB; float sumH = 0, sumW = 0, maxW, minH; int i; typedef struct club { int bangou; char name[20]; char seibetsu; int nenrei; float shinchou; float taijuu; }GYM; GYM fitness[] = { {1401,"Yamada",'m',40,170.2,67.9}, {1402,"Suzuki",'f',22,152.4,47.9}, {1403,"Nakano",'f',30,160.5,50.2}, {1404,"Morita",'m',52,168.3,72.4} }; maxB = fitness[0].bangou; minB = fitness[0].bangou; maxW = fitness[0].taijuu; minH = fitness[0].shinchou; for (i = 0; i < 4; i++) { sumA += fitness[i].nenrei; sumW += fitness[i].taijuu; sumH += fitness[i].shinchou; if (maxW < fitness[i].taijuu) { maxW = fitness[i].taijuu; maxB = fitness[i].bangou; minB = fitness[i].bangou; } if (minH > fitness[i].shinchou)minH = fitness[i].shinchou; } printf("平均年齢:%g\n", sumA / 4.0); printf("平均身長:%g\n", sumH / 4.0); printf("平均体重:%g\n", sumW / 4.0); printf("体重の最大値:%g 会員番号:%d\n", maxW,maxB); printf("身長の最小値:%g 会員番号:%d\n", minH,minB); return(0); } 実行結果 平均年齢:36 平均身長:162.85 平均体重:59.6 体重の最大値:72.4 会員番号:1404 身長の最小値:152.4 会員番号:1404
質問日時: 2021/06/05 19:33 質問者: あんぱーーー。
ベストアンサー
1
0
-
プログラミング言語について。
最近の高水準のプログラミング言語が、人間にも理解しにくいのは、より利便性が増したからなのでしょうか?教えていただけないでしょうか?すみません。
質問日時: 2021/06/05 16:48 質問者: メラゾーム
解決済
5
0
-
C言語について。
教えて・学ぶC言語入門という本のプログラムは、全てコマンドプロンプトで、対応できるのでしょうか?教えていただけないでしょうか?すみません。
質問日時: 2021/06/05 14:48 質問者: メラゾーム
ベストアンサー
1
0
-
プログラミングについて再度質問です。ソースコード教えて欲しいです。stdilbとかEXIT使わない簡
プログラミングについて再度質問です。ソースコード教えて欲しいです。stdilbとかEXIT使わない簡単なやつ教えて欲しいです。注文多くてすいません。 定価と消費税率(%)を引数として税込価格を返す price関数を作成 – 定価はint型、税率はdouble型、税込価格はdouble型とする – main関数内でprice関数を呼び出し税込価格を計算させる – price関数はmain関数の後に記述する – 定価、税率(%)、税込価格を表示する(main関数内) –税込価格の表示は小数点以下の値も表示する(四捨五入や切り捨ての必要なし)
質問日時: 2021/06/05 13:28 質問者: たまごろん
ベストアンサー
3
0
-
プログラミングについての質問です。ソースコード教えて欲しいです。 定価と消費税率(%)を引数として税
プログラミングについての質問です。ソースコード教えて欲しいです。 定価と消費税率(%)を引数として税込価格を返す price関数を作成 – 定価はint型、税率はdouble型、税込価格はdouble型とする – main関数内でprice関数を呼び出し税込価格を計算させる – price関数はmain関数の後に記述する – 定価、税率(%)、税込価格を表示する(main関数内) –税込価格の表示は小数点以下の値も表示する(四捨五入や切り捨ての必要なし)
質問日時: 2021/06/04 14:25 質問者: たまごろん
ベストアンサー
1
0
-
プログラミングに関して
専門学生です。プログラムを組んだのですが先生に質問されまして、b = aとしないとa *a + b*b=c*cの判定ができなくなってしまいます。結果としてb=a+1で正しいけど、なぜb=aとしなくてよいのかと言われましたが答えられませんでした。なぜb=aとしなくてよいのでしょうか。 #include <stdio.h> void main() { int a; int b; int c; int n = 0; for(a = 1; a <= 100; a++) { for(b = a + 1; b <= 100; b++) { for(c = 1; c <= 100; c++) { if(a * a + b * b == c * c) { printf("a = %3d, b = %3d, c = %3d\n", a, b, c); n++; } } } } printf("組み合わせの数:%d\n", n); }
質問日時: 2021/06/03 22:53 質問者: 山の猫
解決済
8
0
-
プログラミングの質問です。 0〜1の一様乱数を100個生成して、その各値を縦のヒストグラム表示するソ
プログラミングの質問です。 0〜1の一様乱数を100個生成して、その各値を縦のヒストグラム表示するソースコードを書きたいのですが。 乱数を生成して配列d保存はできました。 次にある関数でヒストグラムを作るために、2次元配列hに*を上手く代入して、 最後の関数でh行列を活用してヒストグラムを生成したいです。 どなたか詳しksた、アドバイスなどを頂けると嬉しいです
質問日時: 2021/06/03 13:12 質問者: フロッピー
解決済
6
0
-
解決済
4
0
-
C#の質問
下記のような数当てゲームのプログラムを組みました。 using System; namespace 数当てゲーム { class DetermineNumber { static void Main(string[] args) { // 難易度の設定 int max = 10; //乱数の最大値 int maxTime = 3; //解答できる回数 // 乱数で正解を設定 Random rand = new Random(); // 乱数生成オブジェクトを生成 int answer = rand.Next(1, max); // 乱数が入る int score = 0; //最終的な点数 int Highscore = 100; //答えた回数で変動する仮の点数 //回答を入力 for (int i = 0; i < maxTime; i++) { Console.WriteLine("あと{0}回答えられます、\nいくつでしょうか?", maxTime - i); int inputNum = int.Parse(Console.ReadLine()); if (inputNum == answer) { Console.WriteLine("正解!"); score = Highscore; //得点が入った break; } else if (inputNum > answer) { Console.WriteLine("違います,もっと小さいです"); } else { Console.WriteLine("違います,もっと大きいです"); } Highscore /= 2; //得点が入らないので減点 } Console.WriteLine("答えは{0}でした\n{1}点", answer, score); } } } 下記の仕様通りにするには何をどう追加すれば良いですか? ・初回で当たらなかった場合、2回目以降で以下を表示 ・前回入力より近づいた場合「近づきました」 ・前回入力より遠ざかった場合「遠くなりました」 ・差が変わらない場合は「変わりません」
質問日時: 2021/06/02 11:57 質問者: 鎌田氏
ベストアンサー
2
0
-
【C言語】このプログラム各行の意味を教えてください
C言語で教えていただきたいです。 これはコマンドライン入力に複数の整数値を入力すると, 入力した整数値の合計を計算するというプログラムなのですが、 各行がどんな働きをしているのか教えていただけますでしょうか?? #include <stdio.h> #include <stdlib.h> int main(int argc, char** argv) { int sum = 0; for (int i = 0; i < argc; ++i) sum += atoi(argv[i]); printf("%d\n", sum); return 0; }
質問日時: 2021/06/01 23:18 質問者: zoooman
ベストアンサー
2
0
-
C言語において、 配列要素をひとつずつ前にずらすコード
C言語において、 配列要素をひとつずつ前にずらすコードはどのように書いたらいいのでしょうか? 例えば a[10] = {14,32,96,74,32,26,88,49,20,13}; を a[10]={32,96,74,32,26,88,49,20,13,14} にするような。 ご教授ください。
質問日時: 2021/05/31 19:20 質問者: かか。。。
解決済
4
0
-
C言語教えてください!
C言語教えてください。 コマンドライン入力に複数の整数値を入力すると、入力した整数値の合計を計算し,その結果を標準出力に出力するプログラムを作成したいのですが、どんなコードになりますか??
質問日時: 2021/05/31 01:26 質問者: zoooman
解決済
1
0
-
【C言語について】ファイル名の出力と行番号の削除
C言語について質問です。 コマンドライン入力にファイル名を入力すると、そのファイルの内容をそのまま標準出力に出力するプログラムを作成したく以下のコードを考えました。 #include <stdio.h> #define SIZE 256 int main(int argc, char *argv[]) { FILE *fp; char line[SIZE]; int i; if ((fp = fopen(argv[1], "r")) == NULL) { printf("Can't open the file.\n"); return 1; } for (i=1; fgets(line, SIZE, fp) != NULL; i++) { printf("%d%s", i, line); } fclose(fp); return 0; } このコードですと 1file text 2file text という感じで出力されるのですが、、 ↓の感じにしたいです [file_01.txt] file text file text ・読み込んだファイル名も出力させたい ・行番号を削除したい 何卒よろしくお願いいたします。
質問日時: 2021/05/30 23:49 質問者: zoooman
解決済
2
0
-
C言語 プログラミング 関数について
ある変数に何かある値を設定する際にユーザ定義関数を作成・使用する場合に、 まずは関数内部で生成(計算)した値をその関数の戻り値にして設定対象変数に代入することを考えます。 「まずは」というのは、この作成指針で不都合が生じた場合には別の指針を検討することを意味します。 例えばint型変数xに、 乱数を設定する際にユーザ定義関数myRandを作成・使用する場合に、 まずは int myRand(void){ int result; /***乱数を計算してresultに設定するプログラム***/ return result; } のように関数myRandの内部で生成した値resultを戻り値にして、main関数などで int x=myRand(); のように関数myRandの戻り値をint型変数xに代入することを考えます。そしてこの指針で目的を達成できるので別の指針を検討する必要はありません。 一方で、1回の関数呼び出しで配列の全要素に何かある値を設定するためのユーザ定義関数を作成・使用する場合には、 設定対象配列をユーザ定義関数の引数にします。 このとき、ユーザ定義関数内部で生成(計算)した値を戻り値にして 設定対象配列に代入することは考えません。 例えば数学ではベクトル値関数があり、, とすると、のように、5次元ベクトルを入力としてが何か5次元ベクトルを生成し、それをに代入することができます。 しかしながら、C言語では /***何か関数fの定義***/ double x[5], y[5]; /***何かxの要素の設定***/ y=f(x); のように書くことはできません。 その理由を説明して下さい。 上の問題を教えてもらえますでしょうか?
質問日時: 2021/05/30 16:39 質問者: かか。。。
解決済
5
0
-
C言語
配列の要素を書き換える関数については書き換え対象配列を関数の引数にする。 一方、一般には関数の仮引数を関数内部で書き換えても関数外部において実引数が書き変わらない。なぜ 配列の要素を書き換える関数については 書き換え対象配列を関数の引数にして要素を書き換えることができるのか。その理由を「アドレス」という言葉を用いて説明して下さい。 上の問題をご教授ください。
質問日時: 2021/05/30 16:38 質問者: かか。。。
解決済
1
0
-
プログラミング C言語
配列を引数にとる関数について、配列名だけでなく配列の要素数も関数の引数にしなければならない理由はなんですか?「アドレス」という言葉を用いて説明して下さい. 上の問題を教えてもらえますでしょうか?
質問日時: 2021/05/30 16:36 質問者: かか。。。
解決済
4
0
-
ベストアンサー
1
0
-
C# 配列の長さ
初歩の質問で恐縮です。 配列の使い方で public string[] item; と宣言しておいて、 下記例のように配列の長さを最初に宣言せず、その都度値を代入して見かけ上長さを動的に変え、Lengthの値を使うのは正しいやり方なのでしょうか? string test = "A,B,C"; item = test.Split(','); int len1 = item.Length; . . . test = "A,B,C,D"; item = test.Split(','); int len2 = item.Length; Console.WriteLine(" len1=" + len1 + " len2=" + len2); 結果 len1=3 len2=4
質問日時: 2021/05/28 15:13 質問者: yukimesan
ベストアンサー
5
0
-
C言語を使って多項式を計算する問題です。
大学院試験のプログラムの問題なのですが、問1について(2)までは自分でなんとか出来たのですが、 (3)以降が分からなくて困っています。 どなたかC言語に詳しい方いましたら助けてください。 宜しくお願いします。
質問日時: 2021/05/28 15:04 質問者: だいこううう
ベストアンサー
3
0
-
C言語についてです。 アスタリスクを用いて、短形波を描きたく、for文を使えば良いかと思うのですがど
C言語についてです。 アスタリスクを用いて、短形波を描きたく、for文を使えば良いかと思うのですがどうも上手く行きません。 例えば、3段だったら **** * * **** * * **** * * **** * * のような感じです。 よろしくお願いします。
質問日時: 2021/05/27 12:43 質問者: kinakomochi12
ベストアンサー
3
0
-
プログラムの質問
次のプログラムを教えて下さい。 与えた数(小数も含む)を2進数に変換するプログラム。(関数ではなくアルゴリズム通りに変換)
質問日時: 2021/05/27 12:39 質問者: AAA4040
ベストアンサー
3
0
-
libsshのコンパイルエラー
libsshをダウンロードして使ってみたもののコンパイルに失敗します。openssh-serverを入れてもコンパイルに失敗します。何か原因があるんでしょうか? ちなみに、WSLのDebianでコンパイルはg++ test1.cppです。
質問日時: 2021/05/26 18:41 質問者: ware255
ベストアンサー
2
0
-
C言語についてです。 Macを使用しているのですが、C言語の環境構築をしてみました。 試しに hel
C言語についてです。 Macを使用しているのですが、C言語の環境構築をしてみました。 試しに hello.cというファイルで #include <stdio.h> int main() { printf(“HelloWorld!!\n”); return 0; } をコンパイルして実行しようと思ったのですが、 ターミナルで gcc -o hello hello.c を実行してみたのですが、 Undefined symbols for architecture x86_64: "_main", referenced from: implicit entry/start for main executable ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) と言うエラーが表示されてしまいました。 いろいろ調べてみたのですが、バージョンによってコマンドが違うなどあって、うまくいかない原因のようなものはたくさん出てきたのですが、解決策が見つかりませんでした。 どなたか詳しい方、教えていただけると助かります。 よろしくお願いします。
質問日時: 2021/05/26 11:00 質問者: フロッピー
ベストアンサー
2
0
-
式は定数値が必要です」というエラー
レーベンシュタイン距離のコードを考えておりエラーの解決方法を教えていただきたいです。 コードは #include <stdio.h> #include <stdlib.h> #include <string.h> int compare_int(const void *a, const void *b) { return *(int*)a - *(int*)b; } int minimum(int n0, int n1, int n2) { int d[] = {n0, n1, n2}; qsort(d, 3, sizeof(int), compare_int); return d[0]; } int LevenshteinDistance(char str1[], char str2[]) { int cost; int lenStr1 = strlen(str1); int lenStr2 = strlen(str2); int d[lenStr1 + 1][lenStr2 + 1]; for (int i1 = 0; i1 <= lenStr1; i1++) { d[i1][0] = i1; } for (int i2 = 0; i2 <= lenStr2; i2++) { d[0][i2] = i2; } for (int i1 = 1; i1 <= lenStr1; i1++) { for (int i2 = 1; i2 <= lenStr2; i2++) { cost = (str1[i1] == str2[i2]) ? 0 : 1; d[i1][i2] = minimum( d[i1-1][i2] + 1, /* 文字の削除 */ d[i1][i2-1] + 1, /* 文字の挿入 */ d[i1-1][i2-1] + cost /* 文字の置換 */ ); } } return d[lenStr1][lenStr2]; } int main(void) { int p = LevenshteinDistance("JAPAN", "JPAN"); printf("%d ", p); printf("\n"); return EXIT_SUCCESS; } という風になっており、19行目のint d[lenStr1 + 1][lenStr2 + 1];の部分で エラー C2131 式は定数に評価されませんでした というエラーが起こりました。少し調べたところ配列の中に変数は使えないということだったのですが何か解決方法はないのでしょうか?よろしくお願いします。
質問日時: 2021/05/26 02:21 質問者: ぴーやと
解決済
7
0
-
C言語の問題について
C言語に詳しい方に質問です。 この文字列を逆さに表示するというものですが、何を使えって逆さを表現したらいいのかが全く分かりません。 どなたか回答よろしくお願いします。
質問日時: 2021/05/25 15:50 質問者: Losteth89
ベストアンサー
8
0
-
Cプログラムについて
テキストファイルの読み込みについて質問です。 あらかじめ用意されたテキストファイルを1行読み込み、 読み込んだ文字列内で特定の文字を検索する以下の プログラムを作成せよ。 (1)Emacs(Visual Studio)を用いて「風が吹けば桶屋が儲かる。」をローマ字で入力し、okeya.txt というファイル名で保存せよ。 (2)つぎに、この okeya.txt を読み込み、文字列内で文字の 'a'が 何番目にあるかをすべて列挙表示するプログラムokeya.cを 作成せよ。なお、文字列の先頭文字(K)の位置を第1番目とする。 文字列中の特定文字の検索にはポインタを用いること。 この実行結果が Kazega hukeba okeyaga moukaru Kazega hukeba okeyaga moukaru上の文字列にaは 2番目にあります。 6番目にあります。 13番目にあります。 19番目にあります。 21番目にあります。 27番目にあります。 になったのですが、ポインタを用いて特定文字の探索は以下のコードで正しいですか? #pragma warning(disable: 4996) #include <stdio.h> #include <stdlib.h> #include <string.h> #define N (256) int main(void) { FILE* fp; char filename[] = "okeya.txt"; char str[N]; fp = fopen(filename, "r"); if (fp == NULL) { printf("%s file not open!\n", filename); exit(1); } while (fgets(str, N, fp) != NULL) { printf("%s", str); } char* cp = str; char target = 'a'; int position; printf("\n%s", str); printf("上の文字列に%cは\n", target); while ((cp = strchr(cp, target)) != NULL){ position = (int)(cp - str) + 1; printf("%d番目にあります。\n", position); cp++; } fclose(fp); return (0); }
質問日時: 2021/05/24 22:02 質問者: あんぱーーー。
解決済
1
0
-
Cプログラム テキストファイルの読み込みについて
テキストファイルの読み込みについて質問です。 あらかじめ用意されたテキストファイルを1行読み込み、 読み込んだ文字列内で特定の文字を検索する以下の プログラムを作成せよ。 (1)Emacs(Visual Studio)を用いて「風が吹けば桶屋が儲かる。」をローマ字で入力し、okeya.txt というファイル名で保存せよ。 (2)つぎに、この okeya.txt を読み込み、文字列内で文字の 'a'が 何番目にあるかをすべて列挙表示するプログラムokeya.cを 作成せよ。なお、文字列の先頭文字(K)の位置を第1番目とする。 文字列中の特定文字の検索にはポインタを用いること。 まずは「風が吹けば桶屋が儲かる」(ローマ字)を表示したかったのですが、コンパイルした結果、何も表示されませんでした。 表示されるにはどうしたら良いですか? Visual Studioを使用してます。 ソースコード pragma warning(disable: 4996) include <stdio.h> include <stdlib.h> constexpr auto N = 256; int main(void) { FILE* fp; char filename[] = "okeya.txt"; char str[N]; fp = fopen(filename, "r"); if (fp == NULL) { printf("%s file not open!\n", filename); exit(1); } while (fgets(str, N, fp) != NULL) { printf("%s", str); } fclose(fp); return (0); } okeya.txt Kazega hukeba okeyaga moukaru
質問日時: 2021/05/23 13:12 質問者: あんぱーーー。
解決済
6
0
-
Windows10で自作プログラムが脅威
になります。 デルの廉価ノートパソコン Windows10 home Microsoft Visual Studio Community 2017 Version 15.9.7 普通のC++プログラムです。 購入当初はインストール済みのウイルス検知ソフトが機能していましたが、期限切れになりました。 現在はOS自身のそれが機能しているようです。 どうやったら安全な実行ファイルだと教えてやれるのでしょうか。
質問日時: 2021/05/23 05:07 質問者: adhiapppozzzzzzz
解決済
2
0
-
C言語 for文をつかって記号を表示させるプログラム
任意の正整数を入力して、その行数だけ '*' を表示するプログラムを作成したいです!。そして、 1行に表示する '*' の数は、画像のように1個、3個、5個・・・と増えていくようにしてください。
質問日時: 2021/05/22 22:30 質問者: とんかつが
ベストアンサー
2
0
-
C++のテーブル検索に関する質問です。
一次元配列に下記の様な形で文字列が入っています。 Q1)この文字列を検索して、そのインデックスを得る方法を お教え頂けますと大変有難いです。 注)例えば、lll_doを検索した場合は、0が返り、lll_reを検索した場合は1が返える 様にしたいと思います。 ===== 'lll_do', 'lll_doh', 'lll_re', 'lll_reh', 'lll_mi', 'lll_fa','lll_fah', 'lll_so','lll_soh', 'lll_ra' ,'lll_rah' ........... ,'lll_si' ===== 以上お手数ですが宜しくお願いします。
質問日時: 2021/05/22 10:49 質問者: shiggy
ベストアンサー
4
0
-
C# WinForm のDataGridView CellValueChangeイベントが発火する条
C# WinForm のDataGridView CellValueChangeイベントが発火する条件について、ユーザーがセルを操作して値を変更した場合は当然の事で、プログラム内部でDataGridViewCellの値を編集した場合も同様です。しかし、データソースにDataTableをバインドし、DataTableの値を変えても発火してくれませんでした。(セルの値ら追従して変わってぬれる)データソースを変更した際にもCellValueChangeのイベントを発火させる方法はないでしょうか。CellValueChangeを使う事にこだわりはありませんが、実現したい事としましては、DataTableで変更された対象セルの背景色を変えたいになります。どうぞ宜しくお願い致します。
質問日時: 2021/05/20 20:11 質問者: monapiii
ベストアンサー
3
0
-
あるFORMアプリケーションAからCSVファイルが出力されます。そのファイルを別のFORM アプリケ
あるFORMアプリケーションAからCSVファイルが出力されます。そのファイルを別のFORM アプリケーションBで読み込んでデータを編集するのですが、アプリケーションA出力された後、ユーザーによってファイルを編集させたくありません。アプリケーションBで読み込む際に何らかのチェックを入れたいと思っていますが、私が思いつくところ「ファイルの作成・更新・アクセス日時」をうまく使えば出来そうな気がしますが、他に良い方法がありましたらご教授願います。その他に出来るかわかりませんが、ファイルの更新回数など取得できたりしないでしょうか・・・
質問日時: 2021/05/19 21:45 質問者: monapiii
ベストアンサー
3
0
-
int calc(int *a.int s,int t){ if(s==t)return a[s];
int calc(int *a.int s,int t){ if(s==t)return a[s]; else { h=(s+t)/2; return calc(a,s,h)+calc(a,h+1,t); } } 配列a[8]={11,5,7,3,2,17,1,3}としたときcalc(a,0,7)を実行するとどんな結果が得られるか?
質問日時: 2021/05/19 12:12 質問者: えぬわいと
解決済
2
1
-
int calc(int *a.int s,int t){ if(s==t)return a[s];
int calc(int *a.int s,int t){ if(s==t)return a[s]; else { h=(s+t)/2; return calc(a,s,h)+calc(a,h+1,t); } } エラーが出るのですがどうしたらいいでしょうか?
質問日時: 2021/05/19 12:11 質問者: えぬわいと
解決済
2
0
-
C言語について質問です 画像のようにエラーが出てしまうのですが、どこが間違っているのか分かりません
C言語について質問です 画像のようにエラーが出てしまうのですが、どこが間違っているのか分かりません 教えていただけるとありがたいです。 ※プログラミング初心者です ・構造体→point、 ・関数 →input_cordinate 点の座標を構造体pointに入れる →center_point 2点の中点を求める <実行例> 点S X座標:○ Y座標:○ 点T X座標:○ Y座標:○ 点Sと点Tの中点は(○,○)です ーーーーーーーーーーーーーー #include <stdio.h> typedef struct { double x; double y; }point; point input_cordinate(); point center_point(point point1,point point2); int main() { point cordinate; point tyuutenn; cordinate = input_cordinate(); tyuutenn = center_point(tyuutenn.x, tyuutenn.y); printf("点Sと点Tの中点は(%f,%f)です",tyuutenn.x,tyuutenn.y); } point input_cordinate() { point point1,point2; point center_point; printf("点S\n"); printf("x座標:"); scanf("%lf",&point1.x); printf("y座標:"); scanf("%lf",&point1.y); printf("点T\n"); printf("x座標:"); scanf("%lf",&point2.x); printf("y座標:"); scanf("%lf",&point2.y); return center_point; } point center_point(point point1,point point2) { point tyuutenn; tyuutenn.x = (point1.x + point2.x)/2; tyuutenn.y = (point1.y + point2.y)/2; return tyuutenn; }
質問日時: 2021/05/18 23:45 質問者: ----------------。
ベストアンサー
5
0
-
c言語for文
c言語のfor文の問題が理解できなくなってしまったので至急教えて欲しいです。 例えばですが、左上を直角とする三角形を表示させる時は下記のようなプログラムを書きます。この時の2つ目のfor文は横の行の*の数を表してると思うのですが、なぜ初期設定にj=0という風に書いているのでしょうか。一行目は*が10個表示されるならj=10と書いてはいけないんですか? もう一つ質問したいことがあるのですが、この2つのfor文を for (i=1; i<=10; i++)for (j=1; j<=10-i; j++)のように1繰り上げて書くのはダメなんでしょうか。i=0のように0始まりだと個人的に違和感がありうまく理解できません。できるだけ詳しく教えて欲しいです。お願いします。 #include <stdio.h> int main(void) { int i, j; for (i=0; i<10; i++){ for (j=0; j<10-i; j++){ printf("*"); } printf("\n"); } return (0); }
質問日時: 2021/05/16 23:59 質問者: あa。。
解決済
6
0
-
C言語でのマイコン制御入門
C言語でのマイコン制御の勉強をしておりまして、現在躓いております。 初めに、switch文で出力を分岐させ、7セグメントLEDの点灯制御を行いたいと思い、7セグの内、2か所を点灯させるため、写真のようにコードを打ち込んだのですが「ケース1、ケース2、は宣言されましたが、参照されていません。」と警告が出てきます。それが原因でLEDが点灯しないのかはわかりませんが、上手くいきません。対処法が分かる方お願いします。 ちなみに、画面外で int a = 1;と定義と初期化してあります。それと出力文単体でならLEDは点灯します。
質問日時: 2021/05/16 19:09 質問者: ハルキング111
解決済
2
0
-
c言語の問題
c言語の問題です。キーボードから小数を繰り返し入力させ、負の数が入力されると入力を終了し、 それまでの非負小数の平均を 表示するプログラムを作成せよ。という問題です。自分は下記のように書いたのですが、平均を表示する時に負少数の値も含めたものが出てしまいます。どこを直せばいいのか教えていただきたいです。 #include<stdio.h> int main(void) { double x,sum; int a; sum=0; a=0; while(x>=0){ printf("number="); scanf("%lf",&x); a++; sum+=x; if(x<0){ break; } } printf("%lf\n",sum/a); return(0); }
質問日時: 2021/05/16 12:51 質問者: あa。。
解決済
4
0
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
最新のコラム/記事
-
マッチングアプリで出会ったカップルは成婚率が高い!?結婚カウンセラーに聞いてみた
パートナーとの出会いの場として、もはや主流となったネット婚活やマッチングアプリ。中でも手軽に登録できるマッチングアプリは、10代から50代と幅広い年代が利用している。一方で、“相手の目的が投資関係の詐欺や...
-
メダロット:第250話「Vol.250※期間限定公開」
天才メダロッター六葉カガミの戦いを描く「メダロット再~リローデッド~」(漫画:伯林、監修:イマジニア)、20周年を迎えた『メダロット』が新たなストリーでココに再起動!!★全話無料で読める、週刊メダロット通信...
-
メダロット:第249話「Vol.249※期間限定公開」
天才メダロッター六葉カガミの戦いを描く「メダロット再~リローデッド~」(漫画:伯林、監修:イマジニア)、20周年を迎えた『メダロット』が新たなストリーでココに再起動!!★全話無料で読める、週刊メダロット通信...
-
日本古来の伝統工芸「金継ぎ」で修復した食器は前と同じように使えるの?
大切にしている食器が割れてしまったら、きっと誰もが「元に戻したい」と願うだろう。「教えて!goo」にも「割ってしまったお気に入りの食器を復活できる?」という質問があり、最適な方法について様々な意見が寄せら...
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
逆コンパイルと逆アセンブルの違い...
-
C言語について。
-
これて逆じゃないですか?
-
C言語について。
-
コンソールアプリを作成するのにお...
-
私は
-
C言語 1から20までの逆数の和を求め...
-
Windows Formアプリからコンソール...
-
プログラムの実行時に'<'でリダイレ...
-
パソコン
-
あんまり考えたくないけど
-
10進数からN進数に変換するプログラ...
-
バッチファイルで以下のようなもの...
-
c#のTLS1.2での通信について
-
だいがくの電し書籍で
-
VisualStudio2022でC言語プログラム...
-
VisualStudioでのプログラミングに...
-
C言語って古いですか?
-
ホワイトハッカーを目指そうかと思...
-
【C言語】全角文字の配列を、全角の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラム言語について c言語もコ...
-
C#でログファイルにファイルパスが...
-
Python、プログラミングについて質...
-
バッチファイルで以下のようなもの...
-
プログラミングの課題がわからない...
-
だれがとけるの?
-
0 == False はいいけど
-
CPUが16bitでも32bitOSでコンパイル...
-
なんで
-
c++でテンプレートのコードでわから...
-
プログラマーです。このDB設計だと...
-
c言語のリダイレクトによる円の描...
-
プログラミングでArduinoのc++かc#...
-
大量のデータを読み込んで表示する...
-
応用情報技術者試験の令和元年秋、...
-
複素関数はどこはあんまりやらなく...
-
gccを行ってもexeファイルが生成さ...
-
c言語
-
swift言語の最適化 swift最適化を最...
-
VisualStudio2022でC言語プログラム...
おすすめ情報