[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 06/15 06:15 / Filesize : 299 KB / Number-of Response : 887
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C/C++の宿題を片付けます 104代目



1 名前:デフォルトの名無しさん [2008/02/04(月) 23:32:19 ]
あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他や発言はスルーの方向で。

【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。
・問題文は、出題されたまま全文を書いてください。
・問題文やコードをリンクするときは、一言内容にについて説明をつけましょう.
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。

【質問テンプレ】
[1] 授業単元:
[2] 問題文(含コード&リンク):()
[3] 環境
 [3.1] OS: (Windows/Linux/等々)
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
 [3.3] 言語: (C/C++/どちらでも可 のいずれか)
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)

【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
【C 関数検索 man on WWW】 www.linux.or.jp/JM/index.html
【過去ログ検索】        chomework.sakura.ne.jp/
【wiki】               www23.atwiki.jp/homework/

【前スレ】
C/C++の宿題を片付けます 103代目
pc11.2ch.net/test/read.cgi/tech/1200318925/

148 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 17:03:18 ]
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6029.txt
[3]
環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:VC
 [3.3] 言語:C
[4] 期限:2月13日
[5] その他の制限:

前回は本当にありがとうございました。
今回もよろしくお願いいたします。


149 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 17:42:59 ]
>>148
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6030.txt

150 名前:デフォルトの名無しさん [2008/02/10(日) 18:09:40 ]
[1] 授業単元:パターン認識
[2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6031.lzh
[3]
環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:2月13日
[5] その他の制限:
動的計画法についての課題です。問題が図表付きなので圧縮しています。

151 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 20:25:53 ]
>>149
ありがとうございました。

152 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 21:05:23 ]
[1] 授業単元:プログラミング
[2] 問題文:入力された文字列を逆に並べて表示せよ(例:TOKYO→OYKOT)
[3] 環境
 [3.1] OS:windowsXP
 [3.2] コンパイラ名とバージョン:Microsoft Visual C++ 2005 Express Edition
 [3.3] 言語:C
[4] 期限:2008年2月13日8:00まで
[5] その他の制限:#include <stdio.h>で使える命令のみ
            一次元配列のみ

153 名前:デフォルトの名無しさん [2008/02/10(日) 21:10:05 ]
[1]プログラミング
[2]時計の針2本がなす角(中学入試の算数問題でよく出題される問題)
問:キーボード上から時と分を入力し、その時間とそれを指す長針・短針
のなす角を求める。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6032.c
[3] 環境
 [3.1] OS:Windows
 [3.2] bcc32
 [3.3] 言語: C
[4] 期限: [2008年2月12日まで]
[5]その他の制限:
入力・計算・出力部分は必ず関数化し、mainの中でそれらを呼び出すようにする

なす角θを計算する部分は成功しましたが(そこまでの完成版はリンクしたプログ
ラムを参照)、キーボード上から入力した時間をうまく表示することができません。出力は、

??:?? なす角:??°

とします。どうか宜しくお願いします。

154 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 21:11:22 ]
>>152
#include <stdio.h>

int main(void)
{
char *p, str[256];

scanf("%s", str);

p = str;

while(*p) p++;
while(p--!=str) putchar(*p);

return 0;
}


155 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 21:24:02 ]
>>154
自分の技量不足で申し訳ありませんが質問してもよろしいでしょうか?
関数の*pの*は何か意味があるのでしょうか?

156 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 21:24:35 ]
>>153
>>149



157 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 21:24:35 ]
>>153
void output(int s, int t, double r1)
{
printf("%d:%d なす角:(%.1f)°\n", s, t, (double)r1);
}
にしてh1とm1渡すだけじゃね?

158 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 21:24:52 ]
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6033.txt
[3] 環境
 [3.1] OS: Win XP
 [3.2] コンパイラ名とバージョン: visual studio 2005
 [3.3] 言語: C
[4] 期限: 2008年2月12日午前7時00分
[5] その他の制限:色々な処理方法があるそうですが、
  なるべくレベルが低い方法でよろしくおねがいします。

159 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 21:27:27 ]
>>155
間接参照。

160 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 21:30:03 ]
>>159
ありがとうございます!

161 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 21:56:55 ]
>>158
#include <stdio.h>

static int su[9], cnt;

void perm(int *a, int j){
    int i;
    if(j == 9){
        int x = 0, y = 0;
        for(i = 0; i < 6; i++) x = 10*x + a[i];
        for(i = 6; i < 9; i++) y = 10*y + a[i];
        if(x%y == 0){
            printf("%d / %d = %d\n", x, y, x/y);
            cnt++;
        }
        return;
    }
    for(i = 0; i < 9; i++)
        if(su[i] == 0){
            su[i] = 1;
            a[j] = i + 1;
            perm(a, j + 1);
            su[i] = 0;
        }
}

int main(void){
    int a[9];
    perm(a, 0);
    printf("合計パターン数 = %d\n", cnt);
    return 0;
}

162 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 22:35:42 ]
>>158
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6034.txt

163 名前:デフォルトの名無しさん [2008/02/10(日) 23:00:27 ]
>>144
>>145
>>146

ですが
解答はいかがでしょうか...

携帯からで見づらくて大変すいません...m(_ _)m



164 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 23:02:13 ]
>>163
>>1

165 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 23:15:13 ]
さすがに携帯にうpろだはきつくね?

166 名前:デフォルトの名無しさん [2008/02/10(日) 23:15:22 ]
153です。

157番さんのおっしゃる通りにしたら、「output関数における呼び出し時のパ
ラメータが足りない」というエラーが出ました。157番さんの通りにプログラム
を設計するなら、mainの中でoutputなどの各種呼び出しをどのようにすれば良い
のか教えて下さい。プログラミングの基本である自学自習を心掛けていますが
この呼び出し関数の設計などはあまり得意な方でないのでどうかお願いします。



167 名前:123 mailto:sage [2008/02/10(日) 23:15:37 ]
>>141
ありがとうございます。実行してみたのですが生成される乱数が全て0になってしまいます。
srand関数を使って乱数の種を定めた時のプログラミング例を載せてみます。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6036.c 
どうかお願いします。

168 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 23:35:33 ]
>>166
お前どうやって>>153まで自分で出来たんだ?
得意じゃないってレベルじゃねーぞ
output(h1, m1, show1);

169 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 23:37:49 ]
誰かの回答だろ

170 名前:153 [2008/02/10(日) 23:57:48 ]
正直に言うと今までに扱った内容を参考にしながらでした。
それでも不足部分は沢山あるのでそれを補えるよう努力しなければと思い
ます。

ちなみにコンパイルできました。ありがとうございました。

171 名前:デフォルトの名無しさん [2008/02/11(月) 00:13:35 ]
質問!

エラーがでたわけではないのですが、VC++2003.NETで
ビットマップ画像をインポートして追加しようとしたのですが、
実行するとその画像が表示されません!
実行の際には画像が切り替わっている様子がうかがえるのですが、表示されないのです。
新規作成で追加するとちゃんと表示されるのですが・・。

どなたか原因分かる方いますか?

172 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 00:13:39 ]
double→int→doubleとか意味不明なことしてるし、
設計を見直すべき。

173 名前:デフォルトの名無しさん [2008/02/11(月) 00:17:52 ]
>>146です

すいません 荒らしてしまって...

携帯からなんで うp無理みたいです...

なんかいろいろほんとすいませんでしたm(_ _)m



174 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 00:21:45 ]
>>167
「10 動的に確保したメモリの解放」
これが抜けてる以外は問題なさそうだけど。

試しに実行してみたら、ちゃんと乱数生成されてるし。

175 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 00:30:32 ]
>>174
pc環境とか関係するんですかね?とりあえず学内pcにファイルを移して実行してみます。
本当にありがとうございました。

176 名前:50 mailto:sage [2008/02/11(月) 00:30:47 ]
>>65〜73、87の書込みをしてくださった方々
一番難しい課題Bを解いていただき、ありがとうございましたm(__)m




177 名前:デフォルトの名無しさん [2008/02/11(月) 00:51:27 ]
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6037.txt
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン:Visual C++ 2005
 [3.3] 言語: C
[4] 期限: 2月13日
[5] その他の制限:特にありません


178 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 01:48:02 ]
>>173
うpろだが使えないとしても、>>1読んでテンプレくらいは使って欲しいところ
まぁ推奨になってるからどうしてもテンプレは使いたくないってのなら止めないけど

179 名前:デフォルトの名無しさん [2008/02/11(月) 11:21:06 ]
>>144
>>145
>>146
携帯からの投稿自体 無理がありました すいませんでした...m(_ _)m

できれば解答をいただけると幸いです..



180 名前:デフォルトの名無しさん [2008/02/11(月) 14:34:02 ]
[1] 授業単元:
[2] 問題文:
 文字列を入力させ、それを表示するプログラムを作成せよ。
 ただし、文頭にaが入力された場合はそれを表示せず、
 数値が入力された場合はエラーとしてもう1度入力させること。

【実行例】
  入力=jgmttgad18j
 ※エラー※数値が入力されました。
 もう1度入力してください
  入力=aaaiaueokaki

  出力=iaueokaki

[3] 環境
 [3.1] OS:Windows Vista
 [3.2] コンパイラ名とバージョン:
 [3.3] 言語: C++
[4] 期限:2008年2月11日22:00まで
[5] その他の制限:

先生が、ヒントで「フラグを使うとできるかも」といってました!

よろしくお願いします!

181 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 14:54:09 ]
>>180
#include <iostream>
#include <string>
using namespace std;
int main()
{
while(1) {
cout << "入力=";
string s;
cin >> s;
if( s.find_first_of( "0123456789" ) == string::npos ) {
cout << "出力=" << s.substr( s.find_first_not_of( "a" ) ) << "\n";
break;
} else {
cout << "数値が含まれるので、再度入力してください。\n";
}
}
return 0;
}

182 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 18:40:08 ]
>>180
#include <stdio.h>
#include <string.h>

int main(void)
{
char str[256];
int top;
printf("入力:");
start:
top=0;
fgets(str,256,stdin);
again0:
if(str[top]>=48&&str[top]<=57){
printf("再入力:");
goto start;
}
if(top++<strlen(str))goto again0;
top=0;
again1:
if(str[top]=='a'){
top++;
goto again1;
}
printf("出力:");
again2:
printf("%c",str[top++]);
if(str[top]!=NULL)goto again2;
return 0;
}

183 名前:デフォルトの名無しさん [2008/02/11(月) 18:57:58 ]
>>181
>>182
ありがとうございます!
できれば入力に
cin.getlineとか使うくらいの初歩のでもやってほしいんですが..(><)
入力だけでいくと
#include<iostream.h>

main()
{
char a[50] ;

cout<<"a=" ;
cin.getline(a,50) ;
}

こんな感じで・・
サーセン(・_・、)

184 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 19:38:23 ]
>>180

#include <iostream>
#include <string>
#include <boost/regex.hpp>

int main() {
    while (true) {
        std::cout << "入力: ";
        std::string line;
        if (!std::getline(std::cin, line))
            break;
        boost::regex re_num("\\d+");
        if (boost::regex_search(line, re_num)) {
            std::cout << "※エラー※数値が入力されました" << std::endl;
            std::cout << "もう一度入力してください" << std::endl;
            continue;
        }
        boost::regex re_str("^a+");
        std::cout << "出力: "
            << boost::regex_replace(line, re_str, "") << std::endl;
        break;
    }
}

185 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 19:41:23 ]
>>183
それなら>>180
cin >> s;

char sz[50]; cin.getline(sz,50); s=sz;
にすればいいが、
初歩というのは、もしかしてstringを使うなと言ってる?

186 名前:デフォルトの名無しさん [2008/02/11(月) 19:46:40 ]
>>184
>>185

ありがとうございます!!


stringをならってません(・_・、)
ごめんなさい↓



187 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 20:00:14 ]
>>186
#include <iostream>
using namespace std;

bool hasDigit( const char* pstr )
{
while(*pstr) {
if( isdigit(*pstr) )
return true;
pstr ++;
}
return false;
}

int main()
{
while(1) {
cout << "入力=";
char sz[50];
cin.getline( sz, sizeof(sz) );
if( !hasDigit( sz ) ) {
char* p;
for( p=sz; *p=='a'; p++ );
cout << "出力=" << p << "\n";
break;
} else {
cout << "数値が含まれるので、再度入力してください。\n";
}
}
return 0;
}

188 名前:デフォルトの名無しさん [2008/02/11(月) 22:32:23 ]
[1] 授業単元: プログラム テスト
[2] 問題文 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6038.txt
[3] 環境
 [3.1] OS: WindowsXP
 [3.3] 言語:C言語
[4] 期限: できれば、早いとありがたいです。


よろしくお願いいたします。



189 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 22:44:53 ]
[1] 授業単元:プログラミング
[2] 問題文
四問あります
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6039.zip
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン: visual stdio
 [3.3] 言語: C
[4] 期限: 2月13日の昼まで

190 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 22:46:32 ]
>>188
アウエイ
(50)は解なし。強いてあげればイか。

191 名前:189 mailto:sage [2008/02/11(月) 22:48:29 ]
すいません
>>189には不備がありました

課題1には二つ問題があるのですが
一つtxtファイルが入ってません
それを書き直したものにしますので少々待っててください

192 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 22:58:36 ]
[1] 授業単元:プログラミング
[2] 問題文
5問あります
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6040.zip
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン: visual stdio
 [3.3] 言語: C
[4] 期限: 2月13日の昼まで
[5]ご迷惑をおかけして申し訳ありません
  期限を13日としていますが出来ればなるべく早くお願いします

193 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 23:07:15 ]
>>192
どれも最近見た気がするが、これって何処の課題なんだろ。
最後の二つは、ちょっと前に俺がうpしたから間違いない。

194 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 23:15:21 ]
>>193
本当ですか
よろしければその解答を頂けないでしょうか

195 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 23:18:41 ]
>>194
ちょっと前にうpしたって言ってるじゃん。
ホントに欲しけりゃ、スレから探して持っていけばいいさ。

196 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 23:30:16 ]
>>195
ありがとうございます
4と5は解決しました



197 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 23:36:55 ]
アイムジャグラーちっとも勝てません。なぜでしょうか?
ttp://www.borujoa.org/upload/source/upload16700.lzh
↓参考ページ。
ttp://www.htv-net.ne.jp/~dark/suro%20aimu%20jagura-.html

198 名前:デフォルトの名無しさん [2008/02/11(月) 23:37:55 ]
>>190さん
ありがとうございます。

まぁ結果的に2級は落ちましたが..

少しは勉強になったのでよかったです

皆さん いろいろ迷惑をかけましたがありがとうございましたm(_ _)m



199 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 23:40:13 ]
試験の問題だったのか。
この程度だと、あんまり取る意味なさそうな気も。

200 名前:デフォルトの名無しさん [2008/02/12(火) 00:09:02 ]
>>199さん

確かにそうですよね..
C2級も取れないレベルなんて 俺ってなんなんだろう...

やっぱりバカなんだなぁ つくづく思います。

201 名前:デフォルトの名無しさん [2008/02/12(火) 00:40:36 ]
【質問テンプレ】 通りに書き込まなきゃいけないと思うんですが
眠くてやばいんで誰か解き方のだけ速攻教えてください。

C言語で123の数値を合計して6とするにはどうすればいいんでしょうか?



202 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 00:43:29 ]
>>201
int sum=1+2+3;でおk

203 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 00:46:27 ]
>>177
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6041.cpp

204 名前:デフォルトの名無しさん [2008/02/12(火) 00:48:33 ]
>>202
ありがとうございます。

その数値が入力されたものの場合はどうすればいいんでしょうか><

205 名前:199 mailto:sage [2008/02/12(火) 00:48:33 ]
>>200
いやいや、この程度とは言ったけど、
これを全く勉強せずに解ける人なんて居ないよ。

資格としての意味は薄いにしても、
1つの通過点にするのはいいんじゃないかな。
目標があると励みやすいし。

でさ、本当に2級を取得するだけの力をつけたいんだったら、
このスレで解答を求めたりするんじゃなくて、
自分で試行錯誤して辿り着く方が為になると思うんだけどな。


スレ違いなんでこの辺で。

206 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 00:51:42 ]
>>204
int sum = val / 100 + (val / 10) % 10 + val % 10;



207 名前:デフォルトの名無しさん [2008/02/12(火) 00:52:05 ]
入力された文字列をatoiで変換→数値を合計みたいな問題でやり方がわからないんでヒントもらいたいです。

説明不足でほんとすみません。

208 名前:207 [2008/02/12(火) 00:54:18 ]
>>206

ありがとうございます。


209 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 00:54:19 ]
情報を小出しにするな。

210 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 00:54:39 ]
>>207
説明不足だと思うならちょっとくらい眠くてもテンプレに従えよ

211 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 00:54:57 ]
>>207
int sum = (str[0] - '0') + (str[1] - '0') + (str[2] - '0');

212 名前:207 [2008/02/12(火) 00:55:23 ]
>>206

ありがとうございます。


213 名前:デフォルトの名無しさん [2008/02/12(火) 01:00:18 ]
!!!!>211さん 眠気がとびました!
そっか atoiを絶対使うと思い込んでいたからできなかったのか><

'0'から引けば結果は数値と同じっすもんね・・・
本当にありがとうございました。


214 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 01:02:05 ]
>>201 >>207
#include<stdio.h>
#include<stdlib.h>
int main(void){
char buf[16];
int n, sum = 0;
fgets( buf, 16, stdin );
n = atoi( buf );
while( n > 0 )
{
sum += n % 10;
n /= 10;
}
printf("%d\n",sum);
return 0;
}
多分こういうことがやりたいんだろうと思って答えてみる
間違っててもそれは質問の仕方が悪いと思う

215 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 01:09:38 ]
150ですがどなたかお願いします・・・

216 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 01:16:23 ]
>>161-162
ありがとうございます。助かりました。



217 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 03:07:47 ]
>>150
どう表示したらいいか不明なので適当にやった
最小のものが見つかった時点で逐次表示

#include<stdio.h>
int main(void){
int cost[][4][3]={{{3,2,1},{2,3,3},{3,3,2},{0,2,0}},
{{1,1,2},{2,1,3},{3,1,2},{0,2,0}},
{{1,1,2},{1,2,3},{1,1,4},{0,3,0}},
{{3,0,0},{2,0,0},{2,0,0},{0,0,0}}},
c,cmin=9999,p,pmin=9999,x,y,i,k;
for(i=0;i<729;i++){//3^6=729
printf("(0,0)0");
for(k=i,c=p=x=y=0;x<3&&y<3;k/=3)
c+=cost[x][y][k%3],
p++,
x+=(k%3!=0),
y+=(k%3!=1),
printf("→(%d,%d)%d",x,y,c);
if(x==3&&y==3&&cmin>c)cmin=c,printf(" 最小コスト\n");
else if(x==3&&y==3&&pmin>p)pmin=p,printf(" 最短経路\n");
else printf("\r%79s\r","");
}
return 0;
}


218 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 15:32:39 ]
>>192
課題1
#include <stdio.h>

int main(void)
{
bool exist[10000]={false,};
int temp,i=0,max,min,count=0;
FILE *fp=fopen("input8500.txt","r");
if(!fp) return 1;
while(!feof(fp)){
fscanf(fp,"%d ",&temp);
exist[temp]=true;
}
fclose(fp);
while(!exist[i++]);
min = i;
i = 9999;
while(!exist[i--]);
max = i;

for(i = 0; i < 10000;i++) if(exist[i])count++;
printf("count = %d\nmax - min = %d",count,max-min);
return 0;
}

219 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 15:38:30 ]
>>192
課題2
#include <stdio.h>

int main(void)
{
int rank[11]={0,};
int temp,i,j;
FILE *fp=fopen("input_histo.txt","r");
if(!fp) return 1;
while(!feof(fp)){
fscanf(fp,"%d ",&temp);
rank[temp/10]++;
}
fclose(fp);

for(i=0;i<11;i++){
printf("\n%3d点台:",i*10);
for(j=0;j<rank[i];j++)printf("*");
}
return 0;
}

220 名前:193 mailto:sage [2008/02/12(火) 16:59:52 ]
>>192
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6042.txt
(1)〜(3)

221 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 20:27:04 ]
>>218
>>219
>>220
皆さんありがとうございます
これでなんとかなりそうです><

222 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 21:21:05 ]
先ほど質問スレで質問したのですが場違いだったようなので
こちらで質問したいと思います。

お時間がある方、ご協力いただけると幸いです。

先週からC言語について学び始めた高1です。
明日からプログラミングが学校の授業ではじまり
予習していたのですが、何度やっても思い通りの結果を表示できません

本当に基礎的な問題かも知れませんが、アドバイス、正答などいただけると幸いです。

1.5個の整数データを配列に代入し合計と平均を求めるプログラムをつくれ。
2.問1のデータの最大値を求めるプログラムをつくれ。
3.問1のデータを大きい順に並べ替えるプログラムをつくれ。

本当に程度の低い質問かもしれませんが
悩んでます><よろしくおねがいします。


223 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 21:24:37 ]
>>1

224 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 22:06:18 ]
>>222

#include <stdio.h>
int main(int argc, char **argv) {
static int array[5];
int i;
double sum=0.0;
if (argc==6)
{
for(i=0;i<5;i++) {
array[i]=atoi(argv[i]);
sum += array[i];
}
printf("average[%lf] sum[%d]\n", sum/5, (int)sum);
}
return 0;
}
悩んでいるというのであれば何がわからないのかくらい書くべきです。
予想すると何もわからなくて悩んでいるんですよね。
2と3は自分で考えましょう。

225 名前:デフォルトの名無しさん [2008/02/12(火) 22:27:32 ]
[1] 画像処理
[2] 画像ファイルを読み込み、マウスでクリックした位置の
  水平垂直方向の輝度を表示せよ。
 [3.1] Windows XP
 [3.2] Visual C++2005 ExpressEdition
 [3.3] C++
[4] 期限: 無期限
[5] その他の制限:とくになし。
ファイルダイアログでpicturebox1に画像ファイルを取り込んで、
getpixelでRGB値を取得しています。
pictureboxは640*480なのですが、画像サイズが640*480以外だと、
エラーが出たり、マウスの位置と、取得したRGB値が一致しません。
どうしたものだろうか?
private: System::Void pictureBox1_MouseMove(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e) {
Graphics^gr=this->CreateGraphics();
Bitmap^bm = (Bitmap^)(pictureBox1->Image);
int w = pictureBox1->Image->Width; int h = pictureBox1->Image->Height;
int z = 480/h;
int x=e->X/z; int y=e->Y/z;
gr->FillRectangle(Brushes::Black,Rectangle(700,27,128,480));
gr->DrawLine(Pens::LightGray,700+64,27,700+64,27+480);
if(x<w && y<h ){
for (int y=0;y<h-1;y++) {
Color c=bm->GetPixel(x,y);
//平均輝度
int r=c.R; int g=c.G; int b=c.B;
int rgbdiv = (int)((r+g+b)/3);
Color c2=bm->GetPixel(x,y+1);
int r2=c2.R; int g2=c2.G; int b2=c2.B;
int rgbdiv2 = (int)((r2+g2+b2)/3);
gr->DrawLine(Pens::Red,700+rgbdiv/2,27+y*z,700+rgbdiv2/2,27+(y+1)*z);
} } }

226 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 22:44:17 ]
C++/CLI ?



227 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 23:12:51 ]
C#?

228 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 23:21:25 ]
.net

229 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 01:36:59 ]
>>217
ありがとうございました。

230 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 10:19:22 ]
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
問題文: kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6044.txt
input.txt: kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6043.txt


[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:visual stdio
 [3.3] 言語:C
[4] 期限:2月13日中
[5] その他の制限:
期限間近ではありますが、よろしくお願いいたします

231 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 10:44:46 ]
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
www.uploda.net/cgi/uploader2/index.php?file_id=0000050574.pdf
待ち行列の問題です。
pdfの11ページに載っています。
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 本日23:59まで
その他の制限: 特になし
丸投げです。よろしくお願いします。

232 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 13:50:42 ]
>>230
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6045.txt

233 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 14:43:34 ]
ひどいな

234 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 14:47:34 ]
ひどすぎるな

235 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 14:54:57 ]
>while(!feof(fp)){
> fscanf(fp, "%d", &temp);
> data[temp]++;
> }

>while(count <= 100)

236 名前:デフォルトの名無しさん [2008/02/13(水) 15:02:22 ]
晒しage



237 名前:デフォルトの名無しさん [2008/02/13(水) 15:30:21 ]
>>231
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6046.txt

238 名前:デフォルトの名無しさん [2008/02/13(水) 16:19:12 ]
>>230
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6047.txt

239 名前:デフォルトの名無しさん [2008/02/13(水) 20:12:05 ]

チョンのあやかり創価学会

偽善者が政治活動、公明党

ニセ仏教、騙されバカ信者、池田犬作チョン大教祖様、さっさと死ねや

カルトキチガイ・創価騙されバカ信者

カルト・キチガイ・偽善政治活動・公明党

カルト・キチガイ・偽善政治活動・公明党

カルト・キチガイ・偽善政治活動・公明党


240 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 20:44:17 ]
>>232
>>238
期限間近のものを本当にありがとうございました。

241 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 20:48:28 ]
>>232は荒らしだから礼は言わなくてよし。

242 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 21:01:17 ]
>>241
今、実行できる環境がないのですが>>232はなぜ荒らしなのでしょうか。

243 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 21:08:23 ]
表面上問題文で要求された結果は返すけど、
拡張性が無く再利用できないアルゴリズム。
fclose()してない。
こんなの宿題で提出されたら俺なら赤点つける。

244 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 21:14:18 ]
>>243
荒らしのプログラムにも気付けない自分が情けないです…
詳しい説明ありがとうございました。

245 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 22:04:07 ]
宿題丸投げしてる時点で情けないけどな

246 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 22:20:41 ]
>>243
>>232読んでみたがこれで十分だろ
題意は満たしてるし、時間・空間計算量も小さくなるように組まれてるしな
拡張性について指定がない以上、こういうのも一つの解としてありだろ



247 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 22:28:18 ]
学生の宿題なんだからむしろ質素な方がいいと思うのですが
>>243さんは一体何のつもりなんでしょうか(苦笑

248 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 22:36:48 ]
ここはIDが出ないから自演が楽でいいなw






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<299KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef