暇な人がエレガントにC/C++の宿題片づけます 33代目
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG――【注意点】――――――――――――――――――――――
・使用する言語(C/C++)や環境(CUI/GUIなど)は必ず書きましょう。
・問題文は、ちゃんと解いてもらう方にわかりやすいように全文を書きましょう。
・計算問題は必ず数式自体をあげ、どのような計算をするのか
・エラーは、その行とエラーの詳細を書きましょう。
エラーメッセージが出た場合はそのままコピーしてください。
・後になって問題につけたしをするのはやめましょう。
解いてもらっている方に失礼になってしまいます。
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
http://do.sakura.ne.jp/%7Ejunkroom/cgi-bin/megabbs/lounge/index.html
【歴代スレは>>2-10】
0153ジョン
NGNG#define MAX(a, b)(a) > (b) ? (a) : (b)
の?っていうのはどういうものですか?
0154デフォルトの名無しさん
NGNGreturn b;
else
return a;
を総画
0155152
NGNG#define OUTPUT(x) printf("%d\n", (x)) /* 開始位置の出力(0オリジン) */
#define MAX(a, b) ((a) > (b) ? (a) : (b)) /* 大きいほうの数値を得るよくあるマクロ */
0156デフォルトの名無しさん
NGNGf(x)=exp(-x^2)-sinx=0を2分法で根を求めるプログラムを作成せよ。
・初期値a,bをそれぞれ1,0とし、収束判定値eを5*10^-7とすること。
・コマンドライン引数として「-k」を与えると計算量を表示すること。
・計算結果はファイルに保存できるようにすること。
(実行例1)
C:\....\C>nibunpou
a=1
b=0
e=5E-7
出力ファイル名を入力してください。 > test.txt
c n
----------------
1 0.5000000
2 0.7500000
3 0.6250000
4 0.6875000
5 0.6562500
・
・
・
20 0.6805983
(実行例2)
C:\....\C>nibunpou -k
a=1
b=0
e=5E-7
計算量は20回です。
0157デフォルトの名無しさん
NGNG0158デフォルトの名無しさん
NGNGどこがどう判らない?
全部丸ごと一分たりとも判らないなら死ね。
0159デフォルトの名無しさん
NGNG#include <locale>
#include <string>
#include <list>
#include <iostream>
int main() {
std::locale::global(std::locale("japanese"));
std::wstring wstr;
std::wcin >> wstr;
std::list<wchar_t> wclst(wstr.begin(), wstr.end());
wclst.reverse();
wstr.assign(wclst.begin(), wclst.end());
std::wcout<< wstr << std::endl;
}
0160デフォルトの名無しさん
NGNG#include <stdio.h>
#include <assert.h>
#include <math.h>
#include <string.h>
#define func(x) (exp(-pow((x),2))-sin(x))
int main(int argc, char **argv) {
double low=0, mid, high=1, ret;
double e = 5 * pow(10,-7);
int count = 0;
assert((func(low)<0&&func(high)>0) || (func(low)>0&&func(high)<0));
for (;;) {
count++;
mid=(low+high)/2;
if (fabs(ret=func(mid))<e)
break;
if (ret>0)
low = mid;
else
high = mid;
}
if (argc==2 && strcmp(argv[1],"-k")==0)
printf("%d times, ans: %f\n",count,mid);
else
printf("ans: %f\n",mid);
return 0;
}
完全に仕様には沿ってないけど、こんなもんでどう?
0161デフォルトの名無しさん
NGNG#define func(x) (exp(-(x)*(x))-sin(x))
double e = 5e-7;
0162デフォルトの名無しさん
NGNGhttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=249
0163デフォルトの名無しさん
NGNG完全に忘れてたよ(;´Д`)
0165デフォルトの名無しさん
NGNG海外向け携帯電話の英文入力インターフェース作ってるんだけど
今日の昼までの期限なんですが未だ出来ておらず…
自宅受験なんですがカンニングではなく情報収集力のテストもかねられてるっぽいんで
ttps://www.52school.com/rits/ans_menu.jsp
とりあえず問題見て感想ぷりーず
0166デフォルトの名無しさん
NGNG0167デフォルトの名無しさん
NGNGttp://www.52school.com/rits/ans_menu.jsp
0168デフォルトの名無しさん
NGNG3日くらいほしいな。。
0169165
NGNG独創的なのを作ろうとして*ボタンを切り替えボタンにして、
キーボードのQWERTY配列をキーボード左から3×3マスずつカットして3分割したのを
*ボタンで切り替えてうつって方式やりたいんだけど
切り替えボタンのプログラムがわからないっぽ
0170165
NGNGこゆことです
パターン1
1ボタン q 2ボタン w 3ボタン e
4ボタン a 5ボタン s 6ボタン d
7ボタン z 8ボタン x 9ボタン c
パターン2
1ボタン r 2ボタン t/ 3ボタン y
4ボタン f 5ボタン g 6ボタン h
7ボタン v 8ボタン b 9ボタン n
パターン3
1ボタン u 2ボタン i 3ボタン o
4ボタン j 5ボタン k 6ボタン l
7ボタン m 8ボタン p 9ボタン 記号
0171デフォルトの名無しさん
NGNG0172デフォルトの名無しさん
NGNGオオ同じ穴の狢よw
ところで、オレはオーソドックスにToUpperを使って小文字を大文字に変換するプログラムを作ろうと思ってるんだけど
else if(SensePressedDuration(2) == LONG){//強く押された時
if (status == 10 ){//直前に入力された文字が10[a]なら
DeleteLetter();//[a]を削除し
DisplayLetter(ToUpper(10)); //大文字の[A]に変換、表示し ←ここがかなり間違ってる臭い・・
status = -1;//文字を確定する
}
でいのでしょうか・・・教えて偉い人・・・
0173デフォルトの名無しさん
NGNG終わりそう?
俺取扱説明書で死にそう。2000字もいかね
創意工夫点も1000字もいかねw
0174デフォルトの名無しさん
NGNG配列に格納された文字列を1文字ずつ表示する関数。
void put_st(const char str[])
{
unsigned i=0;
while(str[i])
putchar(str[i++]);
}
これをprintf関数を用いるとコンパイルは出来るのですが、
実行途中でエラーがでます。
printf("%s",str[i++]);
なぜでしょうか?
どう直したらいいのでしょうか?
おねがいします。
0175173
NGNGelse if(SensePressedDuration(2) == LONG){//強く押された時
ってPressedDurationは長さのやつやのにコメントが「長く」じゃなくて「強く」
になってんの?
0176デフォルトの名無しさん
NGNG配列とかでパターンごとのマップで持つくっといて、
'*'が押されたらマップを切り替えるようなものを作ってみたら?
0177デフォルトの名無しさん
NGNGマルチじゃねぇか。消えろ。
>>174
%sってなんだよ。
0178デフォルトの名無しさん
NGNG0179デフォルトの名無しさん
NGNGアドバイスさんくすです。
それ考えてたんですが。パターンごとのボタン表示のプログラム(今は3つ繋げられないんでパターンごとに保存してます)
はできているんですが、マップとしてくくるためにどんなプログラム使えばよろしいでしょうか?
0180174
NGNGすっきりしました。
0181デフォルトの名無しさん
NGNGprintf("%c",str[i++]);
じゃないの?あるいは
printf("%s",str+i);i++;
0182デフォルトの名無しさん
NGNG効率よく圧縮を行う方法はどのようなものがありますか?
0183デフォルトの名無しさん
NGNGこっちに書き込むときに間違ってたw
本文は確かめたけどちゃんと短く長くになってた・・
取り扱い説明書は、いろんな所のマニュアルからひっぱってくればいいとおもうよ
創意工夫は・・・むずいw
0184ドシロウトかもしれない・・・
NGNGint ToUpper(int LetterNum)の使い方がちょっとわからなくて・・・
0185デフォルトの名無しさん
NGNGてか海外向けだから説明書は英語じゃなくていいのか?w
0186デフォルトの名無しさん
NGNGランレングス法の問題点は、ランダムな文字列を符号化する場合
かえってサイズを大きくしてしまうことがある
そこで 「ここからn文字先までは符号化をしない――」
ような情報を付加すれば、極端な膨張をおこさずに効率よく圧縮できる。
0187デフォルトの名無しさん
NGNG2つの値(実数)をキーボードから入力し、
それぞれ以下のことを行う関数を作成し画面に表示するソースコードを記述しなさい。
ただし、main()関数と以下の関数は別ファイルに記述し、ヘッダファイルmp用いること。
-�@加算 �A減算 �B乗算 �C除算
-�D大きいほうを出力 �E小さいほうを出力
よろしくお願いします。
0188デフォルトの名無しさん
NGNGmp→も
0189デフォルトの名無しさん
NGNGもしそうだとしたら絶望的だ・・w
0190デフォルトの名無しさん
NGNGそんなときはExcite翻訳で。
#事後チェックを忘れずにw
0191デフォルトの名無しさん
NGNG漏れみたい玄人は暗記パンを使う。
0192デフォルトの名無しさん
NGNGなんていい人たちだ・・
0193デフォルトの名無しさん
NGNG0194デフォルトの名無しさん
NGNG0195デフォルトの名無しさん
NGNG0196デフォルトの名無しさん
NGNG//main.c
#include <stdio.h>
#include <stdlib.h>
#include "calc.h"
int main() {
char Buffer[128];
double Num[2];
int i;
for (i = 0; i < 2; i++) {
printf("%dつめの数:", i + 1);
fgets(Buffer, sizeof Buffer, stdin);
Num[i] = atof(Buffer);
}
Add(Num);
Sub(Num);
Mul(Num);
Div(Num);
Max(Num);
Min(Num);
return 0;
}
0197デフォルトの名無しさん
NGNG#include <stdio.h>
#include "calc.h"
void Add(double d[]) {
printf("加算:%f\n", d[0] + d[1]);
}
void Sub(double d[]) {
printf("減算:%f\n", d[0] - d[1]);
}
void Mul(double d[]) {
printf("乗算:%f\n", d[0] * d[1]);
}
void Div(double d[]) {
printf("除算:%f\n", d[0] / d[1]);
}
void Max(double d[]) {
printf("最大値:%f\n", d[0] > d[1] ? d[0] : d[1]);
}
void Min(double d[]) {
printf("最小値:%f\n", d[0] < d[1] ? d[0] : d[1]);
}
0198デフォルトの名無しさん
NGNGvoid Add(double []);
void Sub(double []);
void Mul(double []);
void Div(double []);
void Max(double []);
void Min(double []);
0199デフォルトの名無しさん
NGNG0除算チェックは?
0200デフォルトの名無しさん
NGNG0201Cの課題
NGNGint gi;
void main(void)
{
int i,gi=0;
void count();
printf("\t gi\t ai\t si\n");
for(i=0; i<3; i++){
count();
gi=gi+1;
printf("main()\t gi= %d\n",gi);
}}
void count(void)
{
int i, ai=0;
static int si;
for(i=0; i<3; i++){
printf("count()\t gi= %d\t ai=%d\t si=%d\n",gi,ai,si);
ai =ai+1;
gi =gi+1;
si =si+1;
}}
(1)以上のプログラムを実行し,表示結果を説明せよ。
また,main()の中と外で変数名giを誤って重複使用している。
この場合,コンピュータは重複した変数をどう扱ってると考えられるか。
(2)変数宣言のところで,自動変数のgiやaiを0に初期化しているが,
初期化を行わないとどうなるか。
なんだかよく分からないので、どなたか説明して下さい!お願いします。
0202デフォルトの名無しさん
NGNGそれぞれ+1する。これを3回繰り返しcount関数から戻る。
自動変数giを+1して表示する。
main関数内ではこの、「count関数を呼ぶ,自動変数giを+1して表示」を3回繰り返す。
main関数内では、giは自動変数としてグローバル変数giとは別に扱われる。
(2)自動変数を初期化しないと、変数の内容は不定(なにが入っているか分からない)
で開始される。
0203デフォルトの名無しさん
NGNG#defineVSIZE 256
#defineHSIZE 256
int im[VSIZE][HSIZE];
main ()
{
int i,j;
int c;
FILE *fp;
fp = fopen("カラー.psd","rb");
for(i=0;i<VSIZE;i++){
for(j=0;j<HSIZE;j++){
c = fgetc(fp);
im[i][j] = c;
}
}
fclose(fp);
fp=fopen("グレースケール.psd", "wb");
for (i=0;i<VSIZE; i++){
for(j=0;j<HSIZE;j++){
fputc(im[i][j],fp);
}
}
fclose(fp);
}
カラー画像をグレースケール画像に変換する式は分かったんですが
どうやって書いていいのか分かりません。
変換式 グレースケール = 0.299R + 0.587G + 0.114B
おねがいします
0204デフォルトの名無しさん
NGNG食事のあと入浴してから紅茶を飲んだ後に作ってあげるけれど、
言語はCでカラーのPSDフォーマットの画像をグレイスケールのPSDフォーマットの画像
に変換するんだね?
0205デフォルトの名無しさん
NGNG0207デフォルトの名無しさん
NGNG0208デフォルトの名無しさん
NGNG0209デフォルトの名無しさん
NGNGホトショップ
0210デフォルトの名無しさん
NGNG0211デフォルトの名無しさん
NGNG単純に>203みたいには読めないと思うのだけど。
0212デフォルトの名無しさん
NGNGだれか知らない?
0213デフォルトの名無しさん
NGNGでもなきゃ、そんな宿題でないはず…。
0214デフォルトの名無しさん
NGNG関数からで.midiの再生をするプログラムを作ることは可能ですか?
.wavの再生にはPlaySound関数を使ってるのですがwavはファイルサイズ
が大きすぎて人に渡すプログラムを作るときに困ってしまいます。
もし再生する方法をどなたかご存じでしたらお願いします。
0215デフォルトの名無しさん
NGNGとてもすれ違いです
0216デフォルトの名無しさん
NGNG0217デフォルトの名無しさん
NGNG0218デフォルトの名無しさん
NGNG217>>アフォだからわかんなかったんだよ
0219デフォルトの名無しさん
NGNGttp://www.wotsit.org/download.asp?f=psd3_4
0220デフォルトの名無しさん
NGNGうへっ、めんどくせ。>204は満漢全席でも食べに行ったのか、一向に仕上がってこないから
フォーマットが来たことだしちょっとやってみようかと思ったら……
ImageMagickでも拾ってこいって感じだな。
0221デフォルトの名無しさん
NGNG0222デフォルトの名無しさん
NGNGttp://pya.cc/pyaimg/pimg.php?imgid=7198
ttp://www9.plala.or.jp/sgwr-t/
つーかググッたら結構出るだろうし、
ポインタ関連ならC専門スレのほうが的確(ここもスレ違いではないが)
0223デフォルトの名無しさん
NGNG推薦図書/必読書のためのスレッド PART 20
http://pc5.2ch.net/test/read.cgi/tech/1097627740/l50
0224デフォルトの名無しさん
NGNG0225デフォルトの名無しさん
NGNG軽量カップみたいなものを想像すればよろしいのでしょうか?
それとも、メジャーみたいなもののほうがいいのでしょうか?
0226デフォルトの名無しさん
NGNGNASAが開発した新素材かなんかを想像すればよろしいのでしょうか?
0227デフォルトの名無しさん
NGNG0228デフォルトの名無しさん
NGNG0229デフォルトの名無しさん
NGNG0230常識人
NGNG厨房は確かに、私のスーパープログラムの作成を阻害し、
またそれにより、私のスーパープログラムを、お目にかかることのできなくなった
このスレの住人には大損失です。
ですか、そもそも宿題を丸投げする人種は厨房なのです。
自分に利益をもたらす厨房(自己満足、優越感、技術向上を与えてくれる)は、歓迎し、
そうでない厨房(ネタレスをする厨房)は貶める。これはただのわがままです。
つまり、厨房ということになります。
厨房をこのスレでは許容すべきです。
お前が厨房だという意見は受け付けないので悪しからず。
0231デフォルトの名無しさん
NGNG0232デフォルトの名無しさん
NGNG日本語の勉強をしましょう
0233デフォルトの名無しさん
NGNGそりゃあ、君にはかなり難しいかもしれないがな・・・・
0234常識人
NGNG0235デフォルトの名無しさん
NGNG0236デフォルトの名無しさん
NGNGまたあなたですか?
どうして、あなたはわざわざ、長文を書いてまでこのスレを荒らすのです?
スーパープログラムですって?なんですか、スーパーって?
プログラマー以前に、人間として恥ずかしくないのですか?
もし、私だったらそんな生き恥をさらす前に、死を選ぶところです。
常識人さん。
わたしはこれまであなたに、「もう来ないで下さい」
そう言い続けてきました。
ですが、今日はあえて言わねばなりますまい。
常 識 人 死 ね。
0237デフォルトの名無しさん
NGNG0238デフォルトの名無しさん
NGNG>>236
お前は少し言いすぎなんじゃねーの?
”死ね”なんて軽々しく人に対して言っていいもんじゃない。
せめて”氏ね”とかにして”死”という字を使わないのが2ちゃんの常識。
そういう意味でお前は常識知らず。常識人のほうが
常識を持っている分だけまし。
もうこないでほしいのはお前のほうだ。常識人は、宿題が枯渇しているときの
俺たちの心のオアシス。
水がなければ俺たちは死ぬ。>>236、お前は俺たちを殺すつもりか?
殺される前に、俺はお前のことを警察に通報するつもりだ。
0239デフォルトの名無しさん
NGNG0241デフォルトの名無しさん
NGNGtemplate< T_>
int henkan( T_ arg_ ){
return 1;
}
0242デフォルトの名無しさん
NGNG0243デフォルトの名無しさん
NGNG0244デフォルトの名無しさん
NGNG古田もきてるしな。
0245デフォルトの名無しさん
NGNGC言語の課題のアルゴリズムを書かなくちゃいけないレポートなんですけどそれでもダメですか?
0246デフォルトの名無しさん
NGNG問題見て判断
0247デフォルトの名無しさん
NGNG1.要素の数256の文字型配列str1, str2を宣言する。gets 関数を使ってstr1にキーボードから文字列を入力し、
ポインタを使ってその文字列をstr2にコピーするプログラムを作りなさい
2.入力された英文字列を、すべて大文字に変換して出力するプログラムを、
ポインタを使って作りなさい。
0248デフォルトの名無しさん
NGNG関係者ですが、自分でやりなさい。
0249デフォルトの名無しさん
NGNGこのプログラムを基にポーカーの役判定アルゴリズムを完成させてください。
※トランプ52枚のカードはスペードのエースが0…スペードのキングが12…
そしてクラブのキングが51というように整数で表します。ジョーカーはなしです。
0250デフォルトの名無しさん
NGNGもちとまともなのを基に汁!
0251デフォルトの名無しさん
NGNG1
#include <stdio.h>
int main(void)
{
char str1[256], str2[256], *p1 = str1, *p2 = str2;
printf("str1:");
gets(str1);
while (*p2++ = *p1++) ;
printf("str2:%s\n",str2);
return 0;
}
2
#include <stdio.h>
#include <ctype.h>
int main(void)
{
char str[256], *p = str;
gets(str);
while (*p) *p++ = toupper(*p);
printf("%s\n", str);
return 0;
}
0252デフォルトの名無しさん
NGNGポーカーのルールがわからない俺は(ry
■ このスレッドは過去ログ倉庫に格納されています