C/C++の宿題片付けます 154代目at TECH
C/C++の宿題片付けます 154代目 - 暇つぶし2ch951:デフォルトの名無しさん
12/01/04 10:37:00.48
935です。
>936
それでもできないことはないと思うんですが、抜けがあると思うと怖い…

>937
RPNなのかなあ。問にある例をみるとなんか違う気が。。。

>938
そうですね、問題文中には括弧書いてないですが、使えるはずです

>942,948
ありがとうございます!!


952:デフォルトの名無しさん
12/01/04 12:10:25.30
>935
愚直に効率優先で書いてみた

URLリンク(ideone.com)

953:デフォルトの名無しさん
12/01/04 12:26:18.16
>>952
端数切捨てで計算狂ってる

954:デフォルトの名無しさん
12/01/04 12:33:05.40
しまった。
有理数で計算しないと駄目か

955:デフォルトの名無しさん
12/01/04 15:04:14.63
>>935
パクらせてもらって改造した
URLリンク(ideone.com)
重複はなくなったはず

956:デフォルトの名無しさん
12/01/04 15:06:26.85
こんなん全パターン計算してみるしかないだろ。ソース見てないが。

957:デフォルトの名無しさん
12/01/04 15:18:09.92
いや、それは誰でもわかってるよ
むしろそうじゃないやり方のソースがあるなら知りたい

958:デフォルトの名無しさん
12/01/04 15:31:45.25
[1] 授業単元:
[2] 問題文(含コード&リンク):C++でレースゲーム
・実行イメージ
-------------------------------------------
|・レースエントリー
| エントリー台数を入力してください→
|
|
|
|
エントリー台数を入力してスタート。
      
エントリー台数で入力した台数を表示し、画面を一周してゴール。何着かをそれぞれに表示。
最後にレース終了と表示で終了。
車は走ってる最中にスピードアップしたりする。
スピードアップ中はスピードが上がってるとわかる表示にする。
C++で作る。必ずポリモーフィズムを実装。
この仕様が最低条件なのでできればこれに+α加えてもらえればうれしいです。
お手数ですが、コメントのほうもお願いします
[3] 環境
 [3.1] OS:Windows7
 [3.2] コンパイラ名とバージョン:Microsoft Visual Studio 2008
 [3.3] 言語: C++
[4] 期限: ([2012年1月8日13:00まで]
[5] その他の制限:お手数ですがコメントのほうよろしくお願いします。

959:デフォルトの名無しさん
12/01/04 15:39:49.49
>>955
括弧が綺麗になってる!すげええ

960:デフォルトの名無しさん
12/01/04 15:40:37.32
N個の数字と計算値が与えられたとき一つの解をできるだけ高速に求めるプログラム。

961:デフォルトの名無しさん
12/01/04 15:47:30.39
> 画面を一周してゴール
コンソールアプリで画面一周させるってこと?
それともウィンドウに描画するの?

962:デフォルトの名無しさん
12/01/04 15:52:52.22

           ______
          r〃〃〃 f7⌒ろ)
           l∥∥∥ ||   f灯
            |∥∥∥ ||   | |
            |儿儿儿._」∟⊥厶
           〔__o____o_≦ト、
.          i / ⌒  ⌒  ヽ )
          !゙ (・ )` ´( ・)   i/
          |  (_人__)    | \
          \  `ー'    /  / ー- 、
.          ,ィ(⊆≧リ≦⊇)〃   /     rク\
.       /   | ̄r少}¨ ̄〃   /    /′ ヽ
      〃 l   |  l| | l| 〃    /     /    └ヽ
     /    l  |l | |l/″   /      !  厂    \
    く,  Y   ! l」fレト!    /       | /        1
    丿  |   | 丿} じ’  /      | /         |
   /     l   | `¨      /      レ′        |

             真の思考停
    (在位 2009年9月16日~2010年6月8日)

   民主朝の初代考停、言行不一致、虚言、脱税、
   そして外交において巨大な負の遺産を築いた。

963:デフォルトの名無しさん
12/01/04 15:53:34.25
[1] 授業単元:C言語演習
[2] 問題文(含コード&リンク):URLリンク(codepad.org)
3目ならべで決められた場所に○を入力(1 1とうったら真ん中に○)したいです。
上記のプログラムを改良してもらいたいですm(__)m
[3] 環境
 [3.1] OS: Windows Vista
 [3.2] コンパイラ名とバージョン: Visual studio 2010
 [3.3] 言語: C
[4] 期限: 今日中
[5] その他の制限: 基本なことしか習ってませんm(__)m


964:デフォルトの名無しさん
12/01/04 16:36:14.27
>>963
動くとこまで直したよ
URLリンク(codepad.org)

965:デフォルトの名無しさん
12/01/04 16:46:36.11
>>963
URLリンク(ideone.com)

966:デフォルトの名無しさん
12/01/04 17:18:51.27
>>935で一つ見つけたらリターンするやつ。
#include <string>
#include <vector>
#include <algorithm>
#include <iostream>
using namespace std;
#define ER(y,n,p) p=y.begin(); advance( p, n ); y.erase(p);
#define HN sk=keisan_sub(kei,ST, y); if(sk!="") return sk;

string keisan_sub(double kei, vector<string> siki, vector<double> x) {
int xsz=x.size(); if(xsz==1) { if(abs(x[0]-kei)<0.01) return siki[0]; return ""; }
int m,n; vector<double> y; vector<double>::iterator p; vector<string> ST; vector<string>::iterator q;
for(m=0;m<xsz-1;m++) for(n=m+1;n<xsz;n++) {
y=x; ST=siki; ER(y,n,p);ER(y,m,p); ER(ST,n,q);ER(ST,m,q);
string s=siki[m],t=siki[n],sk;
y.push_back(x[m]+x[n]); ST.push_back("(" + s + " + " + t + ")"); HN;
int sz=y.size()-1, STsz=ST.size()-1;
y[sz]=x[m]*x[n]; ST[STsz]="(" + s + " * " + t + ")"; HN;
y[sz]=x[m]-x[n]; ST[STsz]="(" + s + " - " + t + ")"; HN;
y[sz]=x[n]-x[m]; ST[STsz]="(" + t + " - " + s + ")"; HN;
y[sz]=x[m]/x[n]; ST[STsz]="(" + s + " / " + t + ")"; HN;
y[sz]=x[n]/x[m]; ST[STsz]="(" + t + " / " + s + ")"; HN;}
return ""; }

string keisan(double kei, vector<double> x) {
char c[9]; int n; vector<string> siki;
for(n=0; n<x.size(); n++) { sprintf(c,"%.1f", x[n]); siki.push_back(c); }
return keisan_sub(kei, siki, x); }

void main(){ vector<double> x; x.push_back(1); x.push_back(2); x.push_back(3); x.push_back(4); cout<<keisan(10, x)<<endl; }

967:デフォルトの名無しさん
12/01/04 17:22:05.69
>>964
>>965
ありがとうございましたm(__)m

968:デフォルトの名無しさん
12/01/04 17:48:39.92
[1] 授業単元:計算機アルゴリズムⅠ
[2] 問題文(含コード&リンク):
設問1-1
y=2x2乗+3(-10≦x≦10)を刻み幅1で計算し、x、yの組を1行ごとにファイルに書き込むプログラムを作成しなさい。

設問1-2
上記設問1-1のプログラムが作成したファイルを読み込んで xとyの値をprintf文で表示するプログラムを作成しなさい。

[3] 環境
 [3.1] OS:Windows vista
 [3.2] コンパイラ名とバージョン:visual studio 2008
 [3.3] 言語:C
[4] 期限:[2012年1月7日8:00まで]
[5] その他の制限:変数、算術演算、printf、scanf、繰り返し処理while文、do-while文
            繰り返し処理for文、繰り返し処理for文による総和の計算、配列変数
            条件分岐if文、要素番号idx使用の書換、データの入れ替え
            条件分岐・論理演算子を用いたif文の条件、if文、else if文
            switch文、ポインタ変数・演算子*と&、関数・プロトタイプ宣言と関数定義
            引数と戻り値、関数の引数とポインタ、関数に配列を渡し、呼び出し側へ戻す方法
            関数から関数を呼び出す方法、大域(global)変数、局所(local)変数、文字型変数
            文字列の代入、キーボードからの文字列入力、char型ポインタ変数
            構造体・メンバ変数への数値の代入、構造体・ポインタを使ってメンバ変数を指定
            ファイル操作・ファイルへのデータの書き込み、ファイルからのデータの読み込み
            EOFの判定は習いました。
宜しくお願いします。

969:デフォルトの名無しさん
12/01/04 17:50:51.08
>>966
>  [3.3] 言語:C

970:デフォルトの名無しさん
12/01/04 18:01:03.59
>>966
absでintに切り捨てられてるぞ

971:デフォルトの名無しさん
12/01/04 18:07:59.74
>>960
>>1


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch