>>950 質問する前にスレを読み返した君はエライ
953 :
936 :2006/12/03(日) 23:26:41
>>949 あ、そういうことだったのですか…。完全に見方が解ってませんでした。
「関数の戻り値は○○です。」と書いてあるのかと思ってました。
どうもありがとうございました。
んなもん適当で
955 :
デフォルトの名無しさん :2006/12/03(日) 23:38:06
[1] 授業単元:プログラミング [2] 問題文:四則演算を作成しなさい [3] 環境 [3.1] OS:WindowsXP [3.3] 言語:C++/ [4] 期限:明日 [5] 最近c++を習い始めました。1.2-1.1の答えが0.1ではなく0.09999になります。 このド素人にアドバイスお願いします。
>>955 浮動少数点での計算は十中八九誤差が出ます
それだけ
>>955 printf("%.1f",hoge);
960 :
デフォルトの名無しさん :2006/12/04(月) 00:07:44
[1] 授業単元:アーキテクチャー [2] 問題文: C言語の配列とポインターを使って、文字列をひとつ入れて それぞれの文字が入っているアドレスを出力しなさい。 また、整数データの列を定義してそれぞれの整数が入っている アドレスを出力しなさい 。 [3] 環境 [3.1] OS:WindowsXP [3.3] 言語: C [4] 期限: 12月4日10時半
>>960 なんでポインタ使わんといかんのかいみわからん
#include <stdio.h>
#include <string.h>
int main()
{
int i;
int *phoge,hoge[] = {1,1,2,3,5,8,13,21};
char *pfuga,fuga[] = "mojiretu";
phoge = hoge;
for(i = 0;i < strlen(fuga);i++){
printf("&fuga[%d] = %p\n",i,(phoge+i));
}
printf("\n");
pfuga = fuga;
for(i = 0;i < sizeof(hoge)/sizeof(int);i++){
printf("&hoge[%d] = %p\n",i,(pfuga+i));
}
return 0;
}
963 :
# :2006/12/04(月) 01:38:04
964 :
# :2006/12/04(月) 01:42:01
問題の番号間違えました(−−;)。 関数の方が4,5になっています。 すいません(汗)。
誰か「C/C++の宿題は流石兄弟におまかせ 27代目」のdatを持ってないか? 持ってたら欲しいんだが。にくちゃんねるにも見当たらない。
にくちゃんねるにあるじゃん
968 :
デフォルトの名無しさん :2006/12/04(月) 02:20:05
[1] 授業単元:C言語 [2] 問題文(含コード&リンク): キーボードから入力した文章を単語単位で切り出し 総単語数と各単語の文字数を表示せよ。単語の区切りは半角スペース。 単語数の上限は50、一単語の最大文字数は30と仮定 [3] 環境 [3.1] OS:WindowsXP [3.2] コンパイラ名とバージョン:bcc32 [3.3] 言語:C [4] 期限:12月5日まで [5] その他の制限:文字入力にはgets関数を使用。ポインタだけでかければ 更に可 お願いします。半角スペースがわかりません。。
' ' ←半角!
970 :
デフォルトの名無しさん :2006/12/04(月) 02:33:06
>>969 それでエラー出たんです。。。
ってか難しくて無理ぽ。。。
半角スペースとは0x20のことだ
>>919 候補表示中にポインタがウィンドウ外に行ったとき、
ウィンドウ外をクリックされたときの挙動はどうしたらいい?
>>963 逆順ってなんだ?
ヒストグラムのやつはデータに制限無いのか?
>963 逆順ってこれでいいか? 2. #include <stdio.h> int main(void) { int i, n, m; scanf("%d", &m); i = m; n = 0; while(i) { n = n * 10 + i % 10; i /= 10; } printf("%d\n", n); if(m>n) printf("mがnより大きい\n"); else if(m<n) printf("nがmより大きい\n"); else printf("nとmは等しい\n"); return 0; }
>963 0の桁を指定してないからこれだと0にしてある。 3. int keta(int n) { int i; if(n>=0) { for(i=0; n; i++, n/=10); return i; } else { n = -n; for(i=0; n; i++, n/=10); return i + 1; } }
978 :
デフォルトの名無しさん :2006/12/04(月) 06:09:08
1 2 3 4 5 6 7 8 9 ------------------------------------------------- 1 | 1 2 3 4 5 6 7 8 9 2 | 2 4 6 8 10 12 14 16 18 3 | 3 6 9 12 15 18 21 24 27 4 | 4 8 12 16 20 24 28 32 36 5 | 5 10 15 20 25 30 35 40 45 6 | 6 12 18 24 30 36 42 48 54 7 | 7 14 21 28 35 42 49 56 63 8 | 8 16 24 32 40 48 56 64 72 9 | 9 18 27 36 45 54 63 72 81 をつくるプログラムをCでお願いします
>>978 こういう質問をすると、たいがい掛け算九九の計算手順をとらずに
数字をそのまま並べて表示するプログラムを書く人が出てくる、間違いないw
”つくる”が難しいな
”表示する”なら簡単だなんだけどね
>>978 >>979 ではご期待に応えて
#include <stdio.h>
int main()
{
printf("1 2 3 4 5 6 7 8 9\n"
"-------------------------------------------------\n"
"1 | 1 2 3 4 5 6 7 8 9\n"
"2 | 2 4 6 8 10 12 14 16 18\n"
"3 | 3 6 9 12 15 18 21 24 27\n"
"4 | 4 8 12 16 20 24 28 32 36\n"
"5 | 5 10 15 20 25 30 35 40 45\n"
"6 | 6 12 18 24 30 36 42 48 54\n"
"7 | 7 14 21 28 35 42 49 56 63\n"
"8 | 8 16 24 32 40 48 56 64 72\n"
"9 | 9 18 27 36 45 54 63 72 81\n");
return 0;
}
>>978 #include<stdio.h>
void main(){
for (int i=0;i<3;i++) printf(" ");
for (i=1;i<10;) printf(" %d",i++);
printf("\n");
for (i=0;i<30;i++) printf("-");
int j,y;
for(i=1;i<10;i++){
printf("\n%d | ",i);
y=0;
for(j=1;j<10;j++){
y+=i;
if(y<10) printf(" ");
printf("%d ",y);
}
}
printf("\n");
}
984 :
983 :2006/12/04(月) 07:11:07
訂正 #include<stdio.h> void main(){ for (int i=-2;i<1;i++) printf(" "); while(i<10) printf(" %d",i++); printf("\n"); for (i=0;i<30;i++) printf("-"); int j,y; for(i=1;i<10;i++){ printf("\n%d | ",i); y=0; for(j=1;j<10;j++){ y+=i; if(y<10) printf(" "); printf("%d ",y); } } printf("\n"); }
985 :
983 :2006/12/04(月) 07:17:38
再訂正 #include<stdio.h> void main(){ for (int i=-2;i<1;i++) printf(" "); while(i<10) printf(" %d",i++); printf("\n"); for (;i<40;i++) printf("-"); int j,y; for(i=1;i<10;i++){ printf("\n%d | ",i); y=0; for(j=1;j<10;j++){ y+=i; if(y<10) printf(" "); printf("%d ",y); } } printf("\n"); }
訂正 #include<stdio.h> void main() { int i,j,y; printf(" |"); for(i=1;i<=9;i++) printf(" %2d",i); printf("\n--+"); for (i=0;i<28;i++) printf("-"); for(i=1;i<=9;i++){ printf("\n%d |",i); y=0; for(j=1;j<=9;j++){ y+=i; printf(" %2d",y); } } printf("\n"); }
987 :
デフォルトの名無しさん :2006/12/04(月) 08:12:05
[1] 授業単元:プログラミング [2] 問題文:次のようなプログラムを作れ。 1. 数値を順番に読み込んで二次元の配列に格納する。 2. その配列を画面に出力する。 3. 次に、2つの整数を読み込む。 4. 二次元配列のうち、読み込んだ整数に対応する二つの行の内容を交換する。 5. 配列を画面に出力する。 配列の読み込み、交換、出力はそれぞれ関数にすること。 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:gcc 3.4 [3.3] 言語:C [4] 期限:2006年12月5日17:00 [5] その他の制限:授業では配列までやりましたが、特に制限はないです。 自分では期限内にできそうにないのでよろしくお願いします。
>987 二次元配列のサイズは?
数値を順番に読み込むって 何から読み込むのか書いてないのは なんだかなー 問題文に書いてあるとおりなんだろうからどうしようもないのかもしれんが
992 :
987 :2006/12/04(月) 09:01:13
二次元配列のサイズに規定はありません あと、読み込む数値は全てキーボードからの入力です
993 :
デフォルトの名無しさん :2006/12/04(月) 09:15:25
x + y = 1, x, y >= 0の条件の下で(2x + y)^2 + (x - y)^2 + (x + 2y)^2の最小値を求める という問題の変数を増やした場合 x(1) + ・・・+ x(n) = 1, x(i) >= 0の条件の下でΣ{i=1,m} (Σ{j=1,n} a(i,j) * x(j))^2の最小値 はどのように解いたらいいのかわかりますか?いいサイトあったら教えてください パソコン、プログラム使って解ける方法教えてください
[1]プログラム演習 [2] 一定の文字からなる列sを読み込み、以下の条件を満たす同じ個数の文字からなる列tを出力するプログラムを作りなさい。 ただし、以下での単語とは空白以外の文字からなる列のこととする。 1,s中の単語は同じ順番で t に現われる 2,t中では単語は一つの空白に区切られる 3,t中に最初の単語の最初の文字から最後の単語の文字までは列全体のちゅうおうに位置し、前後は空白である 例えば文字の列 _This___is__a____good___program___ を入力すると ______This_is_a_good_program______ が出力される。ここで、_は空白を表すものとする。 [3]C言語 [4]12/7 [5]for,while,if文 ポインター 文字列 1,2次配列 関数の書き方
>>993 二次計画問題。
数理計画とか凸計画とか線型計画とかの本で「二次計画」
という言葉を探すといいと思うよ。
アルゴリズムとしては、線型計画に帰着するのと、
凸計画として降下法系のを使うのの二つがあるが、後者のほうが実装は楽。
996 :
デフォルトの名無しさん :2006/12/04(月) 09:46:13
>>995 ありがとうございます
変数が2次なんですけど出来ますか?
0よりは小さくならず、無限には大きくならないので最小値は必ず一つあるはずなんですが
998 :
デフォルトの名無しさん :2006/12/04(月) 09:57:14
>>997 しかも最小値を与えるx(i)を決定したいんですが...出来ますか?
本が手に入らないんですが...いいサイトないですか?検索してみますけど
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。