Wr5 の回答履歴
- 黒の塊の数え方
■■□□■■■■ □■■■■□□□ □□□□□□□□ ■□□■■■■■ ■□□■■■■■ ■■□■□■□■ □■□□□■□■ □■□■■■■■ こういうテキストがあったときに ■の塊を数えるプログラムを教えてください このテキストの場合は 黒 = 3になります言語はC#でお願いします できれば解説もお願いします
- 締切済み
- C・C++・C#
- banbantekaro
- 回答数4
- C言語 自然数の四則演算 エラー原因不明
プログラミング初心者です 自然数の四則演算のプログラムを作ったところ コンパイル時にはエラーは起こりませんでしたが実行時にエラーが起こり、動作が停止してしまいました。 自分で原因が特定できなかったのでこちらを頼らせてもらうことにしました。 ご教授お願いします。 <環境> Windows 7 Home Premium 64-bit Visual Studio 2013 #include<stdio.h> #include<ctype.h> #include<stdlib.h> int main( void ) { char str[2][128]={{0}}; int i,j,err=0,cont=0,wari=0; double c,d,dans; long a,b,lans; puts("自然数の四則演算('+''-''*''/')を計算"); //被加数,被減数,被乗数,被除数と演算の判定 i=0; while((str[0][i]=getchar())!='\n'){ if(str[0][0]=='+' || str[0][0]=='*' || str[0][0]=='/' || str[0][0]=='-'){ err=1; } if(str[0][i]=='+' || str[0][i]=='*' || str[0][i]=='/' || str[0][i]=='-'){ cont=1; //2つ目の数字を読み込むか否かの判定 break; }else if(isdigit(str[0][i])==0){ err=1; //数字と演算方法以外の入力はエラー } i++; } //加数,減数,乗数,除数の判定 if(cont==1 && err!=1){ j=0; while(str[1][j]!='\n'){ if(isdigit(str[0][i])==0){ err=1; //数字以外の入力があればエラー } j++; } str[1][j]='\0'; if(err==1){ printf("エラー入力"); return 0; } switch(str[0][i]){ case '+': str[0][i]='\0'; a=atol(str[0]); b=atol(str[1]); lans=a+b; break; case '-': str[0][i]='\0'; a=atol(str[0]); b=atol(str[1]); lans=a-b; break; case '*': str[0][i]='\0'; a=atol(str[0]); b=atol(str[1]); lans=a*b; break; case '/': str[0][i]='\0'; c=atol(str[0]); d=atol(str[1]); dans=(double)c/d; wari=1; //割り算の判定 break; default: break; } } if(err==0){ if(wari==0){ printf("計算結果:%ld\n",lans); }else if(wari==1){ printf("計算結果:%f\n",dans); } }else{ printf("エラー入力です\n"); } return 0; }
- ベストアンサー
- C・C++・C#
- honechicken
- 回答数5
- C言語 自然数の四則演算 エラー原因不明
プログラミング初心者です 自然数の四則演算のプログラムを作ったところ コンパイル時にはエラーは起こりませんでしたが実行時にエラーが起こり、動作が停止してしまいました。 自分で原因が特定できなかったのでこちらを頼らせてもらうことにしました。 ご教授お願いします。 <環境> Windows 7 Home Premium 64-bit Visual Studio 2013 #include<stdio.h> #include<ctype.h> #include<stdlib.h> int main( void ) { char str[2][128]={{0}}; int i,j,err=0,cont=0,wari=0; double c,d,dans; long a,b,lans; puts("自然数の四則演算('+''-''*''/')を計算"); //被加数,被減数,被乗数,被除数と演算の判定 i=0; while((str[0][i]=getchar())!='\n'){ if(str[0][0]=='+' || str[0][0]=='*' || str[0][0]=='/' || str[0][0]=='-'){ err=1; } if(str[0][i]=='+' || str[0][i]=='*' || str[0][i]=='/' || str[0][i]=='-'){ cont=1; //2つ目の数字を読み込むか否かの判定 break; }else if(isdigit(str[0][i])==0){ err=1; //数字と演算方法以外の入力はエラー } i++; } //加数,減数,乗数,除数の判定 if(cont==1 && err!=1){ j=0; while(str[1][j]!='\n'){ if(isdigit(str[0][i])==0){ err=1; //数字以外の入力があればエラー } j++; } str[1][j]='\0'; if(err==1){ printf("エラー入力"); return 0; } switch(str[0][i]){ case '+': str[0][i]='\0'; a=atol(str[0]); b=atol(str[1]); lans=a+b; break; case '-': str[0][i]='\0'; a=atol(str[0]); b=atol(str[1]); lans=a-b; break; case '*': str[0][i]='\0'; a=atol(str[0]); b=atol(str[1]); lans=a*b; break; case '/': str[0][i]='\0'; c=atol(str[0]); d=atol(str[1]); dans=(double)c/d; wari=1; //割り算の判定 break; default: break; } } if(err==0){ if(wari==0){ printf("計算結果:%ld\n",lans); }else if(wari==1){ printf("計算結果:%f\n",dans); } }else{ printf("エラー入力です\n"); } return 0; }
- ベストアンサー
- C・C++・C#
- honechicken
- 回答数5
- C言語 自然数の四則演算 エラー原因不明
プログラミング初心者です 自然数の四則演算のプログラムを作ったところ コンパイル時にはエラーは起こりませんでしたが実行時にエラーが起こり、動作が停止してしまいました。 自分で原因が特定できなかったのでこちらを頼らせてもらうことにしました。 ご教授お願いします。 <環境> Windows 7 Home Premium 64-bit Visual Studio 2013 #include<stdio.h> #include<ctype.h> #include<stdlib.h> int main( void ) { char str[2][128]={{0}}; int i,j,err=0,cont=0,wari=0; double c,d,dans; long a,b,lans; puts("自然数の四則演算('+''-''*''/')を計算"); //被加数,被減数,被乗数,被除数と演算の判定 i=0; while((str[0][i]=getchar())!='\n'){ if(str[0][0]=='+' || str[0][0]=='*' || str[0][0]=='/' || str[0][0]=='-'){ err=1; } if(str[0][i]=='+' || str[0][i]=='*' || str[0][i]=='/' || str[0][i]=='-'){ cont=1; //2つ目の数字を読み込むか否かの判定 break; }else if(isdigit(str[0][i])==0){ err=1; //数字と演算方法以外の入力はエラー } i++; } //加数,減数,乗数,除数の判定 if(cont==1 && err!=1){ j=0; while(str[1][j]!='\n'){ if(isdigit(str[0][i])==0){ err=1; //数字以外の入力があればエラー } j++; } str[1][j]='\0'; if(err==1){ printf("エラー入力"); return 0; } switch(str[0][i]){ case '+': str[0][i]='\0'; a=atol(str[0]); b=atol(str[1]); lans=a+b; break; case '-': str[0][i]='\0'; a=atol(str[0]); b=atol(str[1]); lans=a-b; break; case '*': str[0][i]='\0'; a=atol(str[0]); b=atol(str[1]); lans=a*b; break; case '/': str[0][i]='\0'; c=atol(str[0]); d=atol(str[1]); dans=(double)c/d; wari=1; //割り算の判定 break; default: break; } } if(err==0){ if(wari==0){ printf("計算結果:%ld\n",lans); }else if(wari==1){ printf("計算結果:%f\n",dans); } }else{ printf("エラー入力です\n"); } return 0; }
- ベストアンサー
- C・C++・C#
- honechicken
- 回答数5
- パソコンが強制終了する。
パソコンを、立ち上げるとピーピーと音が数回ぐらい鳴って、パソコンが強制終了してしまいます。 これは、どうやったら改ざん出来ますか? 修理に出したほうがいいのでしょうか? あまり、パソコンに関しては、詳しくないので初心者でも理解できるような返答をお待ちしております。 ちなみに使っているパソコンはwindows7です。 グリードパケットの限定ノートパソコンです。 たぶん、2~3年は使っていると思います。
- 締切済み
- その他([技術者向] コンピューター)
- rei011
- 回答数3
- 欠損データをgotoでスキップしたい
番号のついたデータ群を処理するつもりです。 例えば、1から10000まで欠損が存在しなければ for文で処理できます。 ただし、番号の欠損があればそこで止まってしまいます。 番号の欠損があっても処理ができるようにしたいです。 そこで、あまり使いたくないのですがgotoの使用を検討し、 下記のプログラムを作成しました。 動作は単に1.txt から5.txtまでの入力ファイルを開いて、 標準出力に入力ファイル名を出力して、閉じるだけです。 あえて4.txtは除いてあります。 1、2、3、5となり、4が欠損しています。 gotoで4をスキップしたいのですが、うまくいきません。 どなたかやりかたを教えてください。 もし、gotoを使わずにスキップできるのであれば その手法も教えてください。 program #include <stdio.h> #include <stdlib.h> #include <math.h> int main(void){ FILE *fi,*fo; int i; for( i = 1; i <= 5; i++){ char input_file[32]; sprintf(input_file,"./testin/%d.txt",i); if((fi = fopen(input_file,"r")) == NULL){ puts("Error:cannot open input file \n"); goto label2; } printf("input_file=%s\n", input_file); label2: fclose(fi); } return 0; } inputfile ./testin/1.txt ./testin/2.txt ./testin/3.txt ./testin/5.txt ./testin/4.txtは存在しない stdoutput input_file=./testin/1.txt input_file=./testin/2.txt input_file=./testin/3.txt Error:cannot open input file 以上
- C言語・標準入力でquitを入力で終わるプログラム
C言語標準入力でquitを入力で終わるプログラムを作っているのですが うまくいきません #include <stdio.h> int main(void) { int i, n; double data[100]; printf("数字を入力してください。\n"); printf("入力を終えるときにはCtrl-dを押してください。\n"); n = 0; while (scanf("%lf", &data[n]) != EOF) { n++; } for (i=0; i<n; i++) { printf("data[%d] = %f\n", i, data[i]); } return (0); } と今はとりあえづ作ってみたのですが 今のままではCtrl-dでループから抜ける形になっています strcmp関数を使うとは思うのですが strcmp関数はchar型なのでエラーが出てしまいます; このやり方じゃないchar型にしてやり直さないといけないでしょうか; Linux CentOS gcc でやっています 標準入力で数字を入力しそれを格納 quitを入力するまで繰り返す quitを入力で終了、これまで格納していた文字列の表示 簡単なプログラムの流れとしては上記の感じです よろしくお願いします。
- raspberrypiと編集ソフト
ここの所ずーっとraspberrypiと使うソフトを設定していますが その設定に使う編集ソフトが、vim、leafepad、nanoとか沢山使用例が 有って、初心者の私は頭がこんがらがって来ています。 linuxの編集ソフトが色々と使えることは分かりましたが 例えばvimを使って書かれている物を、そのままnanoの編集ソフトに 置き換えて書くことは、多分出来ないのでしょうね。 又、編集ソフトを使ってlineを書き込んでいく時、行ナンバーが 書かれていないのですが、必要無いのでしょうか。 VIMはリナンバーで行を書き込むことは出来るようなんですが。 私は初心者なので、取り説に書いてあるlineをそのまま書き写すことしか 出来ません。 全部入れ終わってもソフトが動いていないようなので、間違っているように 思えてなりません。 後、raspberrypiとwindows-PCとを、wi-fiを使ってteratermを使って 書き込んでいますが、$ startxのコマンドでLXterminalを起動ししているときは 文字のリモートは出来るが、グラフィックの画面はwindowsのteratermの画面には 出て来ない様ですが、raspberrypiのグラフィックの画面はwindowsには 反映されないのでしょうか。
- ベストアンサー
- その他([技術者向] コンピューター)
- mtx1
- 回答数2
- C言語・標準入力でquitを入力で終わるプログラム
C言語標準入力でquitを入力で終わるプログラムを作っているのですが うまくいきません #include <stdio.h> int main(void) { int i, n; double data[100]; printf("数字を入力してください。\n"); printf("入力を終えるときにはCtrl-dを押してください。\n"); n = 0; while (scanf("%lf", &data[n]) != EOF) { n++; } for (i=0; i<n; i++) { printf("data[%d] = %f\n", i, data[i]); } return (0); } と今はとりあえづ作ってみたのですが 今のままではCtrl-dでループから抜ける形になっています strcmp関数を使うとは思うのですが strcmp関数はchar型なのでエラーが出てしまいます; このやり方じゃないchar型にしてやり直さないといけないでしょうか; Linux CentOS gcc でやっています 標準入力で数字を入力しそれを格納 quitを入力するまで繰り返す quitを入力で終了、これまで格納していた文字列の表示 簡単なプログラムの流れとしては上記の感じです よろしくお願いします。
- C言語・標準入力でquitを入力で終わるプログラム
C言語標準入力でquitを入力で終わるプログラムを作っているのですが うまくいきません #include <stdio.h> int main(void) { int i, n; double data[100]; printf("数字を入力してください。\n"); printf("入力を終えるときにはCtrl-dを押してください。\n"); n = 0; while (scanf("%lf", &data[n]) != EOF) { n++; } for (i=0; i<n; i++) { printf("data[%d] = %f\n", i, data[i]); } return (0); } と今はとりあえづ作ってみたのですが 今のままではCtrl-dでループから抜ける形になっています strcmp関数を使うとは思うのですが strcmp関数はchar型なのでエラーが出てしまいます; このやり方じゃないchar型にしてやり直さないといけないでしょうか; Linux CentOS gcc でやっています 標準入力で数字を入力しそれを格納 quitを入力するまで繰り返す quitを入力で終了、これまで格納していた文字列の表示 簡単なプログラムの流れとしては上記の感じです よろしくお願いします。
- VC++ ビルドできず?
VC++2010をダウンロードして、プログラムを作って、ビルドしようとするのですが エラーでビルドしません。使用前になにか設定等あるのでしょうか?教えて下さい。 (1)簡単なボタンとラベルで、ボタンを押したら、文字がLabelに表示するもビルドしません。 (2)OSはWindows7 VC++2010でビルドせず。 (3)別なPCで Windows XPとVC++2010では問題なく、ビルド、動作します。 (4)Windows8とVC++2010でも問題ありません。 (5)VC++2010のソースはvc-webの同じものでダウンロードして、PCにインストールしています。 以上、よろしくお願いします。
- C言語・標準入力でquitを入力で終わるプログラム
C言語標準入力でquitを入力で終わるプログラムを作っているのですが うまくいきません #include <stdio.h> int main(void) { int i, n; double data[100]; printf("数字を入力してください。\n"); printf("入力を終えるときにはCtrl-dを押してください。\n"); n = 0; while (scanf("%lf", &data[n]) != EOF) { n++; } for (i=0; i<n; i++) { printf("data[%d] = %f\n", i, data[i]); } return (0); } と今はとりあえづ作ってみたのですが 今のままではCtrl-dでループから抜ける形になっています strcmp関数を使うとは思うのですが strcmp関数はchar型なのでエラーが出てしまいます; このやり方じゃないchar型にしてやり直さないといけないでしょうか; Linux CentOS gcc でやっています 標準入力で数字を入力しそれを格納 quitを入力するまで繰り返す quitを入力で終了、これまで格納していた文字列の表示 簡単なプログラムの流れとしては上記の感じです よろしくお願いします。
- C言語・標準入力でquitを入力で終わるプログラム
C言語標準入力でquitを入力で終わるプログラムを作っているのですが うまくいきません #include <stdio.h> int main(void) { int i, n; double data[100]; printf("数字を入力してください。\n"); printf("入力を終えるときにはCtrl-dを押してください。\n"); n = 0; while (scanf("%lf", &data[n]) != EOF) { n++; } for (i=0; i<n; i++) { printf("data[%d] = %f\n", i, data[i]); } return (0); } と今はとりあえづ作ってみたのですが 今のままではCtrl-dでループから抜ける形になっています strcmp関数を使うとは思うのですが strcmp関数はchar型なのでエラーが出てしまいます; このやり方じゃないchar型にしてやり直さないといけないでしょうか; Linux CentOS gcc でやっています 標準入力で数字を入力しそれを格納 quitを入力するまで繰り返す quitを入力で終了、これまで格納していた文字列の表示 簡単なプログラムの流れとしては上記の感じです よろしくお願いします。
- batファイルでrenameができません。
Windowsのbatファイルでrenameをするにはどうすればよいでしょうか? カレントディレクトリ └ A というディレクトリ構造があって、Aの中には「a.txt」があるとします。 カレントディレクトリから、 「rename "./a/A.txt" B.txt」 と書いてあるbatファイルを起動しても、「a.txt」の名前が変更されません。 「指定したパスが見つかりません。」と出てきてしまいます。 ダブルクォーテーションを取ったりつけたり、絶対パス、相対パスを書いたりと いろいろ試しましたがだめでした。 何か方法はないでしょうか?
- ベストアンサー
- その他(プログラミング・開発)
- n_i_g
- 回答数4
- C言語・標準入力でquitを入力で終わるプログラム
C言語標準入力でquitを入力で終わるプログラムを作っているのですが うまくいきません #include <stdio.h> int main(void) { int i, n; double data[100]; printf("数字を入力してください。\n"); printf("入力を終えるときにはCtrl-dを押してください。\n"); n = 0; while (scanf("%lf", &data[n]) != EOF) { n++; } for (i=0; i<n; i++) { printf("data[%d] = %f\n", i, data[i]); } return (0); } と今はとりあえづ作ってみたのですが 今のままではCtrl-dでループから抜ける形になっています strcmp関数を使うとは思うのですが strcmp関数はchar型なのでエラーが出てしまいます; このやり方じゃないchar型にしてやり直さないといけないでしょうか; Linux CentOS gcc でやっています 標準入力で数字を入力しそれを格納 quitを入力するまで繰り返す quitを入力で終了、これまで格納していた文字列の表示 簡単なプログラムの流れとしては上記の感じです よろしくお願いします。
- C言語・標準入力でquitを入力で終わるプログラム
C言語標準入力でquitを入力で終わるプログラムを作っているのですが うまくいきません #include <stdio.h> int main(void) { int i, n; double data[100]; printf("数字を入力してください。\n"); printf("入力を終えるときにはCtrl-dを押してください。\n"); n = 0; while (scanf("%lf", &data[n]) != EOF) { n++; } for (i=0; i<n; i++) { printf("data[%d] = %f\n", i, data[i]); } return (0); } と今はとりあえづ作ってみたのですが 今のままではCtrl-dでループから抜ける形になっています strcmp関数を使うとは思うのですが strcmp関数はchar型なのでエラーが出てしまいます; このやり方じゃないchar型にしてやり直さないといけないでしょうか; Linux CentOS gcc でやっています 標準入力で数字を入力しそれを格納 quitを入力するまで繰り返す quitを入力で終了、これまで格納していた文字列の表示 簡単なプログラムの流れとしては上記の感じです よろしくお願いします。
- C言語・標準入力でquitを入力で終わるプログラム
C言語標準入力でquitを入力で終わるプログラムを作っているのですが うまくいきません #include <stdio.h> int main(void) { int i, n; double data[100]; printf("数字を入力してください。\n"); printf("入力を終えるときにはCtrl-dを押してください。\n"); n = 0; while (scanf("%lf", &data[n]) != EOF) { n++; } for (i=0; i<n; i++) { printf("data[%d] = %f\n", i, data[i]); } return (0); } と今はとりあえづ作ってみたのですが 今のままではCtrl-dでループから抜ける形になっています strcmp関数を使うとは思うのですが strcmp関数はchar型なのでエラーが出てしまいます; このやり方じゃないchar型にしてやり直さないといけないでしょうか; Linux CentOS gcc でやっています 標準入力で数字を入力しそれを格納 quitを入力するまで繰り返す quitを入力で終了、これまで格納していた文字列の表示 簡単なプログラムの流れとしては上記の感じです よろしくお願いします。
- C言語・標準入力でquitを入力で終わるプログラム
C言語標準入力でquitを入力で終わるプログラムを作っているのですが うまくいきません #include <stdio.h> int main(void) { int i, n; double data[100]; printf("数字を入力してください。\n"); printf("入力を終えるときにはCtrl-dを押してください。\n"); n = 0; while (scanf("%lf", &data[n]) != EOF) { n++; } for (i=0; i<n; i++) { printf("data[%d] = %f\n", i, data[i]); } return (0); } と今はとりあえづ作ってみたのですが 今のままではCtrl-dでループから抜ける形になっています strcmp関数を使うとは思うのですが strcmp関数はchar型なのでエラーが出てしまいます; このやり方じゃないchar型にしてやり直さないといけないでしょうか; Linux CentOS gcc でやっています 標準入力で数字を入力しそれを格納 quitを入力するまで繰り返す quitを入力で終了、これまで格納していた文字列の表示 簡単なプログラムの流れとしては上記の感じです よろしくお願いします。
- お金がほしいです。
僕は、ある東京の大学に通っている学生です。 ゲームに課金したいのですが、課金できるほどのお金の余裕が僕にはありません。(仕送りが少ない) ネット環境は整っているので、ネットでお小遣い稼ぎがしたいです。 僕でも出来るような方法を紹介しているようなサイトを教えてください。 お願いします。
- ベストアンサー
- その他(マネー)
- ozawaderby
- 回答数12
- C言語・標準入力でquitを入力で終わるプログラム
C言語標準入力でquitを入力で終わるプログラムを作っているのですが うまくいきません #include <stdio.h> int main(void) { int i, n; double data[100]; printf("数字を入力してください。\n"); printf("入力を終えるときにはCtrl-dを押してください。\n"); n = 0; while (scanf("%lf", &data[n]) != EOF) { n++; } for (i=0; i<n; i++) { printf("data[%d] = %f\n", i, data[i]); } return (0); } と今はとりあえづ作ってみたのですが 今のままではCtrl-dでループから抜ける形になっています strcmp関数を使うとは思うのですが strcmp関数はchar型なのでエラーが出てしまいます; このやり方じゃないchar型にしてやり直さないといけないでしょうか; Linux CentOS gcc でやっています 標準入力で数字を入力しそれを格納 quitを入力するまで繰り返す quitを入力で終了、これまで格納していた文字列の表示 簡単なプログラムの流れとしては上記の感じです よろしくお願いします。