ぼるじょあがC/C++の宿題を片付けますYO! 35代目
レス数が1000を超えています。これ以上書き込みはできません。
0001ぼるじょあ ◆yBEncckFOU
NGNGわからない宿題を片づけますYO!
――【注意点】――――――――――――――――――――――
・使用する言語(C/C++)や環境(CUI/GUIなど)は必ず書きましょう。
・問題文は、ちゃんと解いてもらう方にわかりやすいように全文を書きましょう。
・計算問題は必ず数式自体をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その行とエラーの詳細を書きましょう。
エラーメッセージが出た場合はそのままコピーしてください。
・後になって問題につけたしをするのはやめましょう。
解いてもらっている方に失礼になってしまいます。
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
http://do.sakura.ne.jp/%7Ejunkroom/cgi-bin/megabbs/lounge/index.html
【歴代スレは>>1-10辺り】
34代目: http://pc5.2ch.net/test/read.cgi/tech/1100530682/
33代目: http://pc5.2ch.net/test/read.cgi/tech/1097932699/
32代目: http://pc5.2ch.net/test/read.cgi/tech/1097592876/
31代目: http://pc5.2ch.net/test/read.cgi/tech/1095075678/
30代目: http://pc5.2ch.net/test/read.cgi/tech/1091954342/
29代目: http://pc5.2ch.net/test/read.cgi/tech/1090765027/
28代目: http://pc5.2ch.net/test/read.cgi/tech/1089974839/
27代目: http://pc5.2ch.net/test/read.cgi/tech/1089448445/
26代目: http://pc5.2ch.net/test/read.cgi/tech/1088860889/
25代目: http://pc5.2ch.net/test/read.cgi/tech/1087929711/
24代目: http://pc5.2ch.net/test/read.cgi/tech/1086612317/
23代目: http://pc5.2ch.net/test/read.cgi/tech/1085149383/
22代目: http://pc5.2ch.net/test/read.cgi/tech/1083050221/
21代目: http://pc5.2ch.net/test/read.cgi/tech/1078157730/
20代目: http://pc5.2ch.net/test/read.cgi/tech/1075217631/
19代目: http://pc5.2ch.net/test/read.cgi/tech/1073566342/
0002デフォルトの名無しさん
NGNG17代目: http://pc5.2ch.net/tech/kako/1070/10704/1070469896.html
16代目: http://pc5.2ch.net/tech/kako/1069/10698/1069837000.html
15代目: http://pc5.2ch.net/tech/kako/1068/10689/1068950713.html
14代目: http://pc5.2ch.net/tech/kako/1067/10671/1067175933.html
13代目: http://pc5.2ch.net/tech/kako/1064/10645/1064541405.html
12代目: http://pc5.2ch.net/tech/kako/1060/10607/1060706382.html
11代目: http://pc5.2ch.net/tech/kako/1058/10582/1058283913.html
10代目: http://pc5.2ch.net/tech/kako/1057/10570/1057070174.html
9代目: http://pc5.2ch.net/tech/kako/1055/10559/1055944101.html
8代目: http://pc5.2ch.net/tech/kako/1055/10550/1055056940.html
7代目: http://pc5.2ch.net/tech/kako/1053/10539/1053963794.html
6代目: http://pc5.2ch.net/tech/kako/1053/10530/1053045530.html
5代目: http://pc5.2ch.net/tech/kako/1051/10515/1051594046.html
4代目: http://pc5.2ch.net/tech/kako/1045/10450/1045074808.html
3代目: http://pc5.2ch.net/tech/kako/1041/10419/1041992392.html
2代目: http://pc3.2ch.net/tech/kako/1039/10397/1039772622.html
1代目: http://pc3.2ch.net/tech/kako/1038/10380/1038024989.html
【注意点追加】
・複雑なAAはスレが荒れたり問題を埋もれさせてしまう原因に
なりますので、使用を控えてください。
【質問テンプレ】
[1] 授業単元:
[2] 問題文(含コード&リンク):
[3] 環境
[3.1] OS:
[3.2] コンパイラ(バージョン):
[3.3] 言語:C/C++/どちらでも可 のいずれか
[4] 期限:yyyy年mm月dd日hh:mmまで/無期限 のいずれか
[5] その他の制限:
0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNG0005ぼるじょあ ◆yBEncckFOU
NGNG0006デフォルトの名無しさん
NGNG0007デフォルトの名無しさん
NGNG性懲りも無く・・・
0008デフォルトの名無しさん
NGNG0009デフォルトの名無しさん
NGNG0010デフォルトの名無しさん
NGNG乙
0011デフォルトの名無しさん
NGNG使用する言語はC++とする。
という宿題がでたんですけど、だれか教えてくれませんか?
0012デフォルトの名無しさん
NGNG0013ぼるじょあ ◆yBEncckFOU
NGNG0014デフォルトの名無しさん
NGNG001511
NGNG0016(・∀・)イイ!!
NGNGあげれば(・∀・)イイ!!
それでも答えてもらえないなら
しかたな(・∀・)イイ!!
0017デフォルトの名無しさん
NGNG0018デフォルトの名無しさん
NGNG0019sage
NGNG具体例は理解できるのですが、考え方がまったくわからないので
お願いします。
[1] 授業単元:アルゴリズム
[2] 問題文(含コード&リンク):
C言語を用いて次のプログラムを作成しなさい。
材料が、鉄:5000kg 3000kgの二種類あり、
製品が、鉄鋼:3100kg 1800kg 1400kg 1100,800kgの4種類ある。
ユーザは、ほしい製品の数量をコンソールからそれぞれ入力し、
どの材料からどのような組み合わせで作ればいいか
最適な組み合わせ(材料に無駄が少ないようにする)を出力する。
具体例:
3100kg*1がほしい→5000kgから3100*1の組み合わせで作ればよい。
1500kg*2がほしい→3000kgから1500*2の組み合わせで作ればよい。
3100*2,1800*2,1000*2がほしい
↓
4000kg*1から3100*1+1800+1
4000kg*1から3100*1+1800+1
3000kg*1から1000*2
の組み合わせで作ればよい。
[3] 環境
[3.1] OS:Windows2000
[3.2] コンパイラ(バージョン):Microsoft VisualC++6.0
[3.3] 言語:C/C++/どちらでも可 のいずれか
[4] 期限:2004年12月14日
[5] その他の制限:ある程度最適ならよい
002019
NGNG0021デフォルトの名無しさん
NGNG不可能でFA
0022デフォルトの名無しさん
NGNG0023デフォルトの名無しさん
NGNG要するにabcbccab、bcbccab、cbccab、bccab、ccab、cab、ab、bという文字列を
クイックソートを用いて辞書順にソートしたいんですがどうもやり方がわかりません
0024デフォルトの名無しさん
NGNG0025(・∀・)イイ!! ◆LC7P44pfbg
NGNGしかたな(・∀・)イイ!!
0026デフォルトの名無しさん
NGNGクイックソートしなくてもセットに入れていけばいいんだよね?
0027デフォルトの名無しさん
NGNG(・∀・)イイ!!の言うことは確かに正論だ。
だがな?正論ばっかじゃ生きていけないぜ?
(・∀・)イイ!!のような自治厨をこのスレは欲していない。
(・∀・)イイ!!がいたところで、このスレが荒れることには
変わりないんだからな、わかったな?
0028デフォルトの名無しさん
NGNG良い良い良い良い五月蠅いな
0029デフォルトの名無しさん
NGNG0030デフォルトの名無しさん
NGNG[3] 環境
[3.1] OS:windows xp
[3.2] コンパイラ(バージョン):よく分からないんですが、Cygwin(?
[3.3] 言語:C
sin(x)=x-x^3/3!+x^5/5!-x^7/7!・・・がサインの展開したものです。
角度をthetaとしてください。何項まで計算するか自分で指定しなくちゃいけないんですかね^^;
かなりの素人ですが、 お願いしますm(__)m
0031デフォルトの名無しさん
NGNGそれとも俺等が聞かれてるの?
オマエは素人ってか馬鹿だから、俺は答えない。
0032デフォルトの名無しさん
NGNG四項まで指定するとどうなりますか?
0033デフォルトの名無しさん
NGNG0034デフォルトの名無しさん
NGNG4項までとかそんなのは関係無い。
要は、何項までか指定されているか、そうでないか?で、プログラムが変わる。
0035デフォルトの名無しさん
NGNG> 何項まで計算するか自分で指定しなくちゃいけないんですかね^^;
なんて言葉が出てくるだろうか
0037デフォルトの名無しさん
NGNG0038デフォルトの名無しさん
NGNG#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <iterator>
#include <map>
using namespace std;
class Suffix{
map<string, int> Dictionary;
public:
Suffix(string str);
void MakeSuffix(string str);
vector<int> GetSuffixArray();};
Suffix::Suffix(string str){MakeSuffix(str);}
void Suffix::MakeSuffix(string str){
for(string::iterator itr=str.begin();itr!=str.end();itr++){
string temp;
copy(itr, str.end(),back_inserter(temp));
Dictionary.insert(make_pair(temp, itr-str.begin()));}}
vector<int> Suffix::GetSuffixArray(){
vector<int> ret;
for(map<string, int>::iterator itr=Dictionary.begin();itr!=Dictionary.end();itr++){
ret.push_back(itr->second);}return ret;}
void show(int i){cout << i <<endl;}
int main(void){
string str="imfinethankyou";
Suffix sfx(str);
vector<int> v=sfx.GetSuffixArray();
for_each(v.begin(), v.end(), show);
return 0;}
0039300
NGNG5種類に見える
0040デフォルトの名無しさん
NGNGどうすればいいのですか?
a b
0.001 1
0.002 2
0.003 3
以下続く。
for(i=1; i<10; i++){
moge(double a, double b;):
cout<< a << ", " << b << endl;
}
0041デフォルトの名無しさん
NGNG0042デフォルトの名無しさん
NGNG何がしたいのかよく分からん。もっと分かりやすく説明してくれ。
0043デフォルトの名無しさん
NGNG0044デフォルトの名無しさん
NGNG0045デフォルトの名無しさん
NGNG0046デフォルトの名無しさん
NGNG[2] 問題文:
課題2 1〜20までの整数を入力し、その個数分だけの正の整数を入力し、入力した順と逆順に出力する。
課題3 20個までの適当な正の整数を入力し、入力した順と逆順に出力する。課題2とは違って、あらかじめ何個入力するかは指定しない。
課題4 課題3で入力された整数に加えて、別に1個の数値を入力し、その数値が先に入力した数値の中に含まれるかどうかを判定し、あればyes、無ければnoを出力する。
課題5 課題4に加えて、数値がある場合、何番目の数値か出力する。
課題6 課題4,5に加えて、後から入力した数値が含まれる場合、その数値を除いた残りの数値を出力する。
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ(バージョン): MinGW 2.0.0
[3.3] 言語:C
[4] 期限:2004年12月22日
素人なのでよく分かりません。どうか宜しくお願いします。
0047デフォルトの名無しさん
NGNG#include <string.h>
int main()
{
int array[20];
int i,in,key;
int yesno = 0;
memset(array, -1, sizeof(array));
printf("個数?:");
scanf("%d",&in);
if(in < 0 || in > 20) return 0;
/* in = 20; */
printf("-1で強制終了:");
for(i=0; i<in; i++) {
scanf("%d",&array[i]);
if(array[i] == -1) break;
}
printf("キー?:");
scanf("%d",&key);
for(i=19; i>=0; i--) {
if(array[i] == key) { yesno = 1; printf("yes\t"); printf("%d番目\n", i+1); }
else if(array[i] != -1) { printf("%d\n",array[i]); }
}
if(yesno == 0) { printf("no"); }
}
0048デフォルトの名無しさん
NGNG#include <stdio.h>
#include <math.h>
/* 階乗 */
double factorial(unsigned int a)
{
int ans = 1;
while(a) {
ans *= a;
a--;
}
return (double)ans;
}
int main()
{
int n;
double x,ans = 0.0;
printf("n?:");
scanf("%d", &n);
printf("theta(rad)?:");
scanf("%lf", &x);
while(n>0) {
ans += ( pow(-1,(n-1)) / factorial(2*n-1) * pow(x,(2*n-1)) );
n--;
}
printf("左辺:%lf", sin(x));
printf("右辺:%lf",ans);
return 0;
}
ある範囲超えると大幅に狂う… 制限区間があったかも
0049デフォルトの名無しさん
NGNGだそうです。
誰か作って下さい。
005049
NGNG0051デフォルトの名無しさん
NGNGstd::string str = "hoge";
str.assign(str.rbegin(), str.rend()); // 逆順にする
0052デフォルトの名無しさん
NGNG君はまずCとC++の区別をつけられるようになりなさい
0053デフォルトの名無しさん
NGNG階乗はあっさりINT_MAXを越えると思うのだが。
005449
NGNGありがとうございます。
>>52
今まで実行は Visual C++ .NET でやっていたのでてっきり
自分はC++習ってると思ってたんですが、ちょっと調べたところ、C言語だったみたいです。
忠告ありがとうございました。
まことに身勝手ながら、>>49の問題を誰かC言語でお願いします。
005546
NGNGまた、課題が出たので、よろしくお願いします。
[1] 授業単元:プログラミング言語基礎
[2] 問題文:
20個の正の整数を入力し、その中から3番目に大きな数値とそれが何番目に入力されたかを出力するプログラム。
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ(バージョン): MinGW 2.0.0
[3.3] 言語:C
[4] 期限:2004年12月24日
005649
NGNGお騒がせしました。
もしやって下さっていた方が居ましたら、
ご苦労様でした & すいませんでした。
0057デフォルトの名無しさん
NGNG(3.0,5.0),(4.0,2.0),(5.0,0.0)
の最小2乗近似による一次多項式f1(x),二次多項式f2(x)を求めなさい
与えられた関数系はf(x)=x^jとして,近似関数F(x)を係数a(j)と関数系f(x)を乗じて
0からj(j=0,1,・・・,m)まで級数をとったものとする。その近似が最もよくなるように
係数a(j)を決める
[3]環境:
[3.1]OS:Windows XP
[3.2]コンパイラ(バージョン):詳細はわかりませんが,Cygwinを使ってます
[3.3]言語:C
最小2乗近似をつかって近似多項式を求める問題でm=1,2の場合について
求めなければならないのですが、求めるのは係数のa(j)で、m=1の場合はa(0),a(1)
m=2の場合はa(0),a(1),a(2)という風に分けて求めたいです
どうかよろしくお願いします
0058デフォルトの名無しさん
NGNGキーボードから10個の値(正の整数)入力し、その合計を求め表示するプログラム
入力した値が
奇数なら5を足した値を足す
偶数は3倍した値を足す
10個の値を入力するためには、for関数を使用する
という課題を出されたのですが、for関数を用いて10個の値を入力するってのがよく分かりません。
お教え頂けないでしょうか?
0059デフォルトの名無しさん
NGNG{
int i,num,total=0;
for(i=0;i<10;i++) {
scanf("%d",num);
if(num%2 == 1) total+=num+5;
else total+=(num*3);
}
}
0060デフォルトの名無しさん
NGNGint main(void){
unsigned int i,n,sum=0;
for(i=0;i<10;i++){
scanf("%u",&n);
if(n%2 == 1) sum+=n+5;
else sum+=(n*3);
}
return(0);
0061デフォルトの名無しさん
NGNG円周率πを以下の式を用いて計算するプログラムを作成しなさい。
π/4 = arctan 1/2 + arctan 1/5 + arctan 1/8
ただし、arctanは以下の級数展開の式を用いて計算すること。
arctan t = t - t^3/3 + t^5/5 -t^7/7 + … + (-1)^n * t^(2n+1) / 2n+1 + …
[言語]C言語です
式が見づらくてすみません。
このような課題が出たのですが、解き方が全くわかりません。
どなたか解いていただけないでしょうか?
0062デフォルトの名無しさん
NGNGかなりやっつけ。もっとスマートな方法はあるはず。
void sort(int *list,int *input){
int cnt1,cnt2,temp;
for(cnt1=19;cnt1>0;cnt1--){
for(cnt2=0;cnt2<cnt1;cnt2++){
if(*(list+cnt2)<*(list+cnt2+1)){
temp=*(list+cnt2+1);
*(list+cnt2+1)=*(list+cnt2);
*(list+cnt2)=temp;
temp=*(input+cnt2+1);
*(input+cnt2+1)=*(input+cnt2);
*(input+cnt2)=temp;
}
}
}
}
void showList(int *list,int *input){
for(int cnt=0;cnt<20;cnt++)printf("%d番目に大きいのは%d(入力は%d番目)\n",cnt+1,*(list+cnt),*(input+cnt)+1);
}
int main()
{
int list[20],input[20];
for(int cnt=0;cnt<20;cnt++){printf("No. %d =",cnt);scanf("%d",&list[cnt]);input[cnt]=cnt;}
sort(list,input);
printf("3番目に大きいのは%d(入力は%d番目)\n",list[2],input[2]+1);
showList(list,input);
}
0063デフォルトの名無しさん
NGNG0064デフォルトの名無しさん
NGNGlong double Arctan(long double t,unsigned int n){
unsigned int i;
long double p,q,x=0;
for(i=0;i<n;i++){
p=pow(-1,n);
q=pow(t,2*i+1);
x=p*q/(2*i+1);
}
return(x);
}
int main(void){
unsigned int n;
scanf("%u",&n);
printf("%lf\n",Arctan(0.5,n)+Arctan(0.2,n)+Arctan(0.25,n));
0065デフォルトの名無しさん
NGNG0066デフォルトの名無しさん
NGNGじゃあ答えるなよばーか
0067デフォルトの名無しさん
NGNGほぉーそう来たかw
分かった。そうする。
0068デフォルトの名無しさん
NGNG間違ってねぇか?
p=pow(-1,n); はp=pow(-1,i);
最後のArctan(0,25)は(0.125)だと思われ。
あと最後の返し中括弧がないね。これはどーでもいいが。
0069デフォルトの名無しさん
NGNGあーそうだね。間違ってる。
でも君が気付くんだから、質問者も気付くんじゃないかな?
最後の括弧とretunは面倒だから省いた。ヘッダのインクルードもね。
0070デフォルトの名無しさん
NGNGじゃあ答えるなよばーか
0071デフォルトの名無しさん
NGNGだから答えねーよばーか
0072デフォルトの名無しさん
NGNG言い訳がましいなぁ。まぁ、Typoする香具師だということはよく判ったが。
0073デフォルトの名無しさん
NGNG0074デフォルトの名無しさん
NGNGんな小さいミスでゴタゴタ言うなや・・・すぐ見つかるミスだからいいでしょ。
このスレに書くプログラムで動作テストまでやってる人いるの?
0075デフォルトの名無しさん
NGNG動作確認して書くのは当たり前だろ。
恥を知れ。
0076デフォルトの名無しさん
NGNG何?社会人でこのスレにプログラム提供してる人いるの?
だとしたら、随分レベルの低い人だね。
俺は大学学部4年。暇な時ここに書いてる。
0077デフォルトの名無しさん
NGNGそうか。ドンマイw
0078デフォルトの名無しさん
NGNGもう二度とクソコード書き込むなよ…
0079(・∀・)イイ!! ◆LC7P44pfbg
NGNGせめぎ合う中で良質のプログラマーは育まれ
世に良質なコードが多数生み出されていく
そんな明るい未来(・∀・)イイ!!
0080デフォルトの名無しさん
NGNGうーん。大体が糞コードなんだし、糞コードが一つ増えても何も変わらないのでは?
ま、もうここにソースは書き込まないよ。
ってか書き込む人はちゃんと動作テストするんだぞ!!
0081デフォルトの名無しさん
NGNGソースといわず、ここといわず、何も書き込むな。
0082デフォルトの名無しさん
NGNG0083デフォルトの名無しさん
NGNG( )の中に当てはまる語句を選択肢から選ぶ問題です。
・switch文は( )[1]によって、( )[2]の実行文の中のどれかを( )[3]処理する( )[4]制御文です。
選択肢
a単数 b複数 c式の値 d選んで e単一方向 f多方向分岐
・(式)の値は( )[1]でなければいけません。
・case 定数式:と default:文は実行文を示す( )[2]です。
・case 文は、何段でも続けて書くことが( )[3]。
・case 定数式と default の後には( )(;)[4]ではなく( )(:)[5]を書きます。
・実行文の範囲は、カッコ{ }で( )[6]。
・( )[7]文は、必要でなければ省略することもできます。
・switch 文はif 文のように、式の大小や、文字列同士を比較して分岐方向を決めることが( )[8]。
選択肢
aできます bできません c示します d示しません eラベル f整数 gコロン hセミコロン i case j default
よろしくお願いします m(_ _)m
0084デフォルトの名無しさん
NGNG0085デフォルトの名無しさん
NGNGいやーそれはしない。
ソースを書き込まないってのはここの流儀が俺には気に食わないからって理由。
ここに書き込まない理由は一切無い。
そういう指図する権利があるのが是なら、俺も君にこのスレに書き込むな要求をしよう。
0086デフォルトの名無しさん
NGNG宿題丸投げしておいて礼も言わない人にそこまでの労力を注ぐ人の気が知れないなぁ
0087デフォルトの名無しさん
NGNG0088デフォルトの名無しさん
NGNG0089デフォルトの名無しさん
NGNG気が向きゃコード書くし、暇ならテストもする。労力? そんなものが要るほど高度な宿題なんかあったかね。
0090デフォルトの名無しさん
NGNGじゃあ答えるなよばーか
0091デフォルトの名無しさん
NGNG7,8は引っかけと言うより設問者が阿呆だと思われ。
0092デフォルトの名無しさん
NGNG馬鹿。テストは義務らしいぞ。暇なら〜は通用せんらしい。
0093デフォルトの名無しさん
NGNGお前、いいかげん邪魔なんだけど。
0094デフォルトの名無しさん
NGNG何でテストまで義務化するよ?
簡単な問題でもミスる時あるでしょ?
テストの段階ですぐミスに気付けば、それでいいじゃん。
俺のさっきのミスはあれは勘違いとかのハマリにはならない。すぐ気付くミス。
そんなんいちいち指摘するなよ。
0095デフォルトの名無しさん
NGNG邪魔?結構。
0096デフォルトの名無しさん
NGNGソフト使ってるだけでC++を勉強してるんだと勘違いしてる椰子多すぎ
0097デフォルトの名無しさん
NGNGじゃあ答えるなよばーか
0098デフォルトの名無しさん
NGNGCの基礎を勉強中です。
0099デフォルトの名無しさん
NGNG横槍だが、自分の書いたことに責任もてない奴が何を言っても無駄
010061
NGNGさっそく解いていただきまして、ありがとうございます。
ご指摘の箇所を訂正して、コンパイルしようとしたら
error C2018: 文字 '0x81' は認識できません。
error C2018: 文字 '0x40' は認識できません。
このようなエラーが出てしまったのですが・・・
0101デフォルトの名無しさん
NGNG見えないかもしれないが、全角スペースが入ってる。
0102デフォルトの名無しさん
NGNG2バイト空白を1バイト空白に置換汁。
それから、2バイト空白が見えるエディタを使っとけ。
0103デフォルトの名無しさん
NGNGそこまでの事をする必要性に疑問を感じる。
君はここにプログラムを書くときにわざわざコンパイルまでしてるの?
書き込み欄に書いて確認しないで終了って人が殆どだと思ってた。
>>100
スペースは全角で入れてる。
コピペしても動かんぞ。
0104デフォルトの名無しさん
NGNGじゃあ答えるなよばーーーーーーーーーーーーーーーーか
0106デフォルトの名無しさん
NGNG自分の意見に責任持つのは大事だけどさぁ、
別にここに書き込む”プログラムの方”に責任持つのは理解できんな。
というのが俺の認識だな。
ま、この話題はもう止めようや。平行線だろ。
0107デフォルトの名無しさん
NGNG#include <stdio.h>
int main(void)
{
char *s = "aaabcdeeaa", *p, cnt = 0;
for (p = s; *p;p++)
if (*p == 'a') cnt++;
printf("aは%d個\n", cnt);
return 0;
}
0108デフォルトの名無しさん
NGNGなーに、間違ったところでどうせ誰かの突っ込みが入るさ。
0109デフォルトの名無しさん
NGNGお前が消えれば終わるんだよ
0110デフォルトの名無しさん
NGNG俺は君が消えたらこの話題を続ける必要は無くなる。
なので、君が消えれば終わるんだよ。
0111デフォルトの名無しさん
NGNG上の香具師はそういうスタンスとは明らかに違うがな
0112デフォルトの名無しさん
NGNG0113デフォルトの名無しさん
NGNG意図的にそう書いているなら未だいいが、普段からそんな書き方しているなら仕事では通用しないな。
0114デフォルトの名無しさん
NGNG0115デフォルトの名無しさん
NGNGいや本人か!?
0116デフォルトの名無しさん
NGNGいえ、意図的ではなく、まじめに書いたつもりです。
プログラムで飯を食うつもりはありませんが、後学のために
どこがいけないのか教えてもらいたいです。
0117デフォルトの名無しさん
NGNG君が仕事で通用していないということが良く分かった
0118デフォルトの名無しさん
NGNG横槍だが、何文字数えられますか?とか、関数化したほうが、とか。
0119デフォルトの名無しさん
NGNGありがとうございます!!
0120デフォルトの名無しさん
NGNG0121デフォルトの名無しさん
NGNGはぁ?
0122デフォルトの名無しさん
NGNG君が仕事で通用していないということが良く分かった
0123116
NGNGあと、例を示すのにこのくらいのものなら関数化は必要ないと思いました。
0124デフォルトの名無しさん
NGNG0125デフォルトの名無しさん
NGNG0126デフォルトの名無しさん
NGNGそれは仕様です。
0128デフォルトの名無しさん
NGNG>文字列の中に文字aが何文字あるか表示するプログラムってどう書けばいいですか?
0129デフォルトの名無しさん
NGNG・使用する言語(C/C++)や環境(CUI/GUIなど)は必ず書きましょう。
・問題文は、ちゃんと解いてもらう方にわかりやすいように全文を書きましょう。
・計算問題は必ず数式自体をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その行とエラーの詳細を書きましょう。
エラーメッセージが出た場合はそのままコピーしてください。
・後になって問題につけたしをするのはやめましょう。
解いてもらっている方に失礼になってしまいます。
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0130デフォルトの名無しさん
NGNG0131デフォルトの名無しさん
NGNGint main(void)
{
char *s = "aaabcdeeaa";
int cnt = 0, i;
for (i = 0; s[i]; i++)
if (s[i] == 'a') cnt++;
printf("aは%d個\n", cnt);
return 0;
}
0132113
NGNG一応マジレス。
・cntをchar型にする積極的理由がない。
・変数は1行に一つ(或いは意味的関連性がある数個)程度にしたほうが保守性が上がる。
・1行に書かない制御構造は修正時のミスを避けるためにブロック化するべき。
・1行に纏めたい積極的理由がないなら制御構造ではブロック化したほうが無難。
・明らかな使い捨て処理であっても関数化しておく癖をつけるとコードの再利用がしやすくなる。
・文字終端の検出は、できればナルキャラのと比較という形にしたほうが意図が伝わりやすい。
要は、ダメプログラマーが読めるように、という按配。
0133デフォルトの名無しさん
NGNGせめて「すいません」ではなく、「すみません」と書くように。
0136デフォルトの名無しさん
NGNG関数やってないんで、使わないでくれって初心者多いし。
あとスタイルの問題についてとやかく言うのはどうかと。
0137デフォルトの名無しさん
NGNG0138デフォルトの名無しさん
NGNG0139デフォルトの名無しさん
NGNG相手に謝るとき、礼を言うとき、依頼をするときなどに言う語。しばしば感動詞的に用いられる。
すいません。
三省堂提供「大辞林 第二版」より
0140デフォルトの名無しさん
NGNGここ宿題スレだぞ?
014161
NGNGおかげさまでようやくコンパイルできたんですが
プログラム実行してみても、動かないというか・・・
私自身使い方よくわかってないのだと思います・・・
よろしければ教えていただけないでしょうか?
0142デフォルトの名無しさん
NGNGint i,cnt[256]={0};
for(i=0; i<sizeof(s)/sizeof(s[0]); ++i) ++cnt[s[i]];
printf("aは%d個\n", cnt['a']);
0143デフォルトの名無しさん
NGNG0144デフォルトの名無しさん
NGNGあぁ、アークタンジェントの関数に、t-ってのを忘れてたわ。
すまん。l
0145132=113
NGNG仕事で2ch語でメールなんぞ書いたらとんでもないことは判るよね?
仲間内なら2ch語でメール書いてもそれは一向に構わないのだけれど
不特定多数へのメールなら一応2ch語は避けようと思わない?
私はプログラミングも同じだと思う。つまり、普段から崩れた書き方してると
それが染み付いてしまいきちんとした書き方ができなくなりますよ、と。
>>134
容認も何も、私が書いたことには一切拘束力はない。
判断し、行動するのはあなた。char cntの件がなければ>132も書かなかっただろうしね。
0146デフォルトの名無しさん
NGNG>>140
仕事で2ch語でメールなんぞ書いたらとんでもないことは判るよね?
仲間内なら2ch語でメール書いてもそれは一向に構わないのだけれど
不特定多数へのメールなら一応2ch語は避けようと思わない?
私はプログラミングも同じだと思う。つまり、普段から崩れた書き方してると
それが染み付いてしまいきちんとした書き方ができなくなりますよ、と。
( ;´Д`)
0147デフォルトの名無しさん
NGNG0148デフォルトの名無しさん
NGNG0149デフォルトの名無しさん
NGNG飯食っていく気ないんなら自分が読めればそれでいいじゃん
0150デフォルトの名無しさん
NGNG<⌒/ヽ-、___ たまたま機会があったから書いただけじゃないか。
/<_/____/ いいよもう、寝るから。
0151デフォルトの名無しさん
NGNGこの上司の台詞に俺はキレた・・・
「ドラクエ8のラスボスは主人公の兄イリアス」
759 :仕様書無しさん :04/11/29 18:54:19
>>758
うそだと言ってくれ・・・orz
761 :仕様書無しさん :04/11/29 19:14:45
>>758
おれはおまえにキレそうだ。
0152デフォルトの名無しさん
NGNGドキュソのプログラム作ってやるのに
ブロック化だの、関数化だの
会社だの仕事だの・・・・
0153デフォルトの名無しさん
NGNG0154デフォルトの名無しさん
NGNGVC++6.0でダイアログベースで作成してます。
Monthcalendarの週番号は取得できないのですか?
MSDNを見たんだけど、ShowWeekNumberっていうのを
どのように使ったらいいかわかんないんです。
詳しく、お願いします。
誰か親切な方お願いします。
0155デフォルトの名無しさん
NGNGまずは仕様書を書いてください。
そんなことではじっさいの開発では通用しませんよ。
0156デフォルトの名無しさん
NGNGはっはっはっはっはっは
じっさいの開発にかかわった事ないな?仕様書が最初にあるわけないだろう
わっはっはっはっはっは
0157デフォルトの名無しさん
NGNG今度からテンプレに入れておいてくれ
0158デフォルトの名無しさん
NGNG泣くな。
0159デフォルトの名無しさん
NGNG月間予定表のプロパティで週番号の表示はできますよね。
ある日付を選択したら、その週番号をエディットボックスに
表示したいんですけど・・・
それでもわかりにくいですか・・・
誰かお願いします。
0160デフォルトの名無しさん
NGNG0161デフォルトの名無しさん
NGNG0162デフォルトの名無しさん
NGNG0163デフォルトの名無しさん
NGNG本当にお願いします。
0164デフォルトの名無しさん
NGNG{
switch (message) {
case WM_INITDIALOG:{
HWND hwndMonthCalender;
RECT rcMonthCal;
// 新しいコントロールを使用するための宣言
INITCOMMONCONTROLSEX icex;
icex.dwSize = sizeof(icex);
// カレンダーコントロールを使用する
icex.dwICC = ICC_DATE_CLASSES;
InitCommonControlsEx(&icex);
// カレンダーコントロールの作成
// ここで指定したウィンドウサイズは意味がない
hwndMonthCalender = CreateWindowEx( WS_EX_CLIENTEDGE, MONTHCAL_CLASS, "",
WS_VISIBLE | WS_CHILD | WS_BORDER | MCS_DAYSTATE ,
5, 5, 150, 150, hDlg, NULL, g_hInstance, NULL);
// カレンダーコントロールの大きさを取得
MonthCal_GetMinReqRect( hwndMonthCalender, &rcMonthCal);
// 大きさを設定
SetWindowPos( hwndMonthCalender, NULL, 0, 0,
10+rcMonthCal.right-rcMonthCal.left,
10+rcMonthCal.bottom-rcMonthCal.top, SWP_NOMOVE );
return TRUE;
}break;
}
return FALSE;
}
0165デフォルトの名無しさん
NGNG{
CDialog::OnInitDialog();
:
:
// 新しいコントロールを使用するための宣言
INITCOMMONCONTROLSEX icex;
icex.dwSize = sizeof(icex);
// カレンダーコントロールを使用する
icex.dwICC = ICC_DATE_CLASSES;
InitCommonControlsEx(&icex);
// m_wndMonthCalenderはCWnd型のオブジェクト
// カレンダーコントロールの作成
// ここで指定したウィンドウサイズは意味がない
m_wndMonthCalender.CreateEx( WS_EX_CLIENTEDGE, MONTHCAL_CLASS, "",
WS_VISIBLE | WS_CHILD | WS_BORDER | MCS_DAYSTATE ,
5, 5, 150, 150, m_hWnd, NULL);
// カレンダーコントロールの大きさを取得
CRect rcMonthCal;
MonthCal_GetMinReqRect(m_wndMonthCalender.m_hWnd, &rcMonthCal);
// 大きさを設定
m_wndMonthCalender.SetWindowPos( NULL, 0, 0,
10+rcMonthCal.Width(), 10+rcMonthCal.Height(), SWP_NOMOVE );
return TRUE; // TRUE を返すとコントロールに設定したフォーカスは失われません。
}
0166デフォルトの名無しさん
NGNG週番号の取得は・・・
0167デフォルトの名無しさん
NGNG0168デフォルトの名無しさん
NGNG0169デフォルトの名無しさん
NGNG0170デフォルトの名無しさん
NGNGツェラーの公式でその年の1/1の曜日がわかるんだから、
うるう年の計算忘れずに知りたい日の1/1からの日数調べて割れば?
0171デフォルトの名無しさん
NGNG月間予定表コントロールで週番号を表示できるので
その週番号を取得できないですかって聞いてるんです。
0172デフォルトの名無しさん
NGNG0173デフォルトの名無しさん
NGNG0174デフォルトの名無しさん
NGNG学校で出た課題です。
txtファイルを読み込んだり、arrayがいっぱいあったりで少し混乱してます。
txtファイルが読み込めなくてかれこれ3時間ほど苦悩しえます。
テキストファイルを読み込むには
ifstream inFile;
inFile.open("txt")
でいいんですよね?
ファイルがうまくよみこめません。
txtファイルはプログラムがセーブしてある同じフォルダ内においてあります。
テキストファイルが読み込めないことには何もできないです。
どうか助けてください。
0175デフォルトの名無しさん
NGNG0176デフォルトの名無しさん
NGNGファイルないんじゃないの
0177デフォルトの名無しさん
NGNGopenだけすればファイル読み込み完了してるんだと勘違いしてる悪寒
0178デフォルトの名無しさん
NGNGファイルの内容が、リンク先の>>2でいいのなら・・・
char Item_id[date];
int Sale_Date[date];
int Customer_id[date];
char Payment_Type[date];
↓
string Item_id[date];
string Sale_Date[date];
int Customer_id[date];
string Payment_Type[date];
あと、ソースの一番上に「#include<string>」を書く。
・charは1文字しか入らないので、stringにする。
char Item_id[date]・・・では、「一文字」の配列になってしまうので望んだとおりにならない。
・日付はいきなりintにならんので、stringに読み込んでおく。
で、どうだろう。
0179デフォルトの名無しさん
NGNGDevC++ではOKなのか?
0180デフォルトの名無しさん
NGNGOK death
File wo hiraku koto ha dekimashita
(full path ga hituyou datta)
0181提出まで後7日
NGNG色々ご指摘ありがとうございます。
試行錯誤の結果txtファイルのフルパスを入れてみたら読み込めました。
こんな感じです。
これ見つけるまでにとても時間がかかった(一日つぶしちゃいました
//Open file
ifstream data("C:\\Documents and Settings\\My Documents\\PROJECT\\Sales.txt");
前にVC++で作ったプログラムは動いたので行けるかなと思ってたらダメでした。
そして今度こそファイルを表示できるべとおもってたら・・・
なぜじゃー
という具合です。
0182提出まで後7日 DevC++4.0
NGNGtxtファイルのほうはこうなっているのですが
Sale_ID Item_id, Sale_Date, Customer_id, Payment_Type
2004090001, p1, 09/01/2004, 0000, Credit
2004102002, p2, 10/01/2004, 0001, Cash
2004100003, p1, 10/01/2004, 0001, Cash
2004090004, p3, 09/01/2004, 0000, Credit
・
・
2004110020, p1, 11/20/2004, 0012, Credit
まず日付を認識し、同じ日に購入したお客さんの支払い方法(cash or credit)
で分けるようにしたいのです。
スクリーンOUTPUTの例です。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1101761829&res=2&fi=no
Sales.txtは他のファンクションでも使うのでstructをつかってみようと思います。
(classにするかもです)。
そしてinheritanceも他のファンクションに使ってみようと思ってます
(そんなことじぶんにできるのか疑問ですが)。
今日はこれから出かけなければいけないのでこれ以上書き込みできませんが、
これから一週間このスレに粘着させていただきます。
(大変ご迷惑だと思います、本当にすみません。相談できる友達いないんです)。
なにとぞよろしくご指導のほどをお願い致したい次第でございます。
0183≠179
NGNG・>179の補足。
戻り値なし(void)の関数から値を戻しては(値つきのreturn)いけない。
・各処理関数からReportMenu()を呼び出しているが、それだといずれスタックオーバフローで落ちる。
ReportMenu()内でループするようにし、各処理関数は単純に戻るだけにしたほうがいい。
・エラー時に関数から抜けてないので正常処理に突入してしまっている。
つーか、課題に見合うだけの基礎知識がない気がするが。
0184デフォルトの名無しさん
NGNG取り出すにはどうしたらいいですか?
Cでおながいします。
0185デフォルトの名無しさん
NGNGそれが人にものを頼む態度か?失せろ
0186デフォルトの名無しさん
NGNG取り敢えず、こんなもんでどうだろう。
int getFileValue(const char * buf)
{
int value;
if (sscanf(buf, "%*[^0-9]%d", &value) < 1) {
return 0; /* or -1 &c. */
}
return value;
}
0187デフォルトの名無しさん
NGNG#include <string.h>
#include <stdlib.h>
#include <ctype.h>
int Hoge(const char *pText) {
const char *p;
if (pText == NULL || *pText == '\0')
return 0;
p = strrchr(p, '.');
if (!p)
p = pText + strlen(pText);
while (pText != p--) {
if (!isdigit(*p)) {
p++;
break;
}
}
return atoi(p);
}
0188デフォルトの名無しさん
NGNG[2] 問題文:
20個までの適当な個数の正の整数を入力し、その中から3番目に大きな数値とそれが何番目に入力されたかを出力するプログラム。
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ(バージョン):MinGW 2.0.0
[3.3] 言語:C/
[4] 期限:2004年12月27日
よろしくお願いします。
0189デフォルトの名無しさん
NGNG添付テキストデータ
途中コンマ抜けたりしてるんだけど、これって自分で作ったの?
0190提出まで後7日 DevC++4.0
NGNGなるほど。
MenuReport()に戻りたいなあと思いreturn MenuReport()を
入れたら通ってしまったのでそのまま気にしないでいました。
MenuReport()内でループできるよう変更して見ます。
>>189
いえ、渡されたものです。
テキストデータのエラーを指摘したところそれを直すのも課題のうちだといわれましたので
一部自分で手を加えています。
自分が使うデータファイルは今のところSales.txtとCustomer.txtです。
もう一度ファイルの中を確認してみます。
現在はデータを読み込むことはできたのですが表示できないのでそれと格闘中です。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1101761829&res=9
大幅な書き換えが必要なので再び書けるところまで書いてからまた質問させて
いただこうと思ってます。
0191デフォルトの名無しさん
NGNG宜しくお願いします。
ラウンジをお借りしました。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1101811955
0192デフォルトの名無しさん
NGNG[2] 問題文(含コード&リンク):
キーボードから入力をチェックする。
入力が0〜100であれば「OK」と表示し、
それ以外であれば「NG」と表示する。
OKの例…0,16,100
NGの例…-3, 2d, # , スペースを含む入力,Enterのみの入力
[3] 環境
[3.1] OS:Windows me
[3.2] コンパイラ(バージョン):Visual C++(R)6.0
[3.3] 言語:C言語
[4] 期限:早急に!
[5] その他の制限:特になし
0193デフォルトの名無しさん
NGNG無限ループ…
breakを入れよう
0194デフォルトの名無しさん
NGNG君が悪いわけじゃないけれど、そのテンプレートは見にくいなぁ。
0195デフォルトの名無しさん
NGNG#include <stdio.h>
int main()
{
scanfとかで入力を受け取る
if(0から100)
OKと出力
else
NGと出力
return 0;
}
0197デフォルトの名無しさん
NGNG宿題の期限いつまでなの?
とりあえず今日俺もう酔っ払ってるから、コード書きたくないのね。
明日か明後日辺りにちゃんと動く奴作っておくよ。
0199デフォルトの名無しさん
NGNGあそ。ならそれまでに作っておくわ。
0202某
NGNGここの問題なんですが・・・・
全部分かりません(x_x)
どなたかよろしくお願いしますm(_ _)m
丸投げ状態ですが、ちゃんとパソコンの前に座って勉強してます
0203デフォルトの名無しさん
NGNG辞めてしまえ。
0204デフォルトの名無しさん
NGNG0205≠197
NGNG#include <stdio.h>
#include <math.h>
double arctan(double t, double n)
{
double p = 0.0, x = t, i;
for(i = 0.0; i < n; i += 1.0) {
p += (x / (2.0 * i + 1.0));
x = - x * t * t;
}
return p;
}
int main(void)
{
double n = 15.0; /* 求める桁数 */
double p;
p = arctan(0.5, (unsigned int)(n * 1.661));
p += arctan(0.2, (unsigned int)(n * 0.71534));
p += arctan(0.125, (unsigned int )(n * 0.5537));
printf("pi = %.*1f\n", (unsigned int)n, p * 4.0);
return 0;
}
色々端折った。
0206某
NGNG0207デフォルトの名無しさん
NGNGいやです
0208デフォルトの名無しさん
NGNGでは聞くが、課題1はやったのか?
0209某
NGNG実行はしたのですが、「正の整数を5つ入れてください」
しか表示されません
実行例通りにはならないんです
どうしてか分かります??
0210デフォルトの名無しさん
NGNG判ります。("分"ではなくて"判"だよ。)
貴方が書いたコードに誤りがあるからです。
0211某
NGNG答えてくれる気がないなら書かないでくれますか??
口先だけの貴方には何も期待してませんから
他の方どうかよろしくお願いしますm(_ _)m
0212デフォルトの名無しさん
NGNG答えていますが、何か答えに問題がありましたか?
0214某
NGNG211は私じゃないですm(_ _)m
多分、どっかのアホです
さっきからちょっかい出して来るんですよ(x_x)
0215デフォルトの名無しさん
NGNG第6引数に&maxを付けましょう。
0216デフォルトの名無しさん
NGNGマルチ野郎にも親切なんですね。
0217デフォルトの名無しさん
NGNG大原ゆきですから。
0218某
NGNG僕のような将来日本をしょって立つ東大生に親切にしておくと損はないですよ。
いずれじゅうぶんな見返りを社会に対して返せますからね。
0220デフォルトの名無しさん
NGNG相談できる友達もいないんですから。
0221デフォルトの名無しさん
NGNG反省の色の欠片も無いな。
氏ね。
0222デフォルトの名無しさん
NGNG> 期間のせいで余裕が無いんです
> それで納得してください
その理由は一般社会には通りませんよ。
0223デフォルトの名無しさん
NGNGfwrite()を使用することによってファイルにstringを書くプログラムを作れ。
次にfread()を使ってファイルを開き、列変数からファイルからのストリングを読み取れ。
そして画面にstringを表示せよ
全く意味がわかんないんです・・・
お願いします。
0224某
NGNG友達に相談する手も考えましたが
2chの方達の方が詳しく教えて頂けるかと思いここに書きましたm(_ _)m
しかしドコにでも貴方のように中傷するしか脳が無い方はいるんですね
0225デフォルトの名無しさん
NGNG正の整数を5ついれてみろ。
33_44_11_55_2 (リターン)
みたいな感じで
0226某
NGNG0227某
NGNG遅れましたm(_ _)m
まだ学生の身分なので「一般社会」を語ることなんて到底無理ですが
私はネットと一般社会が同じようなモノだとは思ってません
0228デフォルトの名無しさん
NGNG一般社会とは一般的な社会のことです。
ネット社会が一般的であれば一般社会と言えるでしょう。
0229デフォルトの名無しさん
NGNG7|
6|
5|
4|
3|
2|
1|_____________________________________
0 1 2 3 4 5 6 7 8 9 10 11 12
このような形式のグラフを作りたいのです。
宜しくお願いします。
0230デフォルトの名無しさん
NGNG問題の意味がよく分からない。
g[x][y] の値はどこにどのように表示されるの?
0231ぼるじょあ ◆yBEncckFOU
NGNG(・3・)エェー よく分からないYO!
0232デフォルトの名無しさん
NGNGfwrite()を使用することによってファイルにstringを書くプログラムを作れ。
次にfread()を使ってファイルを開き、列変数からファイルからのstringを読み取れ。
そして画面にstringを表示するプログラムを作製せよ。
提出明日でむっちゃ困ってます・・・
お願いしますm(__)m
0233デフォルトの名無しさん
NGNGこの場合は string = 文字列 に置き換えて読めば問題の意図はわかるだろ
0234デフォルトの名無しさん
NGNG>キーボードから数個の string を読み込んで
とあるから string = 文字 か?
でも、以降の string は文字列と解釈して欲しいんだろうけど…
0235デフォルトの名無しさん
NGNG作成じゃなくて作製か?
stringもそうだが、課題を出される方もDQNなら出す方もDQNだな。
0236デフォルトの名無しさん
NGNG#include <stdio.h>
int main(void)
{
char str[BUFSIZ];
int num;
if(fgets(str, sizeof(str), stdin) != NULL &&
sscanf(str, "%d", &num) == 1 &&
num >= 0 && num <= 100)
puts("OK");
else
puts("NG");
return 0;
}
0237233
NGNG>>232まぁとりあえず書いた。環境は知らんから cc で確認
#include <stdio.h>
#include <stdlib.h>
#define BUFFER_SIZE 256
int main( int argc, char *argv[] ){
FILE *fp = NULL;
char buf[ BUFFER_SIZE ] = { '\0' };
if( ( fp = tmpfile() ) == NULL ){
printf( "file was not created.\n" );
return EXIT_FAILURE;
}
printf( "input strings[EOF:stop]\n" );
while( scanf( "%s", buf ) != EOF )
fwrite( buf, sizeof( char ), BUFFER_SIZE, fp );
fseek( fp, 0, SEEK_SET );
printf( "\ninputed string are...\n" );
for( ;; ){
fread( buf, sizeof( char ), BUFFER_SIZE, fp );
if( feof( fp ) )
break;
printf( "%s\n", buf );
}
fclose( fp );
return EXIT_SUCCESS;
}
0238デフォルトの名無しさん
NGNG煽る積もりも何も、そんなコードじゃ話にならない。
突っ込みどころが多すぎるので突っ込みは割愛。
0239デフォルトの名無しさん
NGNGが必要ってこと?
でも多すぎる、なんて言ってるからもっとあるんだろうけど、
割愛されちゃ、ハタから見たらガキが文句言ってるだけにしか見えないよ?
それとも固定サイズの配列でscanf使ってることに文句言いたいとか?
とりあえず突っ込みキボン
0240デフォルトの名無しさん
NGNG.
0241デフォルトの名無しさん
NGNGそれじゃさわりだけ。
・括弧の内側空けるな。
・必要のない初期化をするな。
・エラーは標準出力ではなくエラー出力に出力しろ。
・scanf()を使うなら最低限バッファサイズで制限しろ。
・sizeof(char)は常に1だ。無意味だから1にしておけ。
・fwrite()で不定値が入った情報はできれば書くな。
・fread()で全て読めることを期待するな。
・読めた情報がナルターミネートされていることを当てにするな。
・課題なのだから出力されたファイルを見られるようにしておけ。
・そもそも課題に書かれていることを無視するな。
0242デフォルトの名無しさん
NGNG好みでは? それとも環境依存?
・sizeof(char)は常に1だ。無意味だから1にしておけ。
課題だからこそ、1が何を意味しているのか知るべき
・必要のない初期化をするな。
VCで変数初期化しないと挙動が変になった経験上
・エラーは標準出力ではなくエラー出力に出力しろ。
ferror( "tmpfile" ); は反応なかった(有無は知らない)
・課題なのだから出力されたファイルを見られるようにしておけ。
問題からはそのような文意は読み取れませんが?
・そもそも課題に書かれていることを無視するな。
どのことでしょう?
文字列を fwrite で書き込み, それを fread で読み取るが問題のメインじゃ?
・fwrite()で不定値が入った情報はできれば書くな。
できればって…
・scanf()を使うなら最低限バッファサイズで制限しろ。
・fread()で全て読めることを期待するな。
・読めた情報がナルターミネートされていることを当てにするな。
これこそ課題に求められてるものなの?
つーか>>241は
http://pc5.2ch.net/test/read.cgi/tech/1101615970/413-
の>>417じゃない?
0243デフォルトの名無しさん
NGNG0244デフォルトの名無しさん
NGNG0245デフォルトの名無しさん
NGNG0246デフォルトの名無しさん
NGNG0247デフォルトの名無しさん
NGNGその月が何日まであるか、閏年等も考慮すること。
よろしくお願いします
0248デフォルトの名無しさん
NGNGユリウス歴とか?
0249デフォルトの名無しさん
NGNGferrorじゃなくてfprintf(stderrとかfputs("hoge", stderr);とかだよ。
0250デフォルトの名無しさん
NGNG1752年や、それ以前の扱いは?
0251デフォルトの名無しさん
NGNG1.バブルソート
2.クイックソート
3.マージソート
よろしくお願いします。
0252デフォルトの名無しさん
NGNG0253デフォルトの名無しさん
NGNGhttp://up.isp.2ch.net/up/041b7dc4c9af.txt
>>1のアップローダー==ラウンジが無くなってしまっている・・。
0254デフォルトの名無しさん
NGNG0255デフォルトの名無しさん
NGNGありがとうございました。
中身を理解できるように頑張ります
0256デフォルトの名無しさん
NGNG0257デフォルトの名無しさん
NGNG口答えせずにちゃんと解決する訓練なんだよ。
0258デフォルトの名無しさん
NGNG0259デフォルトの名無しさん
NGNG作りたいのですが判りません。初心者ですが、教えてください。お願いします。
例えばa+1と入力すると
IDENT:a
OP :+
NUM :1.0
3a*5と入力すると
ERR :3a
OP :*
NUM :5.0
ab 1.2 *と入力すると空白を無視して
IDENT:ab
NUM :1.2
OP :*
のように表示してくれるものを作りたいのです。よろしくお願いします。
0260デフォルトの名無しさん
NGNGもう少し頑張ってみろや
0261デフォルトの名無しさん
NGNG0262デフォルトの名無しさん
NGNGfwrite()を使用することによってファイルにstringを書くプログラムを作れ。
次にfread()を使ってファイルを開き、列変数からファイルからのstringを読み取れ。
そして画面にstringを表示するプログラムを作製せよ。
sizeofとかfopenとか使うみたいです。
文字列を入力してファイルを読んで文字列を表示するんだそうです。
お願いします・・・
0263デフォルトの名無しさん
NGNG解説ページみてたら分からなくなりました。
以下解説文から抜粋----------------
まず,長さ N の DFT
N-1 jk -2πi / N
A = Σ a W , W = e
k j=0 j N N
を素直に計算する場合を考えます.この場合 A_0 から
A_N-1 までの各項の 計算に N 回の乗算が必要なため,全体で
N^2 回の乗算が必要になります. しかし,少し考えてみてください.
もし,N が 2 で割り切れるならば, 添字 k を偶数と奇数とに分ける
ことで,長さ N の DFT は,次の二つの, 長さ N/2 の DFT
N/2-1 jk
A = Σ (a + a ) W
2k j=0 j N/2+j N/2
N/2-1 j jk
A = Σ ((a − a ) W ) W
2k+1 j=0 j N/2+j N N/2
0264デフォルトの名無しさん
NGNG>列変数からファイルからのstringを読み取れ
???
0265デフォルトの名無しさん
NGNGに分解できることがわかると思います.さらに,この分解を
2 回, 3 回,... と繰り返せば, 計算量は約 1/4, 1/8,... と激減します.
以上抜粋----------------
この解説ページみたいにやっていくと
最期はW_N/Nになって乗数のところは2πijkになってWの項はつねに
1になる状態になってkごとの変化がなくなるきがするんですが、どこか
勘違いしてるんでしょうか?教えて下さい。。。
0266デフォルトの名無しさん
NGNGに分解できることがわかると思います.さらに,この分解を
2 回, 3 回,... と繰り返せば, 計算量は約 1/4, 1/8,... と激減します.
以上抜粋----------------
この解説ページみたいにやっていくと
最期はW_N/Nになって乗数のところは2πijkになってWの項はつねに
1になる状態になってkごとの変化がなくなるきがするんですが、どこか
勘違いしてるんでしょうか?教えて下さい。。。
0267デフォルトの名無しさん
NGNG割り込んでごめんなさい
0268デフォルトの名無しさん
NGNG宜しくお願いします。。。
0269デフォルトの名無しさん
NGNG�A�@のプログラムの行列の和を求める部分を関数mplus()にしなさい。
N、M、行列の要素はキーボード入力させる事
という課題です、よろしくお願いします
0271デフォルトの名無しさん
NGNG?わかんないです。何か関係あるんですか?
0272デフォルトの名無しさん
NGNGhttp://www.ecs.shimane-u.ac.jp/~kyoshida/c6(2002).pdf
ここの101ページ嫁
0273デフォルトの名無しさん
NGNG学校でこのような宿題が出てわからず困っています。
使用するアプリケーションはvisual stdio.net。
C言語を用いて作成する。
問題文↓
2つの自然数を入力してその間にある素数を表示する.
入力は整数2つ.
2つの整数が正であること(エラー処理).
大小関係が逆でも対応できるようにする.
処理:prime関数を用いる.
引数:整数
戻り値:素数の場合が1、それ以外0.
出力:素数の値 下4桁と下4桁+100.
#include <stdio.h>←学校ではこれしか習っていない.
void prime(int)
main()
{
int a,b;
printf("input number:" );
scanf(%d%d,&a,&b);
if(a<=0||b<=0){ printf("error.");}
}
この先からどうすればいいのか全くわかりません。
0274デフォルトの名無しさん
NGNG0275デフォルトの名無しさん
NGNG0276デフォルトの名無しさん
NGNGprime関数はもうあるのかえ?
0277273
NGNGすいません・・・
>>276
まだないです・・・。
全て1から作れとのことです。
下のCは僕が自分なりに考えて作ってみたものです・・・
って言いますか、全然できてないけど。
0278269 ◆AnalSexRiQ
NGNGありがとうございます、助かりました
0279デフォルトの名無しさん
NGNG「出力:〜」の意味がよく分からなかったから適当に素数を出力するだけ。
参考にしてちょうだい。
#include <stdio.h>
#include <stdlib.h>
int prime(int n){
int i, notprime, ret, *is_prime = (int*)malloc(sizeof(int) * (n + 1));
for (i = 2; i <= n; i++) is_prime[i] = 1;
for (i = 2; i <= n; i++) {
notprime = i;
while ((notprime += i) <= n) is_prime[notprime] = 0;
}
ret = is_prime[n];
free(is_prime);
return ret;
}
int main(){
int a, b, lower_bound, upper_bound, i;
printf("input number:");
scanf("%d %d", &a, &b);
if (a <= 0 || b <= 0)
printf("error.");
else {
lower_bound = a < b ? a : b;
upper_bound = a < b ? b : a;
for (i = lower_bound; i <= upper_bound; i++)
if (prime(i)) printf("%4d ", i);
}
}
0280デフォルトの名無しさん
NGNGなんか深い意味があるような無いような
0281273
NGNGありがとうございます。
このCを土台にがんばってみます。
僕の学校じゃ#include <stdlib>とか習っていない
のでそこらへんはどうにかしてみます。
ありがとうございました。ご迷惑おかけしました。
>>280
すいません、それは僕のミスです。
出力は素数の値だけでいいそうです。
混乱させてすいません。
0282279
NGNG#include <stdlib.h>
int prime(int n){
int i, notprime, ret, *is_prime = (int*)malloc(sizeof(int) * (n + 1));
for (i = 2; i <= n; i++) is_prime[i] = 1;
is_prime[0] = is_prime[1] = 0;
for (i = 2; i <= n; i++) {
notprime = i;
while ((notprime += i) <= n) is_prime[notprime] = 0;
}
ret = is_prime[n];
free(is_prime);
return ret;
}
0283デフォルトの名無しさん
NGNGこれがついたときどう実行するんですか
visual6.0
0284デフォルトの名無しさん
NGNG宿題じゃないならスレ違い。
0285デフォルトの名無しさん
NGNG質問です。
これがテキストファイルです。
Sale_ID, Item_id, Sale_Date, Customer_id, Payment_Type
2004090001, p1, 09/01/2004, 0000, Credit,
2004092002, p2, 09/01/2004, 0000, Credit,
2004090003, p1, 09/01/2004, 0001, Cash,
2004090004, p3, 09/01/2004, 0000, Credit,
2004100005, p2, 10/01/2004, 0000, Credit,
2004100006, s1, 10/01/2004, 0001, Cash,
このファイルを読みこんで、日付(例えば09/01/2004)で区切って、
さらにcreditかcashで分けてスクリーンに表示させたいんですけどどうすればいいですか?
こんな感じで。
//Sale_ID, Item_id, Sale_Date, Customer_id, Payment_Type//ここの部分はいりません。
2004090001, p1, 09/01/2004, 0000, Credit,
2004092002, p2, 09/01/2004, 0000, Credit,
2004090004, p3, 09/01/2004, 0000, Credit,
2004090003, p1, 09/01/2004, 0001, Cash,
0286285
NGNG{
char Order_id;
char Item_id;
char Sale_date;
char Customer_id;
char Payment_type;
};
int main()
{ Sales_text[ここもどれでコントロールしたらいいかわからないっす] }
これをベースにしようと思ってます。
実際のテキストにはもっとデータが入ってます。
「,」で区切られてるんだけど、それをどうやったらとれるのかわからないっす。
0287285
NGNG実際の表示画面はこんな感じになります。
テキストの名前はSales.txtです。
OrderID ItemID SaleDate CustomerID PaymentType
2004090001 p1 09/01/2004 0000 Credit
2004092002 p2 09/01/2004 0000 Credit
2004090004 p3 09/01/2004 0000 Credit
2004090003 p1 09/01/2004 0001 Cash
0288デフォルトの名無しさん
NGNGなくなっちゃったんだこのサイト・・・
0289デフォルトの名無しさん
NGNGお前>174か? そうでないなら同級生か?
カンマを取り除いて入力するには、ファイルから1行fgets()で読み込んでから、
sscanf()かstrtok()で切り出す。
#sscanf()なら"%s"ではなく"%[^,],"を使う。
0290285
NGNGそうです。
174です。
fgets()、教科書に載ってないのですがどうやって書けばいいんですか?
sscanf()とstrtok()もないです。
厨ですみません。
0291デフォルトの名無しさん
NGNGつ http://www.linux.or.jp/JM/
0292デフォルトの名無しさん
NGNGつ?
0293デフォルトの名無しさん
NGNGman on WWW で対象の関数とか検索
0294デフォルトの名無しさん
NGNGってのはダメなの?
0295285
NGNG行ってみましたがまるで理解の範疇をこえています。
どうやって調べていいかすらわかりません。
対象の関数でしらべてみましたがよくわかりませんでした。
>>285-287をそれで書いていだだけますか?
見れば理解できるかもしれません
0296デフォルトの名無しさん
NGNGまずは man などの内容を理解できるようになってからプログラミングやれ
0297285
NGNG書式が一定とはどういう意味でしょうか?
このテキストファイルはアップデートされるので
あまり応用が利かないと困るんです。
0298285
NGNG勉強はしますが、ここは宿題スレということで書き込んでます。
そういうことでご理解ねがえますか?
0299285
NGNGdata.read((char*) &sales, sizeof(Sales_text));
これでファイルを読み込んでます。
このあとの
while(!data.eof())
の中がよくわかりません。
0300デフォルトの名無しさん
NGNG0301デフォルトの名無しさん
NGNGMSDNライブラリの方がわかりやすいかも
サンプルコードあるから
重いけど…
0302デフォルトの名無しさん
NGNG#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
struct Sales_text {
char Order_id[12];
char Item_id[4];
char Sale_date[12];
char Customer_id[6];
char Payment_type[10];
};
static void readAndPrint(const char * fileName);
static bool readStruct(const char * buf, struct Sales_text * data);
static void printStruct(const struct Sales_text * data, bool withHeader);
int main(int argc, char ** argv)
{
if (argc < 2) {
fprintf(stderr, "Usage:%s <file name>.\n", argv[0]);
exit(EXIT_FAILURE);
}
readAndPrint(argv[1]);
return EXIT_SUCCESS;
}
/* cont'd */
0303デフォルトの名無しさん
NGNG{
char buf[200];
bool withHeader = true;
FILE * fp = fopen(fileName, "r");
if (fp == NULL) {
return;
}
while (fgets(buf, sizeof(buf), fp) != NULL) {
struct Sales_text tmp;
if (!readStruct(buf, & tmp)) {
fprintf(stderr, "Illegal data:%s\n", buf);
} else {
printStruct(& tmp, withHeader);
withHeader = false;
}
}
fclose(fp);
}
bool readStruct(const char * buf, struct Sales_text * data)
{
if (sscanf(buf, "%11[^,], %3[^,], %11[^,], %5[^,], %9[^,]",
data->Order_id, data->Item_id, data->Sale_date,
data->Customer_id, data->Payment_type) < 5) {
return false;
}
return true;
}
/* cont'd */
0304デフォルトの名無しさん
NGNGvoid printStruct(const struct Sales_text * data, bool withHeader)
{
if (withHeader) {
printf(" OrderID ItemID SaleDate CustomerID PaymentType\n");
}
printf("%10.10s %2.2s %10.10s %4.4s %s\n",
data->Order_id, data->Item_id, data->Sale_date,
data->Customer_id, data->Payment_type);
}
/* cで書いちまったよ。 */
0305263
NGNGすげー勘違いしてました。自己解決したので後はスルーお願いします。
0306デフォルトの名無しさん
NGNG0307デフォルトの名無しさん
NGNG0308デフォルトの名無しさん
NGNG0309デフォルトの名無しさん
NGNG0310ゆかこ
NGNGよろしければ助言をいただきたいと思います。よろしくお願いします。
レポート課題
以下のようなゲームを作りなさい。
コンピュータが 0から 9までの数を 4つ, 順序付きで重複なく選ぶとする. プレイヤ(人間)は, この数列を当てるのだが, はずれた場合に提示されるヒントは次の通り.
正解の n番目の数を n番目に解答していれば, Hit と呼ぶ. Hit の個数がヒントとして提示される.
正解の n番目の数を m番目(n≠m)に解答していれば, Blow と呼ぶ. Blow の個数がヒントとして提示される.
実行例
5 6 7 8
Hit: 0, Blow: 3
7 8 9 0
Hit: 1, Blow: 1
1 2 3 6
Hit: 1, Blow: 0
9 8 5 6
Hit: 3, Blow: 0
0 8 5 6
Congratulations!
0311デフォルトの名無しさん
NGNG0314デフォルトの名無しさん
NGNG0315デフォルトの名無しさん
NGNGいわゆるマスターベーションってゲーム?
0316デフォルトの名無しさん
NGNGそのゲームで、コンピュータ側が解答者で人間側が出題者のやつをやったことあるけど、
何度か適当なヒント出してるうちに、「矛盾してる!嘘を言うな!」とか言い出した。w
0317デフォルトの名無しさん
NGNGbegin-base64 664 HitAndBlow.c.gz
H4sICC7zrkEAAEhpdEFuZEJsb3cuYwCNVt9PW1Ucfy4J/8MBQnr7Q2jnXraORZhsmgAzOuIibLW0
t3CgvSX33jKnI5HvNQ42GAXKapYsmcag1C2LMRvJzExcGIIZ+uKDby4xjkF8aOKDD+7B7/me0/a2
srhAes/53u/vH5/vbeFGPJVN6OyIZSd4pm3kaGNDi5uW4kN1RJundSI1NrS3tyT0JDd01vdqd1f/
CaL5WS5/5Ro8mn2QyzN/O4qWefp7u7rfjB472d93ih2s4Z17uPDHYqqGu7fzdFRKsEOC17JjNo8z
btgsZljndHPAre9MRPAIjf7GBqbUfge3YdV51znuDDl9RP4kWri+mIKHy7/AWmOD3y8MuhRzK8GH
uW1p8Yxh2Sw+EjOZ3/KxDxobPDzJtCa84NFj6nbWNFgIjXrwP5kxmRZBzgizAgHiENya32JHmDfk
9bELF5i4HWXeQ14fMdToUOcwnifdUSxdgxUozf2Zu0lXZ8ZZcqLOh7BVfQF3pjplPpZ/zuVha+H3
pWewBrtTXXXxTWR4gqVjY3pUsmsqLBF2kI1G1BldMc+Li2XGjISmZQ2LDxt6wsdE3bW+/p4en4+S
LcPmrANjYBwjddcDKZgJsuBJZOTTQ7qJn66qjPwMksiYj7UyzVX3AAv7JCs2Sg83su+xN8zMsBlL
p3XTa7HemJGNpWALnsAe/DS9OXMPHi3/c/UVKOY+mv8CvkHqOnwmc1FnT8NYfUwLh9pCfmm73WU5
EG4L+ZRpkUJ8ULCjMthRDJbjoxKhrLfSP4r6O1jFWIWlEn44oghDph4bU5dJetDvJDs3wlM600iA
3KCuaOFJA4ejMmuecROjSGrNnWTrMGsm3v8vizBSlm1NsOagy9uIS++gQRpbdCPBk8KDmuZ0Pp4a
cPphFXaWnhW2oXTlL7g91emMI/U03IH7s5dnfoSSqVvZlF3tSylKTPOZwjRsYoE24QcUPOHMTA1A
0318デフォルトの名無しさん
NGNGSDctUXTmlx7JstCED2WTA+HQgYMCQzw1k49JFA0fKXP6x10UUi8RANtTIYQVjxmUVfmHqZXmBkJn
Ksdw9XigenwZO6Wpo6Za9VgjYhMFHtYRotDrILP4+3omKc4+vCCCG1RA9Gfm2ZwFpfyt2VWRTNiB
b+FrKM6/vjhAKCsBSoRj2WZ8xJTqvIMmwhOh1X9fGfiKPKIseAdDXgV/Ik2ChHwv1n9yItBJ57Rz
ntplG089iNIT0jmPGgBRATTFvBIyEVxpWpT05Se5X+EplBZPwZqSI5B2+24FSdxXnkLBwOvzzF5C
oJFjWMk2QwOFiYUkFBe+QiPYprIhZZsqczSuesrSJVKMBwKuzJTdFKtoevPSScSmu7iUijgH3xMu
idZfvZTOH3c7X1lB1j57wiMbgvqFYCxmZzhyus2JkYAvQZRduvy4xmWqe1XFERaS9a6SjrpW7/N8
oJIrYHru9iqcxSW1gyB8X/hEK2sDbqjgd2F1fmPuooSDKSz9O9gIb2OOBq+swGPs3c/3HfOFt2B9
em9xYp9Rj4/o8TG1uWnQafb333Ij3GblRSTuQ6nMufL9RfvXBfmcIJ/sCQylnKEJ1a6iQVT71W+R
Wt3PWShu7aOufSKcViYqy0S07dJtuIufAsXlT/H3BuzKxp3em30AG0hZgV3VC7VbR1VTGBbp6ajD
Imm2vBqOZQzcw3Y2henHjDepVeFxNwOpqwZfFn2N24dZayLIutB/cULZoKhIkMpQoyak1EzKrztR
qnSMG+5vF0pL/aegp+ZDR+GUApWwq35N9ftBdEw5w2WHu00zY1YjFCvCxo8RPVKBAKFKtp/SQHyV
9S54ELPFCpHOuKLDd/8CxofV2IQLAAA=
====
0319デフォルトの名無しさん
NGNG0320デフォルトの名無しさん
NGNG0321デフォルトの名無しさん
NGNG0322デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1101615970/501
0323デフォルトの名無しさん
NGNGおまえは馬鹿かアホかと
0324デフォルトの名無しさん
NGNGマジレスすると隣り合った文字列リテラルは結合されてしまう。しかし
問題はそこにあるのではなく、',' (カンマ)が入っている事です。これじゃ
ホワイトスペース文字とマッチしないよん。
0325デフォルトの名無しさん
NGNG【仕様】
2つのファイルを読み込んで新しい2つのファイルを作成する。
読み込むファイルには1行に1名分のデータが書かれており、
「B 氏名 打率」または「P 氏名 防御率」である。以下は例である。
--bluewave.txt--
B tani 0.317
B hidaka 0.274
P kawagoe 4.16
P motoyanagi 5.61
--kintetsu.txt--
B kitagawa 0.303
B isobe 0.308
P iwakuma 3.00
P kawajiri 4.25
このような2つのファイルを読み込み打率が0.300以上または防御率が4.20以下のデータのみを集めた
orixbuf.txtと、それ以外のデータを集めたrakuten.txtという2つのファイルを出力するプログラムを作成せよ。
0327325
NGNG言語はC言語です。
0328デフォルトの名無しさん
NGNG文字列と1文字を入力して、文字列中の1文字の個数を処理して出力する問題なんですけど
たとえばnellyでlなら2と出力するプログラムなんですけど、よかったら教えてください
0329デフォルトの名無しさん
NGNG#include <algorithm>
#include <iostream>
#include <string>
int main()
{
std::string str = "Hello, World!";
char c = 'l';
std::cout << std::count(str.begin(), str.end(), c) << std::endl;
return 0;
}
0330285
NGNGどうもです。
うごかないです。
C++で書くとどうなりますか?
表示するのはできますが、読み込んだ後日付とPayment_typeで読み込んだ後の
ファイルの並び替えをしなければなりません(すでに書いたと思いますが)。
それをどうやったらいいかわかりません。
0331デフォルトの名無しさん
NGNGstatic char *name[]={"Eluza","Candy","Emy","Ann"};
int i;
for (i=0;i<4;i++)
if (name[i][0]=='E')
printf("%s\n",name[i]);
これを先頭文字をscanfで打ち込み、その先頭文字の名前を表示し、
打ち込んだ先頭文字の名前がなければその旨を表示するプログラムに
変えたいんですが、どうしたらいいでしょうか?
言語はCです
0332デフォルトの名無しさん
NGNG0333デフォルトの名無しさん
NGNG>>331
int main(void)
{
static char* name[] = {"Eluza", "Candy", "Emy", "Ann"};
int i, count;
char cap;
printf("頭文字をどうぞ:");
scanf("%s", &cap);
for (i = 0, count = 0; i < 4; i++)
if (name[i][0] == cap)
{
printf("%s\n",name[i]);
count++;
}
if (!count) printf("ありませんですた");
return 0;
}
0335デフォルトの名無しさん
NGNG背番号,打数,安打数を多数入力し、打率の最高の選手のみ
背番号,打数,安打数とともに打率を出力する(同一打率の選手はない)
プログラムです。ストッパは背番号=−999,打数=安打数=0
ここまでは出来ました。しかしコンパイルがうまくいきません・・・。
指摘下さいますと助かります。
#include <stdio.h>
int main(void)
{
int num,num1,dasuu,dasuu1,anda,anda1;
double daritu,daritu1;
daritu=0;
daritu1=0;
do{
printf("背番号を入力せよ\n");
scanf("%d",&num);
printf("打数を入力せよ\n");
scanf("%d",&dasuu);
printf("安打数を入力せよ\n");
scanf("%d",&anda);
daritu=anda/dasuu;
if (daritu1<daritu)
{
num1=num;
dasuu1=dasuu;
anda1=anda;
daritu1=daritu;
}
}while(num!=-999 && dasuu!=0 && anda!=0);
printf("%d %d %d %.3f",num1,dasuu1,anda1,daritu1);
return(0);
}
0336デフォルトの名無しさん
NGNGdaritu1=daritu;
↑ここに全角スペースがあるからちゃうのん?
0337273
NGNG>>279
>>282
のC言語なんですが、訂正をお願いしてもいいでしょうか?
僕の学校ではstdlibをならってないのでできるだけstdioだけで
Cを作りたいのです・・・.
prime関数の方ではmallocは習っていないのでこれを学校に
提出したらちょっと危ないと思いますので、使わないでどうにか
できませんか?
Cを書いてもらった279さんには不愉快な思いをさせて申し訳
ありませんが、どなたかお願いします。
0339デフォルトの名無しさん
NGNGコンパイルはできたんですけど実行がうまくいかないんですよ。
だからプログラム自体が間違えてると思うんですよねぇ〜。
0340デフォルトの名無しさん
NGNG>302-304はCでも動くぞ。stdbool.hをインクルードする必要もないし。
充分ヒントになるように関数を作ってあるようだから、頑張って勉強しろや。
>>333
何故頭文字だけなのに%s? ほぼ確実に領域破壊しているんだが。
>>334
つーことで、そのまま提出しないように。
0341デフォルトの名無しさん
NGNG実行モジュールは何かダイイング・メッセージを残しませんでしたか?
0342デフォルトの名無しさん
NGNGストッパを入力すると『Division by 0』というのがでて終了してしまいます。
0343デフォルトの名無しさん
NGNG( ゚Д゚)ポカーン
そのまんまだろう
0344デフォルトの名無しさん
NGNGすいません(^∀^;初心者なもので・・・。
どういう意味なんでしょうか?
0345デフォルトの名無しさん
NGNGそれとも何か?人生初心者を主張してるのか?
0346はるか
NGNG0348デフォルトの名無しさん
NGNGお前、ストッパは-999, 0, 0なんだろ? 0 / 0 を計算しているだろ?
あやまれ!それを告げて死んだプログラムにあやまれ!
0349デフォルトの名無しさん
NGNGだってわかんないんだもぉ〜ん!
0350デフォルトの名無しさん
NGNG「0〜9までの数字をランダムで2個選んでswap」を
任意回行った後、先頭の4つを取り出す。
0351デフォルトの名無しさん
NGNGint prime(int n)
{
int i;
if (n == 2) {
return 1;
}
if (n < 2 || n % 2 == 0) {
return 0;
}
for (i = 3; i * i <= n; i += 2) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
0352デフォルトの名無しさん
NGNGfor (int i1 = 0; i1 <= 9; ++i1) {
if (i1 == i0) {
continue;
}
for (int i2 = 0; i2 <= 9; ++i2) {
if (i2 == i1 || i2 == i0) {
continue;
}
for (int i3 = 0; i3 <= 9; ++i3) {
if (i3 == i2 || i3 == i1 || i3 == i0) {
continue;
}
printf("%d, %d, %d, %d\n", i0, i1, i2, i3);
}
}
}
}
0353デフォルトの名無しさん
NGNGっつー事は0/0を計算しなければ(・∀・)イイ!ってことか!
0354デフォルトの名無しさん
NGNGAA略をお忘れですよ。
0357デフォルトの名無しさん
NGNGなんでみんな普通の言葉でしゃべってるんだYO!
0359デフォルトの名無しさん
NGNG0360デフォルトの名無しさん
NGNG今回はおとなしかったみたいだが。
0361ほんたま
NGNGひとつのオブジェクトを2つに分裂させるコードを書きたいのですが、どう書けばいいのですか?
擬似的に2つに分裂したように見えるのではなくて、実際に2つに分裂するコードを書きたいのです。
つまり1つから2つのオブジェクトが同時に発生し、2つのオブジェクトの発生にはほんの少しの時間差もないという、事実上の分裂を書きたいのですが…
0362デフォルトの名無しさん
NGNGCPUが二つ必要だな
0363デフォルトの名無しさん
NGNG0364デフォルトの名無しさん
NGNG0365デフォルトの名無しさん
NGNG死んできます、切腹。orz
0366デフォルトの名無しさん
NGNG起きたら電子レンジのように解答が出来上がってるって虫のいい事を
考えないで、答えが出るまで起きてて催促しろ。
0368デフォルトの名無しさん
NGNGプログラムbinsearch.cは,まずファイルからnを読み込み,その数だけデータを読み込む.次に整数を一つキーボードから入力し,それが読み込んだデータ内に存在する場合にはyes,存在しない場合にはnoを答える.
プログラムbinsearch.cを作成し,その動作を確認せよ.ただし,プログラムの動作がわかるように,探索範囲のインデックス(iL, iM, iR)を表示するようにせよ
以下参照
#include <stdio.h>
#define N 100
enum yn {yes,no};
enum yn bsearch(int x, int *A, int n);
main(){
int A[N],n,x;
enum yn ans;
ans = bsearch(x,A,n);}
enum yn bsearch(int x, int *A, int n){
int iL,iR,iM;
iL=0;iR=n-1;
if(A[iL]==x||A[iR]==x)return(yes);
if(x<A[iL]||x>A[iR])return(no);
while(iR-iL>1){
iM=(iL+iR)/2;
if(A[iM]==x)return(yes);
if(A[iM]<x)iL=iM;
else iR=iM;}return(no);}
cでお願いします。
0369デフォルトの名無しさん
NGNG暇だから作ってみたけど、>>1のリンク先切れてるな。
確か前に行った時、どこか他のURIに変わるって書いてあった希ガス。
今どこにうpすればいい?
0370デフォルトの名無しさん
NGNG#include <stdio.h>
#include <stdlib.h>
#define INPUT1 "bluewave.txt"
#define INPUT2 "kintetsu.txt"
#define OUTPUT1 "orixbuf.txt"
#define OUTPUT2 "rakuten.txt"
struct Member {
char position;
char name[20];
double rate;
};
int main(void)
{
FILE *fi1, *fi2, *fo1, *fo2;
struct Member mb[20];
int i, count = 0;
char buf[128];
if ((fi1 = fopen(INPUT1, "r")) == NULL || (fi2 = fopen(INPUT2, "r")) == NULL || (fo1 = fopen(OUTPUT1, "w")) == NULL || (fo2 = fopen(OUTPUT2, "w")) == NULL)
exit(1);
while (fgets(buf, 128, fi1)) {
sscanf(buf, "%c %s %lf", &mb[count].position, mb[count].name, &mb[count].rate);
count++;
}
0371デフォルトの名無しさん
NGNGwhile (fgets(buf, 128, fi2)) {
sscanf(buf, "%c %s %lf", &mb[count].position, mb[count].name, &mb[count].rate);
count++;
}
fclose(fi2);
for (i = 0; i < count; i++)
switch (mb[i].position) {
case 'B':
fprintf((mb[i].rate >= 0.3) ? fo1 : fo2, "%c %s %f\n", mb[i].position, mb[i].name, mb[i].rate);
break;
case 'P':
fprintf((mb[i].rate <= 4.2) ? fo1 : fo2, "%c %s %f\n", mb[i].position, mb[i].name, mb[i].rate);
break;
default:
break;
}
fclose(fo1);
fclose(fo2);
return 0;
}
>>1の移転先わかる人URIキボン。
0372デフォルトの名無しさん
NGNG2ch(公式?)うpローダー。txtを貼れるからそこに書く。少し重いけど。
http://up.isp.2ch.net/upload/c=03okari/index.cgi
0373デフォルトの名無しさん
NGNGそういう均衡を保った凄まじさに可憐さを交えた
熱い思いを吐き出せずに、ただ毎日を暗鬱と過ごしている
だけのカリカチュア。
0374デフォルトの名無しさん
NGNG0375デフォルトの名無しさん
NGNG0376デフォルトの名無しさん
NGNG解くプログラムを作成せよ。
#include <stdio.h>
#include <math.h>
#define DX 0.1
#define XINI 1.0
#define YINI 0.0
#define IXFIN 10
main()
{
double x = XINI, y= YINI, y_next;
int ix;
double next(double,double);
for(ix=1;ix<=IXFIN;ix++)
{
y_next= next(x,y);
x= XINI + DX*(double)ix;
y= y_next;
printf("%f%f\n",x,y);
}
}
Cでお願いします。
0377デフォルトの名無しさん
NGNG#defineは使うんじゃネェ!
ってint ix;
for(ix=1
ってやってるあたりからしてCか・・・
0378デフォルトの名無しさん
NGNGだからCだと言ってるじゃないですか。
いいかげんにしてください。
0379デフォルトの名無しさん
NGNG0380デフォルトの名無しさん
NGNGわたしを区切らないで
,(コンマ)や;(セミコロン)いくつかの段落
そしておしまいに「return」があったりする
プログラムのようには
こまめにコメントをつけないでください
わたしは終りのないプログラム
川と同じに
はてしなく流れていく 拡がっていく
一行の詩
0381デフォルトの名無しさん
NGNG0382デフォルトの名無しさん
NGNG心に沁みます。
0383デフォルトの名無しさん
NGNG心にシミが出来ますた。
0384デフォルトの名無しさん
NGNG去れ池沼
0385デフォルトの名無しさん
NGNGそういうふうな言葉を言われるととても悲しくなります。
どうして、そんな非道いこと僕にいったの?
0386デフォルトの名無しさん
NGNG0387デフォルトの名無しさん
NGNG,、 ' ヾ 、 丶,、 -、
/ ヽ ヽ \\:::::ゝ
/ヽ/ i i ヽ .__.ヽ ヽ::::ヽ
ヽ:::::l i. l ト ヽ ヽ .___..ヽ 丶::ゝ
r:::::イ/ l l. i ヽ \ \/ノノハ ヽ
l:/ /l l. l i ヽ'"´__ヽ_ヽリ }. ', ',
'l. i ト l レ'__ '"i:::::i゙〉l^ヾ |.i. l
. l l lミ l /r'!:::ヽ '‐┘ .} / i l l / ̄ ̄ ̄ ̄ ̄ ̄ ̄
l l l.ヾlヽ ゝヾ:ノ , !'" i i/ i< お呼びですか?
iハ l (.´ヽ _ ./ ,' ,' ' | ・・・・・
|l. l ` ''丶 .. __ イ \_______
ヾ! l. ├ァ 、
/ノ! / ` ‐- 、
/ ヾ_ / ,,;'' /:i
/,, ',. ` / ,,;'''/:.:.i
0388デフォルトの名無しさん
NGNG0389デフォルトの名無しさん
NGNG0390デフォルトの名無しさん
NGNGhttp://chbox.com/goods/
0391デフォルトの名無しさん
NGNG文字列数字を10進数に変換して表示させる
NGワード:atoi(ss)
自分は(恐らく)00001111でその文字とANDをとったところまでしかわからんです
一桁までならわかるんだけど、何だか制限されてるんですよ。
以下問題箇所をそのまま載せます
char suuji[5]= "5432" ;
unsigned int r1=0; mask=(任意)
int cnt ;
for(cnt = 0 ; cnt < 4 ; cnt ++){
r2 = (unsigned int)suuji[cnt] ;
r2 = r2 (演算子1) mask ;
r1 = (r1 (演算子2) 3 ) + (r1 (演算子3) 1 ) ;
r1 = r1 + r2 ;
}
printf("10進数 = %u\n",r1) ;
(演算子1〜3)を補って10進数を表示させるらしいのですが…
maskの値は…0x0fじゃないかなーとか思っております…こういうひらめきなの嫌いです。
ヒントでも良いです・・・お願い致します…
0392デフォルトの名無しさん
NGNG0393デフォルトの名無しさん
NGNGr2 = r2 & mask;
r1 = (r1 << 3) + (r1 << 1); /* (r1 * 8) + (r1 * 2) は (r1 * 10) */
r1 = r1 + r2;
0394デフォルトの名無しさん
NGNGr1 *= 10;って書くより
r1 = (r1 << 3) + (r1 << 1);
のほうがいいの?
0395デフォルトの名無しさん
NGNG昔のCPUで命令に掛け算が無かった頃はその方が速かった。
0396デフォルトの名無しさん
NGNGおれはあれですか、バカですか・・・ありがとうございました・・・r1*10か・・・なるほどね・・・がっくし
0397デフォルトの名無しさん
NGNGバカとは言ってないよ。こういうのは経験として知ってるかどうかだけだと思う。
とりあえず、2進数の掛け算を筆算でしてみればいい。
0398デフォルトの名無しさん
NGNG[1] 授業単元:プログラミング言語基礎
[2] 問題文:
2ちゃんねるデータ形式で、ID名をカウントし、一番多いやつを調べる。
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ(バージョン): MinGW 2.0.0
[3.3] 言語:C
[4] 期限:2004年12月24日
0399デフォルトの名無しさん
NGNG0400デフォルトの名無しさん
NGNG0401デフォルトの名無しさん
NGNGint* c = new int[N];
for (int i = 0; i < N; ++i)
c[i] = a[i] + b[i];
return c;
}
これってコンパイルとラン可能ですよね?
自分でやってみたら、動いたんですけど。。。
でもエラーとか不利点とか、あるみたいで、それがいまいち、よく分からないんですが。。。
ポインターって、関数で、&パス(リファレンス)できないですよね?
なんでですか?
0402デフォルトの名無しさん
NGNGなんのために使う?
0403デフォルトの名無しさん
NGNG0404デフォルトの名無しさん
NGNGint* sumArrays(int*& a, int*& b, int N){
int* c = new int[N];
for (int i = 0; i < N; ++i)
c[i] = a[i] + b[i];
return c;
}
これコンパイル&ラン可能だったけど?
0405404
NGNG0406デフォルトの名無しさん
NGNG0407デフォルトの名無しさん
NGNG「これは、コンパイラー、ラン可能か?そのエラーと不利点をあげ、正しくプログラムを書き換えろ」
なんだよね。。。
0408デフォルトの名無しさん
NGNGstd::vector<int> v;
for (int i = 0; i < N; ++i)
v.push_back(a[i] + b[i]);
return v;
}
こう直せばいいんじゃないか?
0409404
NGNGint*&ってしたの気づいてくれてるよね?
0410404
NGNG0411デフォルトの名無しさん
NGNG↑
この課題の時間差ってどうやってもとめるのでしょうか?
0412デフォルトの名無しさん
NGNG0413デフォルトの名無しさん
NGNGポインタのリファレンスは呼び出し側で&を省けるって利点があるね。
それがそのまま欠点にもなってるけど。
0414デフォルトの名無しさん
NGNGhtmlファイルの中にある複数のセルを結合した中にC言語の変数の内容を出力したいのですが・・・
printf関数の内容をhtml出力対象にしてもセル関係がうまく均等にならなかったり
0415デフォルトの名無しさん
NGNGCでHTMLを出力するってこと?
それならHTMLの勉強をすればいい。
HTMLでのtableの結合は、tdタグのcolspan属性またはrowspan属性だ。
0416デフォルトの名無しさん
NGNG時間変数2個作って最初と最後に取った差分を取るだけ?
0417デフォルトの名無しさん
NGNG求めるぷログラム(0を入力した時にデータ終了)」が課題なんです。while文を
使うんです。私はSUMとかDATとか習ってないのでそれらを使わずに作らなくては
いけないんですが、どうしても分かりません・・。誰かお助けをお願いします!
0418デフォルトの名無しさん
NGNGソートの問題はさんざん既出だろ。
みなさん、スルーで。
0419417
NGNGc++とかのことですか?
0420デフォルトの名無しさん
NGNG0421デフォルトの名無しさん
NGNGint i;
double a[100]
double max;
double min;
max = a[0];
min = a[0];
i = 0;
while (a[i] != 0) {
if (a[i] > max) max = a[i];
if (a[i] < min) min = a[i];
++i;
}
0422デフォルトの名無しさん
NGNG#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
int main()
{
char buf[256];
int n, min = INT_MAX, max = INT_MIN;
while( n = atoi(fgets(buf, sizeof(buf), stdin ) ) ){
if( min > n ) min = n;
if( max < n ) max = n;
}
printf(" 最大 %d, 最小 %d \n", max, min );
return 0;
}
0423デフォルトの名無しさん
NGNG"end"という文字列が入力されるまで文字列を入力として受け付けて、
入力された文字列を全て配列に格納せよ(ただし、上限は100とする)。
この配列の要素のうち、添え字が偶数のもののみ出力せよ。
お願いします。
0424デフォルトの名無しさん
NGNGscanfで文字列読みとって
charの2次元配列にstrcpyでコピー
入れた数は変数にでもいれとけ
0425デフォルトの名無しさん
NGNGプログラムを作成せよ。(C言語でお願いします)
例)
Nice to meet you.
My name is Taro Tanaka.
のとき、出力は
1: Nice to meet you.
2: My name is Taro Tanaka.
のように。
FILE *rfp, *wfpみたいにファイルポインタを宣言して
fopen やfclose などを使って
if((rfp = fopen("test1input.txt", "r")) == NULL)
みたいにやっていくみたいなんですが、サパーリです(汗
よろしくお願いします。
0426デフォルトの名無しさん
NGNG#include <stdio.h>
#include <string.h>
int main() {
char Buf[101] = "";
int i, Len;
for (i = 0; i < sizeof Buf; i++) {
int ch = getchar();
Buf[i] = ch;
if (ch == EOF || !strcmp(Buf + i - 2, "end"))
break;
}
Len = strlen(Buf);
for (i = 0; i < Len; i += 2)
putchar(Buf[i]);
return 0;
}
0427デフォルトの名無しさん
NGNGひねくれてるなぁw
0428デフォルトの名無しさん
NGNG感動した
0429デフォルトの名無しさん
NGNG#include <stdio.h>
int main(void)
{
char buf[1024];
FILE *rfp, *wfp;
int line = 1;
if((rfp = fopen("test1input.txt", "r")) == NULL){
fprintf(stderr, "file open error\n");
return -1;
}
if((wfp = fopen("test1output.txt", "w")) == NULL){
fprintf(stderr, "file create error\n");
return -1;
}
while(fgets(buf, sizeof buf,rfp) != NULL){
fprintf(wfp, "%d: %s", line, buf);
line++;
}
fclose(rfp);
fclose(wfp);
return 0;
}
0430デフォルトの名無しさん
NGNG#include <stdio.h>
int main(int argc, char **argv) {
FILE *fpInput, *fpOutput;
unsigned i = 0;
if (argc <= 2)
return 1;
fpInput = fopen(argv[1], "r");
fpOutput = fopen(argv[2], "w");
if (!fpInput || !fpOutput)
return 1;
for (;;) {
char Buf[512];
if (!fgets(Buf, sizeof Buf, fpInput) || fprintf(fpOutput, "%d:\t%s", ++i, Buf) < 0)
return 0;
}
}
これは0からカウントするようになっているが、もし1からカウントするようにしたいならi++を++iに書き替えれば良い。
0431デフォルトの名無しさん
NGNGどういうアルゴリズムなんですか?普通のC言語のプログラムで書こうとしたらどうなるのでしょうか?
javaで同じことをしたいんですけど、ヘッダファイルを見てもチンプンカンプン。
0432デフォルトの名無しさん
NGNGこの3つの整数の大小を比較して大きい順に並び替えたいんですが、
整数のかず(今は3つ)に依存せずいくら多くなっても少なくても並びかえれるようにできるプログラム
はできますでしょうか?教えてください。お願いします(C言語でお願いします)
0433デフォルトの名無しさん
NGNG0434デフォルトの名無しさん
NGNGqsort
0435デフォルトの名無しさん
NGNGif ( x < y ) {
return x;
else
return y;
}
}
print("小さいのは %d です。", min(x, y));
上記のように関数ではなく以下のようにマクロを用いるメリットについて考察して述べよ。
#define MAX(a, b) ((a > b) ? a : b )
〜略〜
printf("大きいのは %d です。\n", MAX(x, y));
どうなんでしょう?
0436デフォルトの名無しさん
NGNG関数を呼ぶときのオーバーヘッドが無くなる かも しれない
0437デフォルトの名無しさん
NGNG違います。
0438デフォルトの名無しさん
NGNG型ごとに書く手間が省ける点、関数呼び出しのオーバーヘッドがない点
がある。その反面、マクロはスコープを持たず、エラーメッセージが読み
にくくなりやすい等の副作用が無視出来ない程に多い。型を無視すると
いうのも、分かりにくいエラーの元になり、必ずしもメリットとは言い切れ
ない。よって、殆どの場合において出来る限りマクロは避け関数で書いた
方がよい。C++にはテンプレートと言う機能があり、副作用がなく、しかも
基本的には型ごとに同じコードを書く必要がない。関数呼び出しのオーバー
ヘッドに関しては、inlineキーワードを使うことによって関数呼び出しの
オーバーヘッドを取り除くかどうかの判断をコンパイラに任せるのが
得策である場合が多い。
よって、マクロには現実的メリットは殆どない。
0439デフォルトの名無しさん
NGNGC99でもinlineもサポートされたけどポータブルな分まだ利用価値はあるだろ。
0440デフォルトの名無しさん
NGNGあと MAX(hoge++, fuga++) みたいな使い方も爆死
0441デフォルトの名無しさん
NGNG繋がらないし。完璧にお亡くなりになった?
0442デフォルトの名無しさん
NGNG0443デフォルトの名無しさん
NGNG0444425
NGNGエラー出ちゃうんですけど・・・
0445デフォルトの名無しさん
NGNG0446デフォルトの名無しさん
NGNG0447デフォルトの名無しさん
NGNG0448デフォルトの名無しさん
NGNG順列を生成してるだけだから。
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int nextperm(int n, int pp[]) {
int i, j, t;i = n - 2;
while (0<=i && pp[i] >= pp[i+1]) i--; if (i < 0) return 0; j = n - 1;
while (pp[i] >= pp[j]) j--;t = pp[i]; pp[i] = pp[j]; pp[j] = t;
i++; j = n - 1; while (i < j) {t = pp[i]; pp[i] = pp[j]; pp[j] = t; i++; j--;}return 1;
}
#defineN4
int main(int argc, char* argv[]) {
int i, count = 0, p[n];
for (i = 0; i < N; i++) p[i] = i + 1;
do {
printf("%5d: ", ++count); for (i = 0; i < N; i++) printf("%4d", p[i]); printf("\n");
} while (nextperm(N, p));
return 0;
}
0449デフォルトの名無しさん
NGNGどうせ、txtファイルを、プログラムと同じ場所においてないからじゃないの。
0450デフォルトの名無しさん
NGNGどうやるんでしょう?
0451デフォルトの名無しさん
NGNG0452デフォルトの名無しさん
NGNGOKです
入力用のファイルは多くても200byteなので。
0453デフォルトの名無しさん
NGNGint main(int argc, char **argv)
{
FILE *fpInput;
if (argc <= 1)
return 1;
fpInput = fopen(argv[1], "r");
if (!fpInput)
return 1;
for (;;)
{
int i, ch = getc(fpInput);
if (ch == EOF)
break;
for (i = 0; i < CHAR_BITS; i++, ch <<= 1)
putchar((ch & 80 != 0) + '0');
putchar('\n');
}
fclose(fpInput);
return 0;
}
0454デフォルトの名無しさん
NGNG#include <bitset>
#include <climits>
#include <fstream>
#include <iostream>
#include <iterator>
int main()
{
std::ifstream file("data.dat", std::ios::in | std::ios::binary);
for (std::istreambuf_iterator<char> first(file), last; first != last; ++first) std::cout << std::bitset<CHAR_BIT>(*first);
}
0456デフォルトの名無しさん
NGNG短さに感動した
0457デフォルトの名無しさん
NGNG>>447
マクロ関数をマクロ関数と見抜けない人には・・・
http://pc5.2ch.net/test/read.cgi/tech/1099412045/
0458デフォルトの名無しさん
NGNG2a,bのアドレスをポインタ変数pa,pbに代入する
3paとpb内容(アドレス)を交換する
4paとpbが指すアドレスに格納されている値を表示する
プログラムおねがいします
0459デフォルトの名無しさん
NGNG#include <stdio.h>
int main(void)
{
int a, b, *pa, *pb, *temp;
printf("a,bの形式で入力せよ:");
scanf("%d,%d", &a, &b);
pa = &a;
pb = &b;
temp = pa;
pa = pb;
pb = temp;
printf("*pa = %d, *pb = %d", *pa, *pb);
return 0;
}
0460425
NGNGファイルを読み込み、合計・平均・最大値と最小値を求め、ファイルに書き出す
プログラムを作成せよ。
(429さんみたいにお願いします。Cで)
例
(入力ファイル)
1
2
3
4
出力
合計:10
平均:2.5
最大値:4
最小値:1
0461デフォルトの名無しさん
NGNG次の質問なんてずいぶん礼儀正しい人ですね。
0462デフォルトの名無しさん
NGNG0463デフォルトの名無しさん
NGNGありがとうございました
0464デフォルトの名無しさん
NGNG半角数字でよければw
#include <stdio.h>
#include <limits.h>
int main(void) {
FILE *rfp, *wfp;
int temp, n = 0, sum = 0, max = INT_MIN, min = INT_MAX;
if((rfp = fopen("test1input.txt", "r")) == NULL){
fprintf(stderr, "file open error\n");
return -1;
}
if((wfp = fopen("test1output.txt", "w")) == NULL) {
fprintf(stderr, "file create error\n");
fclose(rfp);
return -1;
}
while(fscanf(rfp, "%d\n", &temp) != EOF) {
if (temp > max) max = temp;
if (temp < min) min = temp;
sum += temp;
++n;
}
fprintf(wfp, "合計:%d\n平均:%f\n最大値:%d\n最小値:%d", sum, (double)sum / n, max, min);
fclose(rfp);
fclose(wfp);
return 0;
}
0465デフォルトの名無しさん
NGNG・係数 a,b,c はキーボードより入力
・繰り返し処理が出来る事(for,while,don 〜 while文のいずれかを用いる)
・繰り返しの条件終了は a=0 の時とする
・虚数解は、求めなくて良い
[3] 環境
[3.1] OS: WinXP
[3.2] コンパイラ(バージョン): CPad Ver2.31
[3.3] 言語:C++
[4] 期限:2004年12月6日
素人なのでよく分かりません。よろしくお願いしますm(__)m
0466425
NGNGすいません、エラー出てて書き込めてなかったみたいです。
よく出るんです・・・何故?
ありがとうございましたm(__)m
0467デフォルトの名無しさん
NGNGだから、エラーの内容を書けとあれほど・・・
0468デフォルトの名無しさん
NGNG0469458
NGNG2a,bのアドレスをポインタ変数pa,pbに代入する
3pa,pbをつかって(a,bを使わずに)aとbの値(内容)を交換する
4a,bの値を表示する
を自分でやってみました
#include <stdio.h>
int main(void)
{
int a,b,*c,*pa,*pb;
printf("a= ");
scanf("%d",&a);
printf("b= ");
scanf("%d",&b);
pa=&a;
pb=&b;
pa = pb - pa;
pb -= pa;
pa += pb;
printf("pa=%p\n",*pa);
printf("pb=%p\n",*pb);
}
途中までしたんですがエラーが出ます
間違って入るところを直してください。
おねがいします
0470デフォルトの名無しさん
NGNGお前の根性が間違っている
0471デフォルトの名無しさん
NGNGお前の根性ひねくれてる
0472デフォルトの名無しさん
NGNG・使用する言語(C/C++)や環境(CUI/GUIなど)は必ず書きましょう。
・問題文は、ちゃんと解いてもらう方にわかりやすいように全文を書きましょう。
・計算問題は必ず数式自体をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その行とエラーの詳細を書きましょう。
エラーメッセージが出た場合はそのままコピーしてください。
・後になって問題につけたしをするのはやめましょう。
解いてもらっている方に失礼になってしまいます。
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0473デフォルトの名無しさん
NGNG#include <iostream>
#include <cmath>
int main()
{
double a, b, c;
for (; ; )
{
std::cout << "a?:";
std::cin >> a;
if (a == 0.0) break;
std::cout << "b?:";
std::cin >> b;
std::cout << "c?:";
std::cin >> c;
if (b * b - 4 * a * c < 0)
{
std::cout << "方程式" << a << "x^2+(" << b << ")x+(" << c << ")=0は実解を持ちません" << std::endl;
continue;
}
std::cout << "方程式" << a << "x^2+(" << b << ")x+(" << c << ")=0の解" << std::endl
<< "x=" << (- b + std::sqrt(b * b - 4 * a * c)) / (2 * a) << std::endl
<< "x=" << (- b - std::sqrt(b * b - 4 * a * c)) / (2 * a) << std::endl;
}
}
0474466
NGNGすいません、指摘のとうり
同じトコにファイル置いてないだけでした。
ご迷惑をおかけしましたm(__)m
0475459
NGNG>pa = pb - pa;
>pb -= pa;
>pa += pb;
これはダメ。pbもpaもポインタだから「pb - pa」の型はsize_tだから。
普通の整数と違ってそういう足し算引き算でポインタ交換するのは面倒くさい。
0476285
NGNGどうもありがとうございます。
参考にさせていただきました。
#include <iostream.h>#include<cstdlib>
#include<iomanip>#include<fstream>
#include <stdlib.h>#include<string>
using namespace std;
#define Sales_counter 45
struct Sales_struct
{//Begin Sales_struct
char sale_id[12],item_id[4],sale_date[12],customer_id[6];
};//End Sales_struct
void ReportMenu();
void SalesByOrder(Sales_struct [], int);
int main()
{//Begin Main()
ReportMenu();system("PAUSE");return 0;
}//End Main()
0477285
NGNG{//Begin ReportMenu()
int action,
Sales_Counter;
Customer_struct Customer;
Sales_struct Sales[Sales_counter];
//Ask user to Enter the action
cout<<"\n\n\nREPORT MENU:"<<endl;
cout<<"\n2.Sales by Order Number "
<<"\n\nEnter the number to proceed your action" <<endl;
cin >>action;
//go to function SlaesByOrder()
if(action==2)
SalesByOrder(Sales, Sales_counter);
}//End Report_Menu()
0478285
NGNG{//Begin SalesByOrder()
cout<<"\nThis is the Sales by order menu : " ;
fstream data("a:\\PROJECT\\Sales.txt", ios::in);
if(data.fail())
{cout <<"\nNo file" <<endl;
system("PAUSE");}
data.getline( (char *) &Sales[Sales_counter].sale_id, sizeof(Sales_struct), ',');
data.getline( (char *) &Sales[Sales_counter].item_id, sizeof(Sales_struct), ',');
data.getline( (char *) &Sales[Sales_counter].sale_date, sizeof(Sales_struct), ',');
data.getline( (char *) &Sales[Sales_counter].customer_id, sizeof(Sales_struct));
while(!data.eof())
{//Begin while Loop
data.getline( (char *) &Sales[Sales_counter].sale_id, sizeof(Sales_struct), ',');
data.getline( (char *) &Sales[Sales_counter].item_id, sizeof(Sales_struct), ',');
data.getline( (char *) &Sales[Sales_counter].sale_date, sizeof(Sales_struct), ',');
data.getline( (char *) &Sales[Sales_counter].customer_id, sizeof(Sales_struct));
cout << "\nDEBUG! : " << Sales[Sales_counter].sale_id
<< Sales[Sales_counter].item_id
<< Sales[Sales_counter].sale_date
<< Sales[Sales_counter].customer_id;
}//End while Loop
char BackMenu ='q';
cout <<"enter Q to back to REPORT MENU" <<endl;
cin >> BackMenu;
if((BackMenu=='q')||(BackMenu=='Q'))
ReportMenu();
}//End SalesByOrder()
0479285 DevC++
NGNGSale_ID, Item_id, Sale_Date, Customer_id,
2004090001, p1, 09/01/2004, 0000
2004092002, p2, 09/01/2004, 0000
2004090003, p1, 09/01/2004, 0001
2004090004, p3, 09/01/2004, 0000
2004090005, p2, 09/01/2004, 0000
2004090006, s1, 09/01/2004, 0001
2004090007, p2, 09/01/2004, 0000
2004100001, p1, 10/01/2004, 0001
0480285 DevC++
NGNG次はSales_ID順にその日のデータを表示しなくてはなりません。
Sale_ID, Item_id, Sale_Date, Customer_id,←Customer_idの後の「,」は間違いです。本来はありません。
char Date[12];
cout<<"Enter the date mm/dd/yyyy"<<endl;
cin>>Date;
として、その入力された日付分のデータを表示したいのですがどうしたらいいでしょ?
while(!data.eof())
{//Begin while Loop
if(Date=Sales[Sales_counter].sale_date)
{
data.getline( (char *) &Sales[Sales_counter].sale_id, sizeof(Sales_struct), ',');
data.getline( (char *) &Sales[Sales_counter].item_id, sizeof(Sales_struct), ',');
data.getline( (char *) &Sales[Sales_counter].sale_date, sizeof(Sales_struct), ',');
data.getline( (char *) &Sales[Sales_counter].customer_id, sizeof(Sales_struct));
}これだと156 void value not ignored as it ought to be というエラーメッセージがでました。
}//End Whileloop
0481285 DevC++
NGNGこれで出るエラーは 156 incompatible types in assignment of `char (*)[12]' to `char[12]'です。
0483デフォルトの名無しさん
NGNGどのようにしたらよいのでしょうか?
教えてくださいm(__)m
0484デフォルトの名無しさん
NGNGJPEGのとか対象が小さいならテーブル使うのがいい
0485デフォルトの名無しさん
NGNG↑これを使われると不快感たっぷりになるのはなぜだろう
0486デフォルトの名無しさん
NGNG0487デフォルトの名無しさん
NGNGキーボードから数値を入力して、それが偶数の時のみ入力した数値を足し算する。
合計が50になるまで続け、50になったら合計値を出力するプログラムを作ろうとしているのですが、
まだまだ良く理解出来ていないせいで、完成に至りません。
どこもかしこも間違っていると思いますが、添削お願いします。
#include<stdio.h>
main(){
int a,sum;
sum=0;
printf("input number >>\n");
while(sum<=50)
{scanf("&d",&a);
if (a%2==0)
{sum=sum+a;
printf("input again");}
else {printf("input again");}
printf("sum=%d\n",sum);
}
0488デフォルトの名無しさん
NGNG致命的にまちがってるのは
scanf("&d",&a); じゃなくてscanf("%d",&a);
あと、最後にカッコが足りない。
0489デフォルトの名無しさん
NGNG#include <stdlib.h>
#include <stdio.h>
main()
{
int sum;
sum = 0;
puts("input number >>");
while (sum <= 50)
{
char buf[64];
int n;
fgets(buf, sizeof buf, stdin);
n = atoi(buf);
if (n % 2 == 0)
{
sum += n;
}
puts("input again");
}
printf("sum = %d\n", sum);
}
0490デフォルトの名無しさん
NGNGそれから非数が入力された場合のフローが激しくキモい
0491デフォルトの名無しさん
NGNGint main(void)
{
short a[]={10,11,12,13};
short *b;
int i;
b=a;
for(i=0;i<4+i++){
printf("a[%d]=%d ",i,a[i]);
printf("&a[%d]=%p ",i,&a[i]);
printf("a+%d=%p ",i,b);
printf("*(a+%d)=%d\n",i,*b);
b++;
}}
このプログラムの配列とポインタ変数をlong型に変更してください。
おねがいします。
0492デフォルトの名無しさん
NGNGshortをlongにして、a[i]と*bを表示するprintf()内の書式を%dから%ldに替える。
iとiを表示する%dと%pはそのまま。
0493デフォルトの名無しさん
NGNGどうもありがとう
0494デフォルトの名無しさん
NGNG【問題文】
五角形の面積をヘロンの公式を用いて求めるプログラムを作成しなさい。
繰り返し処理を用いて複数回連続処理ででるようにすること。終了条件は自由。
【ヘロンの公式】
面積 = bh/2 又は
ヘロンの公式
面積 =√( S (S-a) (S-b) (S-c) )
ここで S=(a+b+c)/2 とする
● 鈍角三角形でも、同じ
サッパリ分からず困り果てています。どうかよろしくお願いします。
0495デフォルトの名無しさん
NGNG五角形?三角形じゃないの?
それから辺の長さを入力させるのか?それとも頂点の座標を入力するのか?
はっきりさせないと。
0496デフォルトの名無しさん
NGNG本当にすみません。ヘロンの公式は使用しなくても良いです。。
ヘロンの公式って三角形の面積を求める公式ですよね。。(^^;
申し訳ありません。
辺の長さを入力させたいと思います。
0497デフォルトの名無しさん
NGNG結局五角形の面積を求めるのか?
0498デフォルトの名無しさん
NGNGおまいは比較したいときに代入してどうすると言うのだ。
コンパイラのエラーくらいきちんと読め。
それから文字列の比較は、C++らしくstd::stringに格納して比較演算子で比較するか、
C流にstrcmp()を使うかだ。
おまいの課題の場合は、日付けを数値化しておいて数値として比較してもいいかも知れん。
0499デフォルトの名無しさん
NGNG本当に細かいご指導までありがとうございます。
0500デフォルトの名無しさん
NGNG五角形
http://www.curri.miyakyo-u.ac.jp/w3-st/kouza/c-lang/044.html
0501デフォルトの名無しさん
NGNGありがとうございます!動かす事ができました。
問題文の中の
>繰り返し処理を用いて複数回連続処理ででるようにすること
というのが自分はよく分からないのですが、
1辺の値を変動させるという事なのでしょうか。。
0502デフォルトの名無しさん
NGNG辺の長さだけでは五角形の面積は一意に決まらないのに。
元がヘロンの公式だから、>500でFAだろうけど。
0504デフォルトの名無しさん
NGNG>>501
>500のmain()の先頭で、直接代入しているのを止めて、
ループの先頭で入力するようにすればいいと思われ。
但し、5辺ではなくて5辺+対角線2本であることに注意。
0505デフォルトの名無しさん
NGNGありがとうございます。一応頭では分かりました。
しかしどう書けば良いのかわかりません^^;
度々申し訳ないのですが、できればその処理をソースで書いていただけないでしょうか。。
0506デフォルトの名無しさん
NGNG0507デフォルトの名無しさん
NGNGscanf
0508デフォルトの名無しさん
NGNGむかーしつくったのがあるよ
ほしけりゃさらすけど需要ないかな?
0509デフォルトの名無しさん
NGNGint main()
{
double a, b, c, d, e, f, g;
double s1,s2,s3,s;
int ans;
while(1){
printf("input a:"); scanf("%lf", &a);
printf("input b:"); scanf("%lf", &b);
printf("input c:"); scanf("%lf", &c);
printf("input d:"); scanf("%lf", &d);
printf("input e:"); scanf("%lf", &e);
printf("input f:"); scanf("%lf", &f);
printf("input g:"); scanf("%lf", &g);
s1=area(a,b,c);
s2=area(b,d,e);
s3=area(e,f,g);
s=s1+s2+s3;
printf("五角形の面積は%10.2f\n",s);
printf("続けますか?(yes = 0 / no = 1):");
scanf("%d", &ans);
if (ans == 1) break;
putchar('\n');
}
return 0;
}
0510デフォルトの名無しさん
NGNG長さが不適切だとsqrt()でエラーになるとか、
通常、対角線が得られていることは少ないだろうから寧ろ座標を入れた方がいいとか、
どっちみちヘロンの公式を単純に利用したんじゃ凹五角形に対応できないとか…
それにしても、bとeを対角線にしているってのもわかりにくいね。
a
_ f
c|/|>
 ̄ g
d
こんな感じか。
0511デフォルトの名無しさん
NGNG#include <iostream>
using namespace std;
class Set{
public:
Set() : size(0) {} // Default constructor.
Set(int data0[], int size0); // Initializing constructor.
bool has( int ) const; // membership checker
void join( int ); // membership maker -- union with one more int.
void assign( const Set& ); // assignment
friend Set setIntersect(const Set&, const Set&);
friend Set setUnion(const Set&, const Set&);
void get( istream& ); // stream input
void put( ostream& ) const; // stream output
private:
static const int MAX_SIZE = 20;
int data[ MAX_SIZE ];
int size;
};
0512デフォルトの名無しさん
NGNGbool answer = false;
for (int i=0; i< size && !answer; ++i)
if (data[i] == value )
answer = true;
return answer;
}
void Set::join( int value ) { // Corrected 10:15am 2/20/03
if ( size < MAX_SIZE ){
if ( !has(value) )
data[size++] = value ;
}
else
cerr << "Error in Set::join(): "
<< "storage size limit exceeded.\n";
}
void Set::assign( const Set& rhs ){ // assignment
size = rhs.size;
for (int i = 0; i < size; ++i)
data[i] = rhs.data[i];
}
0513デフォルトの名無しさん
NGNGis >> size;
if ( size > 0 && size <= MAX_SIZE ){
for (int i = 0; i < size; ++i)
is >> data[i];
}
else
cerr << "Set::get() input error: set size out of range.\n";
}
void Set::put( ostream& os ) const { // Note: not symmetric w.r.t. get().
for (int i = 0; i < size; ++i)
os << data[i] << " ";
}
Set setIntersect(const Set& A, const Set& B){
// Quadratic-time solution for unsorted sets
Set C;
for (int i = 0; i < A.size; ++i)
if (B.has( A.data[i] ))
C.join( A.data[i] );
return C;
}
0514デフォルトの名無しさん
NGNGcout << "Enter \n"
<< " E to ENTER set A or set B by keyboard input \n"
<< " V to VIEW all sets \n"
<< " R to REPLACE a set \n"
<< " I to find the INTERSECTION of A and B \n"
<< " U to find the UNION of A and B \n"
<< " Q to QUIT \n" << endl;
}
0515デフォルトの名無しさん
NGNGint main(){
Set A,B,C;
menu();
char ch;
do{
prompt();
cin >> ch;
switch (ch){
case 'e': case 'E': {
cout << "A or B? ";
cin >> ch;
if (ch == 'A') A.get(cin);
else if (ch == 'B') B.get(cin);
break;
}
case 'v': case 'V':
cout << " A = "; A.put(cout); cout << endl;
cout << " B = "; B.put(cout); cout << endl;
cout << " C = "; C.put(cout); cout << endl;
case 'i': case 'I':
C.assign( setIntersect(A, B) );
}
} while (ch != 'q' && ch != 'Q' );
return 0;
}
0516デフォルトの名無しさん
NGNG問一 (Cで)
キーボードから入力した整数型の配列とその配列の要素数を引数として取り、最大の要素に対応する添え字を
返す関数及びプログラムを作成せよ。ただし、最大の要素が複数ある場合には、一番小さい値の添え字を、
又、この関数の配列としの要素数として1未満の数が渡された場合には、-1を返すようにせよ。
例1 例2
1 4
3 2
5 3
2 4
結果=2 結果=1
問二
問一で作られたプログラムの考え方(アルゴリズム、方針)を説明せよ。
問二は板違いかもしれないので強くは要求しません。
よろしくお願いします。
0517デフォルトの名無しさん
NGNG0518デフォルトの名無しさん
NGNGクラスって難しい。。。
助けてください。
0519デフォルトの名無しさん
NGNG0520デフォルトの名無しさん
NGNG曙が袋叩き
0521デフォルトの名無しさん
NGNG作りかけですが
http://up.isp.2ch.net/up/26d00e8c732d.zip
0522505
NGNG無事に解決しましたー。
これからはこのスレで答える側になれるようがんばりたいと思います。
本当にありがとうございました。
0523デフォルトの名無しさん
NGNG当分それは無理そうだから、いらん事は書かなくていいよ。
0524デフォルトの名無しさん
NGNG# include <limits.h>
# include <stdio.h>
# include <stdlib.h>
int min_index_of_max(int array[], int size) {
int max = INT_MIN;
int ret;
int i;
if(size < 1) return -1;
for(i = 0; i < size; i++)
if(array[i] > max) {
max = array[i];
ret = i;
}
return ret;
}
int main(void) {
int size = 0;
int capacity = 10;
int *data = (int *)malloc(sizeof(int) * capacity);
int state;
for(state = scanf("%d", data); state != -1 && state != 0; state = scanf("%d", data + size)) {
size++;
if(size == capacity) {
capacity *= 2;
data = (int *)realloc(data, sizeof(int) * capacity);
}
}
printf("\n結果:%d\n", min_index_of_max(data, size));
free(data);
return 0;
}
0525デフォルトの名無しさん
NGNG0526デフォルトの名無しさん
NGNGこんなのでいいのかな。もし間違ってたらゴメン。(例2の結果が正解がよくわからないけど。)
#include <stdio.h>
int func(const int x[], int num){
int i, temp, ans = 0;
temp = x[0];
if (num < 1) return -1;
for (i = 1; i < num - 1; i++){
if (temp < x[i]){
ans = i;
}
}
return ans;
}
int main(){
int i, ans;
int array[4];
for (i = 0; i < 4; i++){
scanf("%d", &array[i]);
}
/* 第2引数(要素数)を0にした場合、-1が返ってくる */
ans = func(array, 4);
printf("結果=%d\n", ans);
return 0;
}
0527526
NGNG526は無かった事に
0528デフォルトの名無しさん
NGNGあなたもな。そして俺も。
0529デフォルトの名無しさん
NGNGさらに俺も。
0530デフォルトの名無しさん
NGNG書いて、出題者を困らせてみようと思う。皆さんよろしく。
0531デフォルトの名無しさん
NGNG0532511-515,518
NGNG誰か助けてちょ。m(_ _)m
0533デフォルトの名無しさん
NGNG0534デフォルトの名無しさん
NGNG0535ハッシュ法1
NGNG1000から2000個程のデータをハッシュ表に格納して衝突回数を調査するという課題を行っているのですが、
データ総数によってエラーが出てしまい、どうしようもなく困っています。
データが100程度ならなんとか、オペランドエラーが出なくなりますが、
総数を多くすると、エラーが出現します。
下にプログラムを貼り付けますので、良くない所をどんどん指摘、御教授
下さい。宜しくお願い致します。
エラー画面:行番号134:初期値エラー
行番号136:'!='の演算項が不当
行番号70:'='の左辺値オペランドが不当
ハッシュ表に格納するデータは[数字 文字列]がランダムに格納されているもので、データ総数は1000程度です。
環境はWindows Me、Ultra-C Pro2を使用しています。
0536ハッシュ法2
NGNG978 rejoice
743 duplicate
205 lantern
254 shed
631 chop
93 livestock
918 network
380 milestone
239 advocate
212 visibility
88 label
489 sociobiology
251 cram
932 synchronize
187 interconnect
0537ハッシュ法2
NGNG/* ハッシュ関数:除算法(division method) */
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define HashSize 150 /*ハッシュ表サイズ*/
#define NameSize 20
#define TableSize 150
/*--ハッシュ表に格納するデータの構造体--*/
typedef struct cell{
int number;
char name[NameSize];
struct cell *next;
} Data;
0538ハッシュ法3
NGNGData *hashtable[HashSize]; /*ハッシュ表*/
FILE *fp;
void MakeHashTable(void);
void Chaining(Data *, unsigned int);
unsigned int Hash(char *);
void PrintHash(void);
void PrintHashBunsan(void);
void Free(void);
0539ハッシュ法4
NGNG{
MakeHashTable();
PrintHash();
PrintHashBunsan();
Free();
fclose(fp);
return(0);
}
0540ハッシュ法4
NGNG{
Data *temp;
int i;
for(i=0; i<HashSize; i++)
hashtable[i]=NULL;
if((fp=fopen("word.txt", "r"))==NULL){
printf("エラー\n");
exit(1);
}
for(;;){
temp=(Data *)malloc(sizeof(Data));
if(fscanf(fp, "%d", &temp->number)!=EOF){
fscanf(fp, "%s", temp->name);
temp->next=NULL;
Chaining(temp, Hash(temp->name));
free(temp);
}
else{
free(temp);
break;
}
}
}
0541ハッシュ法5
NGNG{
Data *s;
if(hashtable[f]==NULL){
hashtable[f]=(Data *)malloc(sizeof(Data));
*hashtable[f]=*temp;
}
else{
s=hashtable[f];
while(s->next)
s=s->next;
s->next=(Data *)malloc(sizeof(Data));
*s->next=*temp;
s->next->next=NULL;
}
}
/*--ハッシュ関数:除算法(division method)--*/
unsigned int Hash(char *buf)
{
unsigned int value;
for(value=0; *buf!='\0'; buf++)
value=*buf+value*11;
return value%HashSize; /*valueをHashSizeで割った剰余(valueとHashSizeは整数でなければならない)*/
}
0542ハッシュ法4
NGNG{
Data *s;
if(hashtable[f]==NULL){
hashtable[f]=(Data *)malloc(sizeof(Data));
*hashtable[f]=*temp;
}
else{
s=hashtable[f];
while(s->next)
s=s->next;
s->next=(Data *)malloc(sizeof(Data));
*s->next=*temp;
s->next->next=NULL;
}
}
/*--ハッシュ関数:除算法(division method)--*/
unsigned int Hash(char *buf)
{
unsigned int value;
for(value=0; *buf!='\0'; buf++)
value=*buf+value*11;
return value%HashSize; /*valueをHashSizeで割った剰余(valueとHashSizeは整数でなければならない)*/
}
0543ハッシュ法4
NGNGvoid PrintHash(void)
{
Data *s;
int i;
for(i=0; i<HashSize; i++){
printf("[%d]\t", i);
s=hashtable[i];
while(s){
printf("%4d %-16s\t -> ", s->number, s->name);
s=s->next;
}
printf("(NULL)\n");
}
}
/*--ハッシュ表のクリーンアップ--*/
void Free(void)
{
int i;
Data *s, *t;
for(i=0; i<HashSize; i++){
s=hashtable[i];
while(s){
t=s->next;
free(s);
s=t;
}
}
}
0544ハッシュ法4
NGNGvoid PrintHash(void)
{
Data *s;
int i;
for(i=0; i<HashSize; i++){
printf("[%d]\t", i);
s=hashtable[i];
while(s){
printf("%4d %-16s\t -> ", s->number, s->name);
s=s->next;
}
printf("(NULL)\n");
}
}
0545ハッシュ法5
NGNG{
int i, total=0;
int table[TableSize];
for(i=0; i<TableSize; i++)
table[i]=0;
for(i=0; i<HashSize; i++){
Data *ptr=hashtable[i];
int n=0;
if(*ptr!=NULL){
for(; *ptr!=NULL; *ptr=*ptr->next)
n++;
}
total+=n;
if(n<TableSize){
table[n]++;
}
else{
fprintf(stderr, "table size error%d\n", n);
}
}
for(i=0; i<TableSize; i++){
if(!(i%8))
putchar('\n');
printf("%3d:%3d", i, table[i]);
}
printf("\n 合計 %d 個\n", total);
}
</pre>
0546デフォルトの名無しさん
NGNG英語の文章に出現する単語の中で、文字数が最も多い単語を出力して終了するプログラムを作成せよ。
入力データには英文字、スペースのみが含まれているものとし、単語とはスペースで区切られた連続する英文字の列とする。
文章の文字数は80文字以下で、一つの単語の文字数は32文字以下とする。
最長の文字数を持つ単語は文中にただ一つだけ存在するものとする。
0547ハッシュ法5
NGNG0548デフォルトの名無しさん
NGNG貼ったのはご苦労だが>>372のアップローダも使え。
すぐ消えちまうが、ファイル全体を貼れるはず。
どれがエラー行かわかんねーよ。
0550ハッシュ法5
NGNG改行が出来なくてすいません
0551ハッシュ法5
NGNGです。
0552デフォルトの名無しさん
NGNG嫌がらせかw
0553ハッシュ法5
NGNGちゃんと改行できたやつを、アップロードしました。
0554デフォルトの名無しさん
NGNGOSはUNIXでc言語でお願いします。期日は早めでお願いします。
1.c言語を用いてスロットマシーンをつくってください。
2.構造体利用を用いたプログラムをつくって下さい。
以上の二つです。
0555デフォルトの名無しさん
NGNGCodeGuardかけたら実行時エラー出るぞ。fscanf()の使い方がおかしいらしい。
word.txtは>>536のをそのまま使った。
Error 00001. 0x820000 (スレッド 0x0C50):
Function failure:
関数呼び出し:
fscanf(0x004108EC, 0x004100B7 ["%d"], ...)=0x0 [0]
呼び出し履歴:
0x00401318(=hash1.exe:0x01:000318) hash1.c#51
0x0040123D(=hash1.exe:0x01:00023D) hash1.c#31
0x0040D14A(=hash1.exe:0x01:00C14A)
------------------------------------------
Error 00002. 0x100400 (スレッド 0x0C50):
不正なメモリの アクセス : アドレス 0x00000000 から 128
バイトを参照しました。.
呼び出し履歴:
0x00401719(=hash1.exe:0x01:000719) hash1.c#132
0x00401247(=hash1.exe:0x01:000247) hash1.c#33
0x0040D14A(=hash1.exe:0x01:00C14A)
------------------------------------------
Error 00003. 0x400000 (スレッド 0x0C50):
Exception 0xC0000005: Access violation at 0x0.
呼び出し履歴:
0x0040172F(=hash1.exe:0x01:00072F) hash1.c#132
0x00401247(=hash1.exe:0x01:000247) hash1.c#33
0x0040D14A(=hash1.exe:0x01:00C14A)
------------------------------------------
0556デフォルトの名無しさん
NGNG>期日は早めでお願いします。
うざwww
0557デフォルトの名無しさん
NGNG何だろこの不正なメモリのアクセスってのは。
多分malloc()で確保してないメモリアドレスでもアクセスしてるんじゃない?
0558デフォルトの名無しさん
NGNGマルチ氏ね
0559デフォルトの名無しさん
NGNGOSはUNIXでc言語でお願いします。期日は早めでお願いします。
1.c言語を用いてスロットマシーンをつくってください。
2.構造体利用を用いたプログラムをつくって下さい。
以上の二つです。
0560デフォルトの名無しさん
NGNGOSはUNIXでc言語でお願いします。期日は早めでお願いします。
1.c言語を用いてスロットマシーンをつくってください。
2.構造体利用を用いたプログラムをつくって下さい。
以上の二つです。
いい加減にお前ら答え書かんかい!ヴォケ。
0561デフォルトの名無しさん
NGNG{
struct baka{
int shit;
} foolish;
foolish.shit = 0;
return foolish.sit;
}
0563デフォルトの名無しさん
NGNGアフォが増えて困る。
0564デフォルトの名無しさん
NGNG0565デフォルトの名無しさん
NGNG※ C++
※ 構造体使用不可とのこと
学生3人の国語・英語・数学のそれぞれのテストの点数を読み込んで
1:学生個人の平均点
2:科目の平均点
3:評価(平均80以上:A 60以上80未満:B 60未満:C)
を計算する。
そのうえで、以下のように表として表示せよ。
氏名 国語 英語 数学 平均点 評価
-------------------------------------------------
-------------------------------------------------
科目平均
といった問題です。
力技での表示はできたのですが、自分で関数を設定したり多次元配列などを使ったりして
ソースをよりスマートにするにはどうしたらよいでしょうか?
#defineで最初に学生の人数や科目数を設定し、汎用性をもたせるように、とも言われました。
お願いします。
0566デフォルトの名無しさん
NGNG※ C++
※ 構造体使用不可とのこと
学生3人の国語・英語・数学のそれぞれのテストの点数を読み込んで
1:学生個人の平均点
2:科目の平均点
3:評価(平均80以上:A 60以上80未満:B 60未満:C)
を計算する。
そのうえで、以下のように表として表示せよ。
氏名 国語 英語 数学 平均点 評価
-------------------------------------------------
-------------------------------------------------
科目平均
といった問題です。
力技での表示はできたのですが、自分で関数を設定したり多次元配列などを使ったりして
ソースをよりスマートにするにはどうしたらよいでしょうか?
#defineで最初に学生の人数や科目数を設定し、汎用性をもたせるように、とも言われました。
お願いします。
0567デフォルトの名無しさん
NGNG※ C++
※ 構造体使用不可とのこと
学生3人の国語・英語・数学のそれぞれのテストの点数を読み込んで
1:学生個人の平均点
2:科目の平均点
3:評価(平均80以上:A 60以上80未満:B 60未満:C)
を計算する。
そのうえで、以下のように表として表示せよ。
氏名 国語 英語 数学 平均点 評価
-------------------------------------------------
-------------------------------------------------
科目平均
といった問題です。
力技での表示はできたのですが、自分で関数を設定したり多次元配列などを使ったりして
ソースをよりスマートにするにはどうしたらよいでしょうか?
#defineで最初に学生の人数や科目数を設定し、汎用性をもたせるように、とも言われました。
お願いします。
0568デフォルトの名無しさん
NGNG#include <stdlib.h>
#include <time.h>
struct UNCO{
int money;
int wwwww;
}kuso;
void xxx(void){
puts("キタ━━━━(゚∀゚)━━━━!!"); getchar();
puts(" ∧_∧ ミ ギャーッハッハッハッ!");
puts(" o/⌒(. ;´∀`)つ");
puts(" と_)__つノ ☆ バンバン "); getchar();
}
0569デフォルトの名無しさん
NGNGOSはUNIXでc言語でお願いします。期日は早めでお願いします。
1.c言語を用いてスロットマシーンをつくってください。
2.構造体利用を用いたプログラムをつくって下さい。
以上の二つです。
0570デフォルトの名無しさん
NGNGint a,b,c;
kuso.money = 100; kuso.wwwww = 0;
srand(time(0));
while(kuso.money > 0){
kuso.money -= 10;
printf("money:%d (・∀・):%d\n", kuso.money, kuso.wwwww);
if (rand() % 10 == 0){
a = 7; b = 7; c = 7;
} else {
a = rand()%9+1; b = rand()%9+1; c = rand()%9+1;
}
getchar(); printf("1つ目は〜?www→ %d ",a);
getchar(); printf("2つ目は〜?www→ %d ",b);
if (a == b){
printf("あたるかもよ〜すごいねえwwww");
}
getchar(); printf("3つ目は〜?www→ %d\n",c);
if (a == b && b == c){
xxx();
kuso.money += 100; kuso.wwwww++;
} else {
puts("うんこ!!!!!\n\n");
}
}
puts("へたくそやめれ");
return 0;
}
0571デフォルトの名無しさん
NGNG※ C++
※ 構造体使用不可とのこと
学生3人の国語・英語・数学のそれぞれのテストの点数を読み込んで
1:学生個人の平均点
2:科目の平均点
3:評価(平均80以上:A 60以上80未満:B 60未満:C)
を計算する。
そのうえで、以下のように表として表示せよ。
氏名 国語 英語 数学 平均点 評価
-------------------------------------------------
-------------------------------------------------
科目平均
といった問題です。
力技での表示はできたのですが、自分で関数を設定したり多次元配列などを使ったりして
ソースをよりスマートにするにはどうしたらよいでしょうか?
#defineで最初に学生の人数や科目数を設定し、汎用性をもたせるように、とも言われました。
お願いします。
0572デフォルトの名無しさん
NGNG0573デフォルトの名無しさん
NGNG※ C++
※ 構造体使用不可とのこと
学生3人の国語・英語・数学のそれぞれのテストの点数を読み込んで
1:学生個人の平均点
2:科目の平均点
3:評価(平均80以上:A 60以上80未満:B 60未満:C)
を計算する。
そのうえで、以下のように表として表示せよ。
氏名 国語 英語 数学 平均点 評価
-------------------------------------------------
-------------------------------------------------
科目平均
といった問題です。
力技での表示はできたのですが、自分で関数を設定したり多次元配列などを使ったりして
ソースをよりスマートにするにはどうしたらよいでしょうか?
#defineで最初に学生の人数や科目数を設定し、汎用性をもたせるように、とも言われました。
お願いします。
0574デフォルトの名無しさん
NGNGうざいよ。何回もポストするな。
0575デフォルトの名無しさん
NGNG0576デフォルトの名無しさん
NGNGそう思うならこのスレ読まなきゃいいのに( ´゚д゚`)
0577デフォルトの名無しさん
NGNGなければそのむね表示せよ。
という問題で、下記のようにプログラムを書いたところ、Eを入力すると、
Eluza Eandy Emy Enn
と表示されてしまいました・・・
考えても解りませんでした、教えてくださいm(- -)m
#include <stdio.h>
int main(void)
{
static char *name[]={"Eluza","Candy","Emy","Ann"};
int i,j;
printf("input initial\n");
j=getchar();
for (i=0;i<4;i++)
if(name[i][0]=j)
printf("%s\n",name[i]);
else
printf("no name\n");
}
0578デフォルトの名無しさん
NGNGif(name[i][0]==j)
0581デフォルトの名無しさん
NGNG#include <stdio.h>
int main(void)
{
static char *name[]={"Eluza", "Candy", "Emy", "Ann"};
int i, j, flag = 0;
printf("input initial\n");
j = getchar();
for (i = 0; i < 4; i++)
if (name[i][0] == j) {
printf("%s\n", name[i]);
flag = 1;
}
if (flag == 0)
printf("no name\n");
return 0;
}
0582デフォルトの名無しさん
NGNGsw=0;
if(name[i][0]==j)
{
printf("%s\n",name[i]);
sw=1;
}
}
if(sw==0)
...
0583デフォルトの名無しさん
NGNG0584デフォルトの名無しさん
NGNG一般的には「リファクタリング」
0585デフォルトの名無しさん
NGNG汎用性、か?(保守性でねーの?)
0586デフォルトの名無しさん
NGNGっていう関数が、いまいち良くわかんないんですけど、
istreamをデータタイプみたいに、書いて、このinsって何?
0587ポインタ初心者
NGNGvoid main(void)
{
int a[10]={38, 52, 16, 45, 73,
97, 63, 25, 81, 68};/* 配列変数a の型宣言*/
void disp_data(int, int*); /*関数disp_data()の型宣言*/
disp_data(10, a);
}
/* 配列データを画面に表示する関数*/
void disp_data(int len,int *c)
{
int i;
for(i=0; i<len; i++)
printf("c+%d=%d *(c+%d)=%d c[%d]=%d\n",i,c+i,i,*(c+i),i,c[i]);
}
このプログラムを実行し,どんな形で呼び出し側と関数側の間で配列データを
やり取りしているのかを説明してください!
呼び出し側 関数側
10 --> len(配列データの数)
a(先頭番地) --> c (ポインタ型変数)
となっているのでしょうか?説明して下さい!
0588デフォルトの名無しさん
NGNGinsは仮引数名。
getline自体はこんな感じで使う。
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str;
getline(cin, str);
cout << str << endl;
}
0589デフォルトの名無しさん
NGNG0590デフォルトの名無しさん
NGNGどうしたらいいでしょうか?
0591デフォルトの名無しさん
NGNG0592デフォルトの名無しさん
NGNGistreamはデータ型だ。insはistreamへの参照型となる。
0593デフォルトの名無しさん
NGNGもしかしたらstd::istreamではなくてstd::ifstreamかもしれんし、std::istringstream
かもしれん。
0594デフォルトの名無しさん
NGNG出力例
Output:Word [frequency]
in [1]
a [3]
program [1]
of [1]
.
.
.
.
End
お願いします。
0596デフォルトの名無しさん
NGNGそうなんですか。
0597从*・ 。.・) ◆SayuminPM.
NGNG#include <stdio.h>
#include <string.h>
#include <stdlib.h>
struct Word { char* word; int count; struct Word* left, * right; };
struct Word* push_word(char* str, struct Word* node) {
int cond;
if (node == NULL) {
node = (struct Word*) malloc(sizeof(struct Word));
node->word = strdup(str); node->count = 1;
node->left = node->right = NULL;
}
else if ((cond = strcmp(str, node->word)) == 0) { (node->count)++; }
else if (cond < 0) { node->left = push_word(str, node->left); }
else { node->right = push_word(str, node->right); }
return node;
}
void print_all(struct Word* node) {
if (node) {
print_all(node->left);
printf("%s [%d]\n", node->word, node->count);
print_all(node->right);
}
}
int main(void) {
char buf[20]; struct Word* t = NULL; FILE* fp = fopen("hoge.txt", "r");
while (fscanf(fp, "%20s", buf) > 0) { t = push_word(buf, t); }
printf("Output:Word [frequency]\n"); print_all(t); printf("End\n");
return 0;
}
0598デフォルトの名無しさん
NGNG単なる嫌がらせか、これが>>597のコーディングスタイルなのか…
0601デフォルトの名無しさん
NGNG> ひでえな。これを俺にコンパイルしろと?
コンパイラがコンパイルするんじゃ?
0602デフォルトの名無しさん
NGNG言葉の綾は正直ツマラン
0603デフォルトの名無しさん
NGNG0604デフォルトの名無しさん
NGNG#include <stdio.h>
#define SIZE 5
int
main(void)
{
double A[SIZE], min, max, sum = 0;
int i;
for (i = 0; i < SIZE; i++) { scanf("%lf", A + i); }
for (min = max = A[0], i = 0; i < SIZE; i++) {
sum += A[i];
if (min > A[i]) { min = A[i]; }
if (max < A[i]) { max = A[i]; }
}
printf("%lf\n%lf\n%lf\n", sum / SIZE, max, min);
return 0;
}
0605デフォルトの名無しさん
NGNGmin,maxが間違っていると思うのは俺だけか?
0606605
NGNG0607デフォルトの名無しさん
NGNG発見したファイルの以下の情報を表示
・絶対パス
・getcnd
・realpath
・iノード番号
・アクセス許可情報
・割り当てられたブロック数
・最終ファイル更新時刻
コマンド引数は、1:ファイル名、2:ディレクトリ名、
無指定の場合はカレントディレクトリ”
という、課題が与えられました、情報を表示するのはできたのですが、ファイル等を
調べるのがわかりません。
また、それをつかって情報を表示する方法にもいきづまってしましました。
どなたか、アドバイスをください。お願いします。
0608名無し募集中。。。
NGNG#include <stdio.h>
#include <stdlib.h>
int
main(void)
{
if (system("echo マルチしね") < 0) { fprintf(stderr, "マルチしね\n"); }
return 0;
}
0609デフォルトの名無しさん
NGNG言語はC言語です。
0610デフォルトの名無しさん
NGNGthx
0611デフォルトの名無しさん
NGNG0612デフォルトの名無しさん
NGNG遅くなってすみま。
数理計画法のシンプレックス法を使うんじゃない?
0613デフォルトの名無しさん
NGNG・c++
・文字配列
・forではなくwhileを使用
・cout,cinを使用
の条件で
1、キーボードからアルファベットの文字列を入力し、
それが何文字か字数をカウントするプログラム。
例:キーボードからbookと入力したら4と表示させる。
2、キーボードから文字列を入力し、次に1字入力し、
その時が文字列の中にいくつあるかを求めるプログラム。
例:はじめにキーボードからbookと入力し、次にoと入力した場合、
oは2つなので2と表示させる。
お願いします。
0614デフォルトの名無しさん
NGNG8行目の
>{ scanf("%lf", A + i); }
は何を表しているのでしょうか?
0615デフォルトの名無しさん
NGNG1と2は別?
STL は使って良いの?
1はアルファベット以外の入力はあるの?ないの?考えなくて良いの?
0616デフォルトの名無しさん
NGNGA[i] と *(A + i)
は同じ
&A[i] と A + i
は同じ
0617デフォルトの名無しさん
NGNG1.
string str;
cin >> str;
cout << str.length() << endl;
2.
string str;
char c;
cin >> str >> c;
cout << str.find(c)+1 << endl;
こんなんでいいか?
0618デフォルトの名無しさん
NGNGwhileつかってねえ・・
0619デフォルトの名無しさん
NGNG( ゚д゚)ポカーン
0620デフォルトの名無しさん
NGNG0621デフォルトの名無しさん
NGNGの値を-5≦x≦5の範囲で0.1刻みで計算し、結果をファイルに出力する
プログラムを書け。
Cでお願いします。
for文3つ使ってfopen fcloseをつかうってのは分かるのですが・・・
0622デフォルトの名無しさん
NGNG#include <stdio.h>
double
f(double x)
{
return ((x > 1) ? 1 : ((x < -1) ? -1 : x));
}
int
main(void)
{
double x;
FILE* fp = fopen("out.txt", "w");
for (x = -5.0; x <= 5.0; x += 0.1) { fprintf(fp, "%.1lf %.1lf\n", x, f(x)); }
fclose(fp);
return 0;
}
0623デフォルトの名無しさん
NGNGその1。cout,cinはちゃんと使用しているからな。
#include <iostream>
#include <cstddef>
using std::cout;
using std::cin;
int main()
{
char Buf[1024];
cin >> Buf;
std::size_t i = 0;
while (Buf[i])
i++;
cout << i << std::endl;
return 0;
}
0624デフォルトの名無しさん
NGNGYOU
using namespace std;
しちゃいなYO!
0625デフォルトの名無しさん
NGNGその2。条件は満たしているはずだ。
#include <iostream>
#include <cstddef>
using std::cout;
using std::cin;
int main()
{
char Buf[1024];
char ch;
cin >> Buf >> ch;
std::size_t i = 0, n = 0;
while (Buf[i])
if (Buf[i++] == ch)
n++
cout << n << std::endl;
return 0;
}
0626デフォルトの名無しさん
NGNGだって「cin, coutを使用」ってはっきり書いてあるじゃん。
0627デフォルトの名無しさん
NGNG0628デフォルトの名無しさん
NGNGあたりまえ
0629デフォルトの名無しさん
NGNG-5.0 から 0.1 きざみで足してるのに 0.0 を通過してくれません!
0630デフォルトの名無しさん
NGNGの
constって何の意味があるのでしょうか?
戻り値をconstにするよ、ってことなの?
0631デフォルトの名無しさん
NGNGgetHoge() = 10;
↑こういうのを防止するため
0632デフォルトの名無しさん
NGNGしても意味がない。意味がないから出来なくしてしまおうと思えばconstを
付ければいい。だから「意味がない」と言う意味があるとも言えるかもしれない。
0634デフォルトの名無しさん
NGNG0635デフォルトの名無しさん
NGNG#define DADR0 (*((unsigned char*)0xfffff8))
#define DACR (*((unsigned char*)0xfffffa))
#define MSTPCRH (*((unsigned char*)0xffff86))
main()
{
MSTPCRH&=0x3b;
DACR=0xc0;
DADR0=0xff;
}
D/A変換器によるアナログ出力電圧を以下の画像のような周期波形を発生させるには、
上のソースをどのように変更すればいいのでしょうか?
http://up.isp.2ch.net/up/3e4ded303767.jpg
0636デフォルトの名無しさん
NGNG0637613
NGNG1と2は別?
STL は使って良いの?
1はアルファベット以外の入力はあるの?ないの?考えなくて良いの?
えっと1、2は別物で、STLは聞いたことないんで使えません。
あと入力はアルファベットのみです。
説明足らずですみません。
作ってくれた方々ありがとうございます。
これからコンパイル&実行してみます。
0638635
NGNGttp://49uper.com:8080/html/img-s/27242.jpg
0639デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1099574832/
などでやったほうがいいぞ
あとCPUやボードの明細も書くように。
0641デフォルトの名無しさん
NGNGhttp://do.sakura.ne.jp/%7Ejunkroom/cgi-bin/megabbs/lounge/index.htmlは
復活しなさそうだし。
0642デフォルトの名無しさん
NGNG0643デフォルトの名無しさん
NGNGま、大体君の書いた通り
0644デフォルトの名無しさん
NGNG法○大学の計算機プログの問題だな
以前作った素数プログをFor文で繰り返させればOKだぜ
ただし、1以下の条件を忘れるなよ
下4桁ってとこまで乗せんなよw
0645デフォルトの名無しさん
NGNGどこで聞いてもswapっての入れられちゃうんです。
一度配列を使ってしまい込んだ数(マクロ使えると(・∀・)イイ!!)の大小を比較して
大きい順に並べたいです。そのときC言語でFor文とIF文のみを用いて何とかならないですか?
for(i=0;i<n;i++) {
printf(“x[%d]?:”i);
scanf(“%d”,&x[i]);
}
これ以下がわかりません
IF文のみでは数が大きくなるととても大変です。
何とか助けてください。よろしくお願いします
0646645
NGNGとか置き換えて
for(j=i;j>0;j--){
if(y[j]<y[j-1]){
とか考えてみたんですが、どういう関係になるのかわからず、
ソースを完成すらできませんでした。よろしくお願いします
0647デフォルトの名無しさん
NGNG0648645
NGNGまったく使用したことが無いswapを使うと便利かもしれないですがまずいんです
申し訳ありません
0649デフォルトの名無しさん
NGNG機能としては凄く単純で簡単な物なんだから。
0650645
NGNGint main(void){
int i, j, dat[5], tmp;
for (i = 0; i < 5; i++){
printf("整数を5つ入力してください。(%d つ目) : ", i+1);
scanf("%d", &dat[i]);
}
printf("入力された5つの数字は : ");
for (i = 0; i < 5; i++){
printf("%d ", dat[i]);
}
printf("\n ");
/* dat[0]〜dat[4] の内容を小さい順に並べ替える部分 */
printf("小さい順に並べ替えると : ");
for (i = 0; i < 5; i++){
printf("%d ", dat[i]);
}
printf("\n ");
return 0;
}
では・・・
こういう問題だったら・・・
どう答えますか?
0651デフォルトの名無しさん
NGNG0652デフォルトの名無しさん
NGNG別に問題変わって無いじゃん?
swapの本質ってのは単なるデータの交換だよ?
交換無しにソートするのは非効率になると思うよ。
0653デフォルトの名無しさん
NGNG使えないって言ってるんだからしょうがないんじゃん?
名前変えるか、関数化しないで書くかの2択でしょ。
0654デフォルトの名無しさん
NGNG0656デフォルトの名無しさん
NGNG#include <stdlib.h>
static int sortNumsCB(const int* lhs, const int* rhs)
{
if (*lhs < *rhs) return -1;
if (*lhs > *rhs) return +1;
return 0;
}
int main(void)
{
int i, j, dat[5], tmp;
for (i = 0; i < 5; i++){
printf("整数を5つ入力してください。(%d つ目) : ", i+1);
scanf("%d", &dat[i]);
}
printf("入力された5つの数字は : ");
for (i = 0; i < 5; i++){
printf("%d ", dat[i]);
}
printf("\n ");
/* dat[0]〜dat[4] の内容を小さい順に並べ替える部分 */
qsort(dat, sizeof(dat) / sizeof(int), sizeof(int), sortNumsCB);
printf("小さい順に並べ替えると : ");
for (i = 0; i < 5; i++){
printf("%d ", dat[i]);
}
printf("\n ");
return 0;
}
0657645
NGNG説明まずいですかね・・・
0658デフォルトの名無しさん
NGNGこんな事してる時間があるならCの教科書でも読んで
自分で書いた方が自分のためにもなると思うんだがなぁ。
0659デフォルトの名無しさん
NGNGだからさーここはCやC++のスレを宿題で汚されないようにするための
スレであって、質問者のレベル向上のためじゃないんだってば
0660645
NGNGint main()
{
int i, j, tmp, buf[3];
for(i=0;i<3;i++){
for(j=i+1;j<3;j++){
if(buf[i] < buf[j]){
tmp = buf[i];
buf[i] = buf[j];
buf[j] = tmp;
}
}
}
for(i=0;i<3;i++)
printf("%d\n", buf[i]);
return 0;
}
tmp = buf[i];
buf[i] = buf[j];
buf[j] = tmp;
ここのところ解説してください・・・
0661デフォルトの名無しさん
NGNG機能してない隔離センターなんて、隔離対象を引き寄せてるだけ
0662デフォルトの名無しさん
NGNGbuf[i]とbuf[j]の値を交換する
0663デフォルトの名無しさん
NGNGならばどうしろと?
0664デフォルトの名無しさん
NGNG何もする必要無い。放置すればいい話。
0665デフォルトの名無しさん
NGNG0666デフォルトの名無しさん
NGNG臨時でもいいので
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/l/imgboard.cgi
0667デフォルトの名無しさん
NGNGで?教えてクンが減るの?それで。
0668デフォルトの名無しさん
NGNG0669デフォルトの名無しさん
NGNG一時的に増える時期ってのはありそうだよね。
授業単元でプログラミングが出た時とか。
でもそれを乗り切れば、また減ると思う。
sin関数みたいな感じになるんじゃないかな。
0670デフォルトの名無しさん
NGNG必ず、我慢できずに教えまくる奴いるから
0671デフォルトの名無しさん
NGNG0672デフォルトの名無しさん
NGNG困ったことないんで、このスレ自体が教えたがり君
0673660
NGNG交換ってところが少しの見込めませんが眺めてみて理解してみます
0674デフォルトの名無しさん
NGNGこのスレ自体が教えたがり君なのが何?どうしたいんだ?
お前は何が言いたい?
0675デフォルトの名無しさん
NGNGオマエが馴れ合いあたりで宿題スレを運用しろよ
0676デフォルトの名無しさん
NGNGってのが言いたいだけだろ?
日本語読めてんのか?
0677デフォルトの名無しさん
NGNGではあんたがここの削除依頼を出し、通った後にそちらに立ててくれ
0678デフォルトの名無しさん
NGNGお前は何が言いたいんだよ?
0679デフォルトの名無しさん
NGNGだから何だと聞いている
0680デフォルトの名無しさん
NGNGこのスレ自体が教えたがり君
↓
スレにむらがる虫常時湧く
↓
他のスレにも沸きまくり
↓
結局>>659は達成されていない
主観もはいってるだろうけどな
とりあえず一から五ぐらいまで説明したぞ
0681デフォルトの名無しさん
NGNG>>676
お前知障か?
0682デフォルトの名無しさん
NGNGその根拠は?
0683デフォルトの名無しさん
NGNG0684デフォルトの名無しさん
NGNG0685デフォルトの名無しさん
NGNG0686デフォルトの名無しさん
NGNGC言語。入出力配列以外に用いる配列の記憶容量が最小になるようにすること。
だそうです。あまり期待してませんがよろしくお願いします。
0687デフォルトの名無しさん
NGNG放置します。
0688デフォルトの名無しさん
NGNG0689デフォルトの名無しさん
NGNG業務内容
サーバ・アプリケーションの設計・開発・運用・保守管理などの業務に取り組んでいただきます。
資 格
学歴不問25〜40歳位迄、下記項目中2項目以上の経験者が望ましい。
Java開発経験者(Tomcat等のJakarta Projectを利用した開発)
DB開発運用経験者(Oracle,PL/SQL,Pro*C,MySQL,PostgreSQLを利用した大規模DBの運用・開発経験者)
Linuxサーバの構築・運用経験者(bind,sendmail,qmail,ネットワーク一般、セキュリティ設定等)
システム開発プロジェクトマネージャー経験者
勤務地
東京都渋谷区
0690デフォルトの名無しさん
NGNGtypedef MMAP::value_type Mvalue;
ostream& operator<<(ostream& os, const Mvalue& p){
os << p.second ;
return os;
}
main() {
MMAP m;
string a;
while(getline(cin,a)){
if( a.size()!=1)
m.insert(Mvalue(a.size(),a));
}
for(MMAP::iterator i=m.begin(),end=m.end(); i!=end; i++){
cout << *i << endl;
}
}
このプログラムの 入出力のしかた
データ構造について
整列の方法について
よろしくお願いします。
0691デフォルトの名無しさん
NGNGデータ構造:マルチマップ
整列の方法:挿入法
0692690
NGNGどうもありがとうございました。
0693デフォルトの名無しさん
NGNGostream& operator << (ostream& os, const Date& d){
os << d.month << d.day << d.year;
return 0;
}
この関数もあるわけなんだけど、このostreamをintとかvoidみたいに使っているのが
いまいち、よくわからないんです。
osっていうのが、ファイルだから、それを受け渡しするときに使うってこと?
でも、なんでosをreturnする必要あるんですか?
ファイルは、存在するわけだから、またメインなり、どこかで、開けばいいんじゃないんですか?
0694デフォルトの名無しさん
NGNGマルチウザイ
0695デフォルトの名無しさん
NGNGreturn 0;
0696デフォルトの名無しさん
NGNG>だからさーここはCやC++のスレを宿題で汚されないようにするための
>スレであって、質問者のレベル向上のためじゃないんだってば
CやC++のスレがとてもまともとは思えんが
0697デフォルトの名無しさん
NGNG>機能してない隔離センターなんて、隔離対象を引き寄せてるだけ
それは機能しているって言わないか?
0698デフォルトの名無しさん
NGNGos << yesterday << today << tomorrow << ...
0699デフォルトの名無しさん
NGNG#include <stdio.h>/* 入出力を使うためのおまじない */
#include <string.h>/* 文字列を操作する関数を使うためのおまじない */
#include <stdlib.h>/* 乱数を使うためのおまじない */
#include <time.h>/* 時刻を使うためのおまじない */
void main()
{
char alphabets[100];/* アルファベット全体を入れる配列 */
char challenge[100];/* 打ち込む文字列 */
char input[100];/* 打ち込んだ文字列 */
int i;
/* 配列alphabetsにアルファベットを詰める */
strcpy(alphabets, "abcdefghijklmnopqrstuvwxyz\n");
/* 時刻を使って乱数作成 */
srand(time(NULL));
/* alphabetsからランダムに1文字ずつ取って、challengeに代入 */
for(i=0 ; i<5 ; i++){
challenge[i]=alphabets[rand()%strlen(alphabets)];
}
challenge[5]='\0';
printf("以下の文字列を入力して、リターンキーを押してください\n");
printf("%s\n", challenge);
scanf("%s", input);
0700デフォルトの名無しさん
NGNGif(strcmp(challenge , input) == 0){
printf("2つの文字列は等しい\n");
}
else{
printf("2つの文字列はちがう\n");
}
}
上のタイピングのプログラムで
/* challengeとinputがあっているか判定し、結果を表示 */
の部分をポインタを用いた表現に書き直す
という宿題なんですがさっぱりわかりません。
お願いします。
0701デフォルトの名無しさん
NGNG[2] 問題文(含コード&リンク):
信号(P)、ノイズ(N)の値(1000個)を全部二乗→足し合わせ、その値を
SN比の式10log10(P/N)に代入。
信号の値を出すプログラム、ノイズの値を出すプログラムからそれぞれ
数値のファイルを作り、その二つのファイルを使ってSN比を出すプログラムは
何とか作れたのですが、次の段階としてノイズの値を1/10000〜1まで
変えながら(ノイズの式の末尾に*0.0001〜1を挿入)SN比を算出して
ファイルに結果を出すプログラムがうまくいきません。
信号のプログラム
→http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/l/img-box/img20041208164950.txt
ノイズのプログラム
→http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/l/img-box/img20041208165024.txt
信号・ノイズのファイルからSN比を算出するプログラム
→http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/l/img-box/img20041208165043.txt
(>>666さんありがとうございます)
この三つを一つにまとめる形でノイズの値のみを変えたプログラムを
作りたいのですがどうすればいいでしょうか?
[3] 環境
[3.1] OS:winxp
[3.2] コンパイラ(バージョン):よくわからないのですがASTEC-Xで書いています
[3.3] 言語:C
[4] 期限:できれば今週末までに・・・
よろしくお願いします。
0702名無し募集中。。。
NGNG#include <stdio.h>/* 入出力を使うためのおまじない */
#include <string.h>/* 文字列を操作する関数を使うためのおまじない */
#include <stdlib.h>/* 乱数を使うためのおまじない */
#include <time.h>/* 時刻を使うためのおまじない */
int sayu(char* sayumin, char* eririn)
{
for (; *sayumin == *eririn; sayumin++, eririn++) { if (*sayumin == '\0') { return 0; } }
return *sayumin - *eririn;
}
int main(void)
{
char alphabets[100];/* アルファベット全体を入れる配列 */
char challenge[100];/* 打ち込む文字列 */
char input[100];/* 打ち込んだ文字列 */
int i;
strcpy(alphabets, "abcdefghijklmnopqrstuvwxyz\n");
srand(time(NULL));
for (i = 0; i < 5; i++) { challenge[i]=alphabets[rand()%strlen(alphabets)]; }
challenge[5] = '\0';
printf("以下の文字列を入力して、リターンキーを押してください\n");
printf("%s\n", challenge);
scanf("%s", input);
if (sayu(challenge , input) == 0) { printf("2つの文字列は等しい\n"); }
else { printf("2つの文字列はちがう\n"); }
return 0;
}
0703デフォルトの名無しさん
NGNGおっちゃん前のソースUPローだみたいに、
レス形式のみやすーいCGIつかってくだちゃい
そんでもっておっちゃんとこをこのスレのソースうpろーだにしよーよー
0704デフォルトの名無しさん
NGNG┏━┳━┳━┳━┳━┳━┓
┃10┃53┃24┃35┃ ┃ ┃
┗━┻━┻━┻━┻━┻━┛
と配列が渡されたとき、「75」を挿入すると
┏━┳━┳━┳━┳━┳━┓
┃10┃53┃24┃35┃75┃ ┃
┗━┻━┻━┻━┻━┻━┛
となるので正しいですか??
また、
┏━┳━┳━┳━┳━┳━┓
┃10┃53┃24┃35┃ ┃ ┃
┗━┻━┻━┻━┻━┻━┛
から53を削除した場合、リストはどの様に並びますか?
よろしくおねがいしますm(_ _"m)
0705デフォルトの名無しさん
NGNG「挿入」「削除」の定義による
0706デフォルトの名無しさん
NGNGマルチうぜーーーー
0707699
NGNGポインタの導入に対する考え方
・challengeとinputはどちらも文字列の名前、すなわち、文字列の先頭のアドレスである。
-ただし、別のポインタにコピ−しておく。
・先頭から順'\0'(文字列の終端)に到達するまで、ポインタを一文字ずつ増やして比較する。
繰り返しの構造は
・「・・にと歌うするまで・・・する」の部分は、while文による繰り返し
・正しくなかったかをあらわす変数としてjudgeを宣言しておく。整数でよい
・while文の直前では
-それぞれ(challengeとinput)のポインタを先頭に合わせる
-judgeを「正しいのほうに初期化
・while文の本体は
-challengeの方のポインタがさす文字が'\0'になるまでの間に・・・
-1文字でも違いが現れたら、judgeを「正しくない」にセット
-それぞれのポインタを1ずつ進める
・challengeよりinputが長いとき
・while文を抜けたところで、もう1回だけ文字を比較すれば
challengeとinputが違うことがわかる
のヒントが出ていました。すみません。
あとreturnが入っていますが今まで習ったことないです。
0708デフォルトの名無しさん
NGNG> 解いてもらっている方に失礼になってしまいます。
0709デフォルトの名無しさん
NGNGという事でこのスレでの追加分の解答は諦めて他に逝って下さい。
0710デフォルトの名無しさん
NGNG> >>707
> という事でこのスレでの追加分の解答は諦めて他に逝って下さい。
>>659
>だからさーここはCやC++のスレを宿題で汚されないようにするための
>スレであって、質問者のレベル向上のためじゃないんだってば
0711デフォルトの名無しさん
NGNG/* challengeとinputがあっているか判定し、結果を表示 */
{
#define Tadashii 1
#define Tadashikunai 0
int judge = Tadashii;
char * hintDashita = challenge;
char * yashiHaKuso = input;
while (*hintDashita != '\0' && *yashiHaKuso != '\0') {
if (*hintDashita != *yashiHaKuso) {
judge = Tadashikunai;
break;
}
++hintDashita;
++yashiHaKuso;
}
if (*hintDashita != *yashiHaKuso) {
judge = Tadashikunai;
}
printf("2つの文字列は%s\n", judge ? "等しい" : "ちがう");
#undef Tadashii
#undef Tadashikunai
}
0712デフォルトの名無しさん
NGNGwhile (*str1 == *str2 && *str1 != '\0') {*str1++; *str2++;}
if (*str1 == *str2) judge = 1;
そんなことより、この後printf("%s", str1) とすると、ポインタが動いてしまってるから
文字列が表示できないが、このポインタを元の位置に戻す方法は無いの?
どこか適当な変数にアドレス保持させておくか、*(str1 + i)みたいにするしか無い?
ポインタのインクリメントは使うメリットが良く解らない…
0713デフォルトの名無しさん
NGNG*str1++ → str1++ , *str2++ → str2++
0714デフォルトの名無しさん
NGNG{
*x^=*y^=*x^=*y;
}
0715デフォルトの名無しさん
NGNGそれはデータ壊れないか?
0716デフォルトの名無しさん
NGNGなんで?
0717デフォルトの名無しさん
NGNGなんで?
0718デフォルトの名無しさん
NGNG>>717
ttp://www.eskimo.com/~scs/C-faq/q10.3.html
0719デフォルトの名無しさん
NGNGint main()
{
int a[10] = {1};
printf("%d\n",a[0]);
swap(&a[0],&a[0]);
printf("%d\n",a[0]);
return 0;
}
0720デフォルトの名無しさん
NGNG「整数の配列とその要素数を引数として受け取り、添え字の1と2、3と4、…、nとn+1の要素を
それぞれ入れ替える関数を作成せよ。ただし、配列の要素数が奇数個である場合、最後の要素は入れ替えの
対象とならない。main関数では整数を入力として受け付けて、その数分の整数を配列に格納し、この配列の操作の対象とする」
って問題が出たので、とりあえずプログラムを作ってみたのですが、出力結果が正しく出ません。
下に作ったプログラムを貼ってみますので、誰か凄い方、添削お願い致します。
0721720
NGNGint irekae(int x, int data[]){
int i, tmp;
if(x % 2 == 1){
for(i = 0; i < x - 1; i = i + 2){
tmp = data[i];
data[i] = data[i + 1];
data[i + 1] = tmp;
}
}
else{
for(i = 0; i < x; i = i + 2){
tmp = data[i];
data[i] = data[i + 1];
data[i + 1] = tmp;
}
}
return(data[i]);
}
0722721
NGNGint i, x, m, ans;
int data[256];
scanf("%d", &x);
for(i = 0; i < x; i ++){
scanf("%d", &m);
data[i] = m;
}
for(i = 0; i < x; i++){
ans = irekae(i, data);
printf("%d", ans);
}
printf("\n");
return(0);
}
以上です。お願いします。
0723デフォルトの名無しさん
NGNG直接scanf("%d", &data[i]);としてもコンパイルできるよ。
でも俺とscanfの相性は悪いんで使っていない。
#include <stdio.h>
#include <stdlib.h>
void irekae(int data[], int x) {
int i;
x &= ~1;
for (i = 0; i < x - 1; i += 2) {
int tmp = data[i];
data[i] = data[i + 1];
data[i + 1] = tmp;
}
}
int main(void) {
int i, num;
int data[256];
char buf[256];
fgets(buf, sizeof buf, stdin);
num = atoi(buf);
for (i = 0; i < num; i ++) {
fgets(buf, sizeof buf, stdin);
data[i] = atoi(buf);
}
irekae(data, num);
for (i = 0; i < num; i++) {
printf("%d ", data[i]);
}
putchar('\n');
return 0;
}
0724デフォルトの名無しさん
NGNGレス形式のロダを用意してみました。
見やすいかどうかわからないけど、必要なときがあったら使ってみてください。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
0725デフォルトの名無しさん
NGNG普通にstr1[i]のようにすればいいと思われ。
ポインタを理解させるのが目的だろうけど、
教える側が苦労したと言う自覚があればあるほど
判りにくい教え方になる罠。
0726722
NGNGあ、即レスありがとうございます!
そこで、あの、折角やって頂いたのに大変申し上げ難いのですが、
#include <stdlib.h>というのをまだ習っておりませんので、
これを除いてプログラムを作って頂けると嬉しさ倍増なのですが・・・
いかがでしょうか?
0727デフォルトの名無しさん
NGNGstdlib.hは必要ないよ。
0729デフォルトの名無しさん
NGNG0731デフォルトの名無しさん
NGNGfgets+atoiをsscanfに変えたら意味変わらない?
揚げ足取りすまそ
0732デフォルトの名無しさん
NGNGi番目に小さい素数を返す関数nthprime(i)をつくり、500番目に
小さい素数を求めよ。
ただし関数nthprimeは再帰呼び出しを用いて作成すること。
#include<stdio.h>
int primep(int) ;
int nthprime(int) ;
int main()
{
int i = 500 ;
printf("%d",nthprime(i));
}
int primep(int i)
{
int k ;
for(k = 2 ;k < i ;k++){
if(i % k == 0){
return 0 ;return 1 ;
}
}
}
int nthprime(int i)
{
/*ここがわからないです・・・*/
}
誰かお願いします。
0733名無し募集中。。。
NGNG#include<stdio.h>
int primep(int) ;
int nthprime(int) ;
int
main(void)
{
int i = 500;
printf("%d\n", nthprime(i));
return 0;
}
int
primep(int i)
{
int k ;
for (k = 2 ;k < i ;k++) { if (i % k == 0) { return 0; } }
return 1 ;
}
int
nthprime(int i)
{
int j;
if (i == 1) { return 2; }
else {
j = nthprime(i - 1) + 1;
while (!primep(j)) { j++; }
return j;
}
}
0734デフォルトの名無しさん
NGNG確認できました。動作しました。
ありがとうございました!!
0735デフォルトの名無しさん
NGNGint nthprime(int i){
static int j = 1;
if(i == 0)
return j;
++j;
if(primep(j))
return nthprime(i - 1);
else
return nthprime(i);
}
とかのが良くね?
0736デフォルトの名無しさん
NGNGそれは再帰呼び出しだからですか?
0737デフォルトの名無しさん
NGNG但し書きまであるわけだから、ループは再帰で書けって意図なんじゃないかなあと思っただけだけどね
別にループ使うなとも書いてないからどっちでも良いと思うけど。
0738デフォルトの名無しさん
NGNGちなみに735の簡単な説明お願いしてもいいですか?
0739デフォルトの名無しさん
NGNGnthprime(i) は 2 (i == 1 の時)
の表現が意図なのでは?
0740デフォルトの名無しさん
NGNG0741デフォルトの名無しさん
NGNG0742デフォルトの名無しさん
NGNG宿題がわからず困っています。
使用する言語はC言語です。
「英語、数学、国語の点数を入力してその平均点に
よって合否を表示するプログラムを作れ。
入力:英数国の各点数
処理:次の関数を使用する↓
60点以上を「合格」、未満を「不合格」
という成績の文字列を返す関数(grade)
出力:main関数にて成績を表示
点数を比較するときは同じ型同士で比較する。」
0743デフォルトの名無しさん
NGNG意図がわからん
...英語型、数学型、国語型をつくり、基準点型にキャストする?
0744デフォルトの名無しさん
NGNGすいません。それは無視してもらっても結構らしいです。
0745デフォルトの名無しさん
NGNG60点以上を「合格」、未満を「不合格」
という成績の文字列を返す関数(grade)
*/
char *grade(double p){ return (p<60.0)?"不合格":"合格"; }
0746デフォルトの名無しさん
NGNG入力が仕様にあってねえじゃん
0747デフォルトの名無しさん
NGNG#include <stdio.h>
#include <string.h>
void grade(int a, int b, int c, char x[]){
double temp;
temp = (double)(a + b + c)/3;
if (temp >= 60.0){
strcpy(x, "合格");
} else {
strcpy(x, "不合格");
}
}
int main(){
int eigo, sugaku, kokugo;
char hantei[40];
printf("英語:"); scanf("%d", &eigo);
printf("数学:"); scanf("%d", &sugaku);
printf("国語:"); scanf("%d", &kokugo);
grade(eigo, sugaku, kokugo, hantei);
printf("%s\n", hantei);
return 0;
}
0748デフォルトの名無しさん
NGNGありがとうございます。
自分でも今の時間考えてみましたが、
やはり出来なかったので参考にさせて
いただきます。
0749デフォルトの名無しさん
NGNG問題をよく読め
>入力:英数国の各点数
>処理:次の関数を使用する↓
>60点以上を「合格」、未満を「不合格」
>という成績の文字列を返す関数(grade)
>出力:main関数にて成績を表示
gradeの入力が英数国の各点数ぢゃねーぞ
0750デフォルトの名無しさん
NGNG0751デフォルトの名無しさん
NGNG始めから読んでみると目頭が熱くなってくるよ。
いや、懐かしくて(藁
自分にもこんな時代もあったなぁと。
0752デフォルトの名無しさん
NGNG情報系の学科行っても全然プログラムやらんし
0753デフォルトの名無しさん
NGNG#include <stdio.h>
#include <string.h>
char *grade(int a, int b, int c){
double temp;
temp = (double)(a + b + c)/3;
if (temp >= 60.0){
return "合格";
} else {
return "不合格";
}
}
int main(){
int eigo, sugaku, kokugo;
char *hantei;
printf("英語:"); scanf("%d", &eigo);
printf("数学:"); scanf("%d", &sugaku);
printf("国語:"); scanf("%d", &kokugo);
printf("%s\n", grade(eigo, sugaku, kokugo));
return 0;
}
0754753
NGNG#include <stdio.h>
#include <string.h>
char *grade(int a, int b, int c){
if (((double)(a + b + c)/3) >= 60.0){
return "合格";
} else {
return "不合格";
}
}
int main(){
int eigo, sugaku, kokugo;
printf("英語:"); scanf("%d", &eigo);
printf("数学:"); scanf("%d", &sugaku);
printf("国語:"); scanf("%d", &kokugo);
printf("%s\n", grade(eigo, sugaku, kokugo));
return 0;
}
0755デフォルトの名無しさん
NGNG0757デフォルトの名無しさん
NGNG[2] 問題文(含コード&リンク):整数nを入力して、nが素数か、合成数であるかを
判定するプログラムを作る。1を入力すると判定終了となります。(while文は
必ず使う)
[3] 環境
[3.1] OS:Windows XP
[3.2] コンパイラ(バージョン):Microsoft Visual C++6.0
[3.3] 言語:C++
[4] 期限:2004年12月14日まで
[5] その他の制限:
0758757
NGNG0759デフォルトの名無しさん
NGNG0760デフォルトの名無しさん
NGNG0761デフォルトの名無しさん
NGNGまだ五日もあるじゃん
0762デフォルトの名無しさん
NGNG0763デフォルトの名無しさん
NGNG意味がわからないのだが、何かおかしいのか?
0764デフォルトの名無しさん
NGNG素数判定アルゴリズムの指定は無し?
0765デフォルトの名無しさん
NGNGねえねえ、入力する整数nに上限があるのならすぐ作れるんだけど。
問題を読む限り上限はないよね?そういうのは俺には無理です。
0766デフォルトの名無しさん
NGNG#include<bitset>
#include<iostream>
void main(){
const int max = 1000;
std::bitset<max+1> prime_table;
prime_table.set();
prime_table[0] = prime_table[1] = false;
for(int i = 2; i * i <= max; ++i)
for(int j = 2; i * j <= max && prime_table[i] != 0; ++j)
prime_table[i * j] = false;
int input;
std::cin >> input;
std::cout << (prime_table[input] ? "素数だ" : "素数じゃない") << std::endl;
}
0767766
NGNGvoid main -> int main
0768766
NGNG0769766
NGNGif(input == 1) return 0;
と
while(false);
でも入れといてくれ
0770デフォルトの名無しさん
NGNGへたれ
0771デフォルトの名無しさん
NGNGintにしたらreturnしないと。
0772デフォルトの名無しさん
NGNGそう言うならお前が作ってみろ。
>>771
標準C++はmain()に限り最後のreturn 0;は省略可能です。
0773デフォルトの名無しさん
NGNG0774デフォルトの名無しさん
NGNG>>772
ヘタレ
0775デフォルトの名無しさん
NGNGヘタレはお前。自分が作れないくせに。
0776デフォルトの名無しさん
NGNG自分が問題を勝手に曲解しといて、
今度は自分が作れるかのようなこと言い出した
0777デフォルトの名無しさん
NGNG問題の意図を満たさないだろ。
0778デフォルトの名無しさん
NGNG0779デフォルトの名無しさん
NGNG以下何事もなかったかのように再開
0780デフォルトの名無しさん
NGNG素数判定アルゴリズムを理解するために、以前ちょっとしたコードを書いたけれど
理解したから興味を失っただけだ!!!!!!?#
巨大な数の扱い方も知っているし、君とは殻が違うのだよ。殻が。解かる?殻。
ところで、DQNって何ですか?
0781デフォルトの名無しさん
NGNG殻?格の間違いじゃないの?(ワラ
多倍長計算のライブラリはいくつも持ってるし、Mathematicaもあるよ。
お前と一緒にすんなヴォケ。
0782デフォルトの名無しさん
NGNG0783デフォルトの名無しさん
NGNG>多倍長計算のライブラリはいくつも持ってるし、Mathematicaもあるよ
ワロタ
0784デフォルトの名無しさん
NGNGだから多倍長計算ライブラリを使えばそのまま>>766のプログラムが移植
できるだろ。
Mathematicaは余計だったが、そのまま簡単なプログラムで多倍長計算が
できる罠。それだけの話。
0785デフォルトの名無しさん
NGNGアルゴリズムにも楕円曲線法とかいろいろある。あまり難しい話を
ここでしても意味がない。
0786デフォルトの名無しさん
NGNG↓以降何もなかったかのように質問受け付けます。
0787デフォルトの名無しさん
NGNG0788デフォルトの名無しさん
NGNGバカめ!!!!!!!?#
格とひきこもりが閉じこもる心の殻を掛けたのを見抜けないのか!!!!!?#
0789デフォルトの名無しさん
NGNGこいつぼけ
0790デフォルトの名無しさん
NGNGそうか。>>780はヒッキーでしかもニート君だったか。これは失礼。
君のプライドを傷つけるつもりは毛頭なかったので、許してくれたまえ。
0791デフォルトの名無しさん
NGNGひょっとしてリアルで低脳だったのか?
0792デフォルトの名無しさん
NGNG0793デフォルトの名無しさん
NGNGおまいに任せた!!
0794デフォルトの名無しさん
NGNGさっきあの板にいた香具師じゃね?」と思う場面に出くわす事が
多いね。ニートの生活ってこんな感じなのかな?
0795デフォルトの名無しさん
NGNG0796デフォルトの名無しさん
NGNG今日だけな。
0797757
NGNG私が作ったのが(全く初心者なので間違いだらけです・・)
int n,i;
printf("整数nを入力して下さい \n");
scanf("%d",&n);
i=2
while (i<=(n-1)){
i=i+1;
}
if ((n%i)=0)
printf ("\n nは合成数です。\n",n);
else
printf ("\n nは素数です。\n",n);
}
0798757
NGNG誰か心優しい方、手直ししてもらえませんか?申し訳ないです・・
0799デフォルトの名無しさん
NGNG解いてもらっている方に失礼になってしまいます。
なのでスルーされること請け合いでしょうね
0800デフォルトの名無しさん
NGNGmain(){
printf("おちんちんを高速でしごくんだ。\n");
}
0801デフォルトの名無しさん
NGNG#include <stdio.h>
int main()
{
int n,i;
bool isPrime=true;
printf("整数nを入力して下さい \n");
scanf("%d", &n);
for (i=2; i*i <= n; i++) {
if ((n%i)==0) {
isPrime = false;
break;
}
}
printf("%d は %s です。\n", n, isPrime?"素数":"合成数");
return 0;
}
0802デフォルトの名無しさん
NGNGmain(){
printf("もっと早くッッ!!\n");
}
0803デフォルトの名無しさん
NGNGint n,i;
printf("整数nを入力して下さい \n");
scanf("%d",&n);
i=2;
while (i<=(n-1)){
if ((n%i)==0)
{
printf ("\n %dは合成数です。\n",n);
return 0;
}
i=i+1;
}
printf ("\n %dは素数です。\n",n);
>>801
Cでbool使うときは何かincludeしないといけないんじゃなかったっけ?
0804デフォルトの名無しさん
NGNG0805デフォルトの名無しさん
NGNG0806757
NGNG#include<stdio.h>
void main()
{
int n,i;
printf("整数nを入力して下さい \n");
scanf("%d",&n);
i=2;
while (i<=(n-1)){
if ((n%i)==0)
{
printf ("\n %dは合成数です。\n",n);
}
i=i+1;
}
printf ("\n %dは素数です。\n",n);
}
エラーはなかったんですが、整数を入力すると、「整数です 合成数です」
と二つとも出てきてしまうんです。あと、1を入力して判定終了するのって
どうすれば良いのでしょうか・・ほんと迷惑かけて申し訳ないです
0807デフォルトの名無しさん
NGNGちゃんとreturn 0;も書け。
>あと、1を入力して判定終了するのって
>どうすれば良いのでしょうか
#include <stdio.h>
int main(void)
{
int n,i;
while(1)
{
printf("整数nを入力して下さい \n");
scanf("%d",&n);
if(n == 1)
break;
i=2;
while (i<=(n-1)){
if ((n%i)==0)
{
printf ("\n %dは合成数です。\n",n);
goto next;
}
i=i+1;
}
printf ("\n %dは素数です。\n",n);
next:;
}
return 0;
}
0808757
NGNG本当にありがとうございます!助かりました v(^^)
0809(・∀・)イイ!! ◆LC7P44pfbg
NGNG0810デフォルトの名無しさん
NGNG0811331
NGNGデータの終わりはNULLとする。
#include <stdio.h>
void disp(char *p[],char key)
{
int i=0;
while (p[i]!=NULL){
if (p[i][0]==key)
printf("%s\n",p[i]);
i++;
}
}
void main(void)
{
static char *nam[]={"Candy","Nancy","Eluza",
"Ann","Rolla","Emy",NULL};
disp(nam,'E');
}
上のプログラムを関数プロトタイプ宣言してscanfでイニシャルを打ち込み、
そのイニシャルの名前がある場合はその名前を、ない場合はその旨を表示する
プログラムに書き換えたいんですが、どうしたらいいでしょうか?
言語はCです。
0812デフォルトの名無しさん
NGNG0813デフォルトの名無しさん
NGNGint disp(char *p[],char key){
int i = 0;
int existed = 0;
while(p[i] != NULL){
if(p[i][0] == key){
printf("%s\n",p[i]);
existed = 1;
}
i++;
}
return existed;
}
int main(void){
static char *nam[]={ "Candy", "Nancy", "Eluza", "Ann", "Rolla", "Emy", NULL };
char initial;
scanf("%c", &initial);
if(disp(nam, initial) == 0)
printf("なかった\n");
return 0;
}
0816デフォルトの名無しさん
NGNG[2] 問題文 :
○○○○年、○○月、○曜日(その月の1日の曜日。数化したもの)を入力し、
2次元配列を利用してカレンダーを作成し6行7列の配列で出力せよ。
計算が複雑になるのでうるう年は28日とする。
[3.1] OS:XP
[3.2] コンパイラ(バージョン): Borland C++ Compiler
[3.3] 言語:C
[4] 期限:2004年12月10日
[5] その他の制限: 前提として、自分が習った範囲(if do switch、while for 配列)を使って作成しないといけません。
ヒントだけでもお願いします…。
0817デフォルトの名無しさん
NGNG0818デフォルトの名無しさん
NGNG[2] 問題文(含コード&リンク):
hドライブの○○フォルダ配下の××.datからデータを入力し、そのデータを金額とした時の金額の一覧を表示するプログラムを作成せよ。
但し、××.datファイルはint型の複数データが格納されたバイナリファイルとする。
[3] 環境
[3.1] OS:XP
[3.2] コンパイラ(バージョン):.NET2002
[3.3] 言語:C++
[4] 期限:2004年12月13日20:00まで
[5] その他の制限:無し
どうかよろしくお願いします。
0819デフォルトの名無しさん
NGNGsystem("cal");
0821デフォルトの名無しさん
NGNGありがとうございます!とてもヒントになります!
0822デフォルトの名無しさん
NGNG0824デフォルトの名無しさん
NGNG[初期化]文字列をポインタで、整数値:n、文字
[処理]文字列のn番目の文字を、初期化した文字で置換して
mainで置換された文字列を出力するプログラムを誰かお願いします
関数はパラメータ3個使って作成する問題です
たとえばlendという文字列の2番目(n)のeを文字aに置換して
landと出力するようなプログラムです
0825デフォルトの名無しさん
NGNG2が1番小さい素数、3が2番目に小さい素数・・・・・、
i番目に小さい素数を返す関数nthprime(i)をつくり、500番目に
小さい素数を求めよ。
ただし関数nthprimeは再帰呼び出しを用いて作成すること。
を作っていただいたのですが誰か下のプログラムを見て
アルゴリズム書けるひといませんか?
よろしくお願いします。
0826デフォルトの名無しさん
NGNGint primep(int) ;
int nthprime(int) ;
void main()
{
int i = 500;
printf("%d",nthprime(i));
}
int primep(int i)
{
int k;
for(k = 2 ;k < i ;k++){
if(i % k == 0){
return 0;
}
}
return 1;
}
int j=1;
int nthprime(int i)
{
if(i == 0)
return j;
j++;
if(primep(j))
return nthprime(i - 1);
else
return nthprime(i);
}
お願いします。
0827816
NGNGsystem("cal"); でくぐって調べてみましたが自分に扱えそうにないですね。
もう少し分かり易いのをお願いします…。
0828デフォルトの名無しさん
NGNGそれとアルゴリズムは解説みたいな感じでお願いしますm(__)m
#include <stdio.h>
int main(void){
int months[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int i, j;
int year, month, dayOfTheWeek;
int table[6][7] = {0};
printf("年:");
scanf("%d", &year);
printf("月:");
scanf("%d", &month);
printf("曜日(日曜:0...土曜:6):");
scanf("%d", &dayOfTheWeek);
printf("%d年%d月\n", year, month);
printf("日 月 火 水 木 金 土\n");
for(j = dayOfTheWeek; j < dayOfTheWeek + months[month - 1]; ++j)
table[j/7][j%7] = j - dayOfTheWeek + 1;
for(i = 0; i < 6; ++i){
for(j = 0; j < 7; ++j){
if(table[i][j] != 0)
printf("%2d ", table[i][j]);
else
printf(" ", table[i][j]);
}
printf("\n");
}
return 0;
}
0830デフォルトの名無しさん
NGNG#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#define WORDLEN 50
#define SIZE 32/*素数であること*/
/*単語と出現回数をまとめて1つの構造体で表す。*/
struct wd {
struct wd *next;/*次の単語へのポインタ*/
char *str;/*文字列の先頭へのポインタ*/
int count;/*単語の出現回数*/
};
typedef struct wd WORD;/*WORD型とする*/
WORD *word[SIZE];/*WORDへのポインタを要素とする配列。SIZE個のリストを表す。*/
/*関数の宣言*/
void init_word();
WORD *add_word(char *);
char *getword(char *, int);
int hash(char *);
0831デフォルトの名無しさん
NGNGint main()
{
char w[WORDLEN];/*単語を読み込むための文字配列*/
WORD *p;/*リストの先頭を指す*/
int i;
init_word();/*単語の出現表を初期化*/
while (getword(w, WORDLEN) != NULL) {
p = add_word(w);/*同じ単語の探索・新しい単語の追加*/
if (p == NULL) {
fprintf(stderr, "Too many words\n");
exit(1);/*単語が多過ぎる時*/
}
p->count++;/*出現回数を1増加*/
}
for (i = 0; i < SIZE; i++) {
for (p = word[i]; p != NULL; p = p->next) {
printf("%d %s\n", p->count, p->str);
}/*全単語とその出現回数を表示*/
}
return 0;
}
0832デフォルトの名無しさん
NGNG{
int i;
unsigned int h = 0;
for (i = 0; w[i] != '\0'; i++)
h = 65599 * h + w[i];
return h % SIZE;
}
void init_word()/*単語の出現表を初期化する関数*/
{
int i;
for (i = 0; i < SIZE; i++)
word[i] = NULL;
}
WORD *add_word(char *w)
/*文字列wと一致する単語がリスト内にあればその要素へのポインタを返す。
なければ、リストに追加し、その要素へのポインタを返す。
その際countは0にする。*/
{
char *s;
WORD *p;
int i;
0833デフォルトの名無しさん
NGNGfor (p = word[i]; p != NULL; p = p->next) {
if (strcmp(w, p->str) == 0)
return p;
}/*リスト内を探索し一致する単語があればそのポインタを返してある。*/
s = (char *)malloc(strlen(w) + 1);/*新しい単語を保存する領域を指すポインタ。*/
if (s == NULL)
return NULL;
strcpy(s, w);/*wをsにコピー。*/
p = (WORD *)malloc(sizeof(WORD));/*新しい単語を保存する領域を確保*/
if (p == NULL)
return NULL;
p->str = s;
p->count = 0;/*新しい単語を追加した時、countを0に*/
p->next = word[i];
word[i] = p;/*リストへの追加*/
return p;
}
0834デフォルトの名無しさん
NGNG{
int c;
int i = 0;
if (n <= 0 || feof(stdin))
return NULL;/*入力の終端かどうかをチェック
また単語の最大長が負かどうかもチェック*/
c = getchar();
while (c != EOF && ! isalpha(c)) {
c = getchar();
}/*英文字でない文字をとばす*/
if (c == EOF)
return NULL;/*EOFならNULLを返す*/
while (isalpha(c)) {
if (i < n - 1)
w[i++] = toupper(c);
c = getchar();
}/*英文字の間は大文字に変換しつつ文字配列wに代入*/
if (i < n)
w[i++] = '\0';/*単語の最大長を超えたら最後にNULLを代入*/
return w;/*代入された文字配列を返す*/
}
上は標準入力中に現れる英単語(英文字の列)の回数を数え、
大文字になおして標準出力に出力するコードです。
さらに、出現回数の多いものから順に表示できるようにするのが課題なのですが、
ソートがわからなくて困っています。
言語はCです。
また、入力されるのはハムレットや海底2万里などの全文です。
どうかよろしくお願いします。
0835デフォルトの名無しさん
NGNG0837デフォルトの名無しさん
NGNG>>問題文と提出期限を添えて>>724のロダを借りてみれ(彼に礼を述べよ)。
今ならきっと1番乗りw
>724 デフォルトの名無しさん sage 04/12/08 22:06:06
>
> レス形式のロダを用意してみました。
> 見やすいかどうかわからないけど、必要なときがあったら使ってみてください。
> http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
0838デフォルトの名無しさん
NGNG0839デフォルトの名無しさん
NGNG0840デフォルトの名無しさん
NGNG・自分の宿題に解答がつかない時はあきらめて下さい
0841デフォルトの名無しさん
NGNG2が1番小さい素数、3が2番目に小さい素数・・・・・、
i番目に小さい素数を返す関数nthprime(i)をつくり、500番目に
小さい素数を求めよ。
ただし関数nthprimeは再帰呼び出しを用いて作成すること。
を作っていただいたのですが誰か下のプログラムを見て
アルゴリズム書けるひといませんか?
よろしくお願いします
0842デフォルトの名無しさん
NGNG0843デフォルトの名無しさん
NGNGint nthprime(int) ;
void main()
{
int i = 500;
printf("%d",nthprime(i));
}
int primep(int i)
{
int k;
for(k = 2 ;k < i ;k++){
if(i % k == 0){
return 0;
}
}
return 1;
}
int j=1;
int nthprime(int i)
{
if(i == 0)
return j;
j++;
if(primep(j))
return nthprime(i - 1);
else
return nthprime(i);
}
お願いします。
>[初期化]文字列をポインタで、整数値:n、文字
日本語意味不明。意図に合うように適当に直してくれ。
#include <string>
#include <iostream>
void replace(std::string& str, int n, char ch);
void replace(std::string& str, int n, char ch){
str.replace(n, 1, 1, ch);
}
int main(){
std::string str;
int n;
char ch;
std::cin >> str;
std::cin >> n;
std::cin >> ch;
replace(str, n, ch);
std::cout << str;
}
0845デフォルトの名無しさん
NGNGIGkpDQp7DQoJaW50IGs7DQoJZm9yKGsgPSAyOyBrICogayA8PSBpOyBrKyspDQoJCWlmKCEoaSAl
IGspKSByZXR1cm4gMDsNCglyZXR1cm4gMTsNCn0NCg0KaW50IG50aHByaW1lKGludCBpKQ0Kew0K
CWlmKCFpKSByZXR1cm4gajsNCglqKys7DQoJaWYocHJpbWVwKGopKSByZXR1cm4gbnRocHJpbWUo
aSAtIDEpOw0KCWVsc2UgcmV0dXJuIG50aHByaW1lKGkpOw0KfQ0KDQppbnQgbWFpbih2b2lkKQ0K
ew0KCXByaW50ZigiNTAwdGggcHJpbWUgPSAlZFxuIiwgbnRocHJpbWUoNTAwKSk7DQoJcmV0dXJu
IDA7DQp9DQo=
0846デフォルトの名無しさん
NGNG0847デフォルトの名無しさん
NGNG最低search_nで探して置換って話じゃないのか?
>>824だとreplaceどころか検索するまでもなく配列の書き換えで終わるし、
いくらなんでもそんな課題ないっしょ
0848デフォルトの名無しさん
NGNG0849デフォルトの名無しさん
NGNG親父にも嬲られたことないのに!!
オレもそう思ったけど
>文字列のn番目の文字を、初期化した文字で置換して
>mainで置換された文字列を出力するプログラムを誰かお願いします
>関数はパラメータ3個使って作成する問題です
なるべくこれに沿ってみた
0851830
NGNGありがとうございました。
うpしました。お願いします。
0852デフォルトの名無しさん
NGNG> #define SIZE 32/*素数であること*/
激しくワロタ
0853デフォルトの名無しさん
NGNG1.バブルソート
2.クイックソート
3.マージソート
本当によろしくお願いします
0854デフォルトの名無しさん
NGNGやめいっちゅうに
0855824
NGNG文字列を入力してその文字のn番目の文字を、1文字置換するって問題です
日本語変ですいません・・
0856デフォルトの名無しさん
NGNG#define n 10
int main(void)
{
char mojiretsu[n];
mojiretsu[n] = mojiretsu[n];
printf(mojiretsu);
return 0;
}
0857818
NGNGと書きましたができれば明日の12時までにお願いします!
0858デフォルトの名無しさん
NGNG0859デフォルトの名無しさん
NGNGsystem("type hドライブの○○フォルダ配下の××.dat");
0860デフォルトの名無しさん
NGNG(-1)^nを計算する関数を作ってください.入力は整数n
{(-1)^(n-1)・x^(2n-1)}/(2n-1)!を計算する関数を
作ってください. 入力は整数nと実数xとします
sinのテイラー展開は •Sin x=x- x^3/3! +x^5/5!+ …+ {(-1)^(n-1)・x^(2n-1)}/(2n-1)!+…ですが、
sin xを計算する関数をお願いします.
0861デフォルトの名無しさん
NGNG関数int rand()を用いて0から9までの間でランダムな
整数を返す関数randm10をつくってください.10回繰り返して結果を出力してください.
また、繰り返し実行して、各値になる頻度をしらべてください.100回後と
10000回後の結果を画面に出力してください.
0862860.861
NGNG[1] 授業単元:プログラミング言語
[2] 問題文(含コード&リンク):
[3] 環境
[3.1] OS:xp
[3.2] コンパイラ(バージョン):NET2002
[3.3] 言語:C
[4] 期限:なるべく早めにお願いします。午後から講義なので・・・
間に合わなければ来週の月曜でも大丈夫ですのでどうかよろしくお願いします
[5] その他の制限:なし
0863デフォルトの名無しさん
NGNGint型のバイナリって書いてあるから
system("od -l hドライブの○○フォルダ配下の××.dat");
0864デフォルトの名無しさん
NGNG>(-1)^nを計算する関数を作ってください.入力は整数n
printf("%d", n & 1 ? -1 : 1);
0865デフォルトの名無しさん
NGNG>{(-1)^(n-1)・x^(2n-1)}/(2n-1)!を計算する関数を
>作ってください. 入力は整数nと実数xとします
>sinのテイラー展開は •Sin x=x- x^3/3! +x^5/5!+ …+ {(-1)^(n-1)・x^(2n-1)}/(2n-1)!+…ですが、
>sin xを計算する関数をお願いします.
精度(有効桁数)は?
sin(x) を計算するときの n は?
0866デフォルトの名無しさん
NGNGそれは定数にして置いてその変更で変えられるように作るべきでは
0867デフォルトの名無しさん
NGNGx^3/3! = (x)*x*x/2/3
x^5/5! = (x^3/3!)*x*x/4/5
x^7/7! = (x^5/5!)*x*x/6/7
・・・
を逐次足す方が良いです。
0868860.861.862
NGNG早速ありがとうございます!
>>865
問題文に与えられているのはそれだけでしたので
>>866、867さんの仰られる通りでおねがいします
0869デフォルトの名無しさん
NGNG3 4
5 6
という中身のファイルがあったとして
一列目をa[]、二列目をb[]というようにするにはどうすればいいのでしょうか?
0870869
NGNGファイルを開くのはできるのですが、それをどのように利用すればいいのかわかりません。
言語はCでお願いします。
0871デフォルトの名無しさん
NGNG#include <time.h>
#include <stdio.h>
#include <stdlib.h>
int randm10(void)
{
return (int)(rand()/(RAND_MAX+1.0) * 10.0);
}
void f(int ntimes)
{
int i;
int a[10] = {0};
for (i = 0; i < ntimes; i++)
a[randm10()]++;
for (i = 0; i < 10; i++)
printf("%d: %d\n", i, a[i]);
}
int main(void)
{
int i;
srand(time(NULL));
for (i = 0; i < 10; i++)
printf("%d: %d\n", i+1, randm10());
f(100);
f(10000);
return 0;
}
0872デフォルトの名無しさん
NGNGただし、0から100までの乱数は以下の様にして求める。
(int)((double)100 * rand() / (RAND_MAX + 1.0))
C言語で宜しくお願い申し上げ候。
0873デフォルトの名無しさん
NGNG( ゚д゚)
(つд⊂)ゴシゴシ
(;゚д゚)
(つд⊂)ゴシゴシ
_, ._
(;゚ Д゚)
0874デフォルトの名無しさん
NGNG#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 10000
int main()
{
int i, ntable[100]={0};
srand((unsigned int)time(0));
for (i=0; i<N; i++) {
ntable[(int)((double)100 * rand() / (RAND_MAX + 1.0))]++;
}
for (i=0; i<100; i++) {
printf("[%2d] : %d\n", i, ntable[i]);
}
return 0;
}
( ゚д゚)
(つд⊂)ゴシゴシ
(;゚д゚)
(つд⊂)ゴシゴシ
_, ._
(;゚ Д゚)
>(int)((double)100 * rand() / (RAND_MAX + 1.0))
rand() % 100でいいぞ
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void){
int i;
int randNums[100] = {0};
srand((unsigned int)time(0));
for(i = 0; i < 10000; ++i)
++randNums[rand() % 100];
for(i = 0; i < 100; ++i)
printf("%d ", randNums[i]);
return 0;
}
スペースとか修正してる間にorz
0877デフォルトの名無しさん
NGNGああ、なるほろ。
0879デフォルトの名無しさん
NGNGntable[(int)((double)100 * rand() / (RAND_MAX + 1.0))]++;
>>875では
++randNums[rand() % 100];
演算子(++)の位置が違いますけど
このプログラムの場合どっちでもOKですか?
0880デフォルトの名無しさん
NGNGこの場合はどっちでもOK
式の値を何にも使ってないし、後置き/前置きの++よりも[]の方が優先順位高いから大丈夫
0882デフォルトの名無しさん
NGNG>>881
どもありがとうございます
0883デフォルトの名無しさん
NGNG[2] 問題文(含コード&リンク):
>>869
[3] 環境
[3.1] OS:xp
[3.2] コンパイラ(バージョン):
[3.3] 言語:C
[4] 期限:一週間以内くらいなら
[5] その他の制限:なし
0884デフォルトの名無しさん
NGNG答えられるが、お前の態度が気に入らない。
0885デフォルトの名無しさん
NGNGごめんなさい…
0886デフォルトの名無しさん
NGNG開くところまでできているなら、
unsigned ic = 0;
while (fgets(buf, sizeof(buf), fp)) {
char buf[100];
sscanf(buf, "%d%d", a[ic], b[ic]);
++ic;
}
のような感じ。
課題の説明が中途半端なので回答も中途半端にならざるを得ない。
0888デフォルトの名無しさん
NGNG#include <stdio.h>
#include <stdlib.h>
#define MAXN 10
int main(void)
{
int a[MAXN], b[MAXN], i, count;
char buf[128];
FILE *fi;
if ((fi = fopen("data.txt", "r")) == NULL)
exit(1);
for (i = 0; i < MAXN; i++)
if (fgets(buf, 128, fi) == NULL)
break;
else {
sscanf(buf, "%d %d", &a[i], &b[i]);
}
fclose(fi);
count = i;
for (i = 0; i < count; i++)
printf("%d %d\n", a[i], b[i]);
return 0;
}
0889デフォルトの名無しさん
NGNG>sscanf(buf, "%d%d", a[ic], b[ic]);
これ間違ってるぞ。a[]やb[]がポインタ配列ならまだしも。
0890デフォルトの名無しさん
NGNG中途半端な課題に答えてくれてありがとうございます。
その回答で充分です。
sscanfを使えば良かったんですね。
0891デフォルトの名無しさん
NGNG[2] 問題文(含コード&リンク):
-----------------------------------
//file1.txt
12 123 1234
23 234 2345
34 345 3456
-------------------
のようなファイルの中身を、
-------------------
123 1234
234 2345
345 3456
-------------------
のように、左端の要素だけを取り除いて表示するようなプログラムを作りたいです。
[3] 環境
[3.1] OS:xp
[3.2] コンパイラ(バージョン):
[3.3] 言語:C
[4] 期限:1〜2日でお願いします!すんません。
[5] その他の制限:UNIXで動作できるようにしてください
0892デフォルトの名無しさん
NGNGスペースは全角ですか
0893デフォルトの名無しさん
NGNG改めてポインタについて教えてください。
struct test{
string aaa;
};
test *pstr[10];
pstr[10]->aaa = "ABC";
ポインタ配列pstrのメンバaaaに"ABC"を代入するには
どう書けばいいですか?
0894デフォルトの名無しさん
NGNG・ポインタは何か指す物が無いとと使えない。pstrを宣言しただけでは
testのインスタンスは生成されない。
・配列の添え字は0から(要素数-1)まで。
test *pstr[10];
for(int i = 0; i < 10; i++) pstr[i] = new test;
pstr[8]->aaa = "ABC";
pstr[7]->aaa = "CDE";
0895デフォルトの名無しさん
NGNGここは宿題スレだ。よって残念ながらここもスレ違い。
0896デフォルトの名無しさん
NGNG0897デフォルトの名無しさん
NGNG文法的には下のような感じでいいのでしょうか?
スレ違いっぽくて申し訳ないですが添削よろしくお願いします。
#include <iostream.h>
struct test{
char *aaa;
};
int main(){
int i;
struct test *test_ptr[10];
for (i = 0; i < 10; i++){
test_ptr[i] = new test;
}
test_ptr[0]->aaa = "ABC";
test_ptr[9]->aaa = "DEF";
printf("%s\n", test_ptr[0]->aaa);
printf("%s\n", test_ptr[9]->aaa);
for (i = 0; i < 10; i++){
delete test_ptr[i];
}
return 0;
}
0898デフォルトの名無しさん
NGNG0899デフォルトの名無しさん
NGNG問題ないということしょうか
ありがとうございました
0900893
NGNGまずは>>894さんありがとうございました。
教えて頂いたとおりに書いたらできました。
>>897さんは私ではないですね・・・
でも分かりやすい見本でした。
delete()もすべきなんですね。勉強になりました。
あと、質問して教えて頂いた後には
出来上がったソースをそえてお礼した方がマナーがいいんですね。
いろいろありがとうございます。頑張ります。
0901デフォルトの名無しさん
NGNGtest *pstr;
pstr = new pstr[10];
pstr[0] = "ABC";
delete[] pstr; // delete pstr;だと駄目
0902デフォルトの名無しさん
NGNGうい、typo。ヒントにはなるだろうから訂正しなかった。
>>901
newしてるものが……
0904デフォルトの名無しさん
NGNG差分だけ置いてきた。
0905デフォルトの名無しさん
NGNG[2] 問題文(含コード&リンク):
hドライブの○○フォルダのint型の複数データが格納されたバイナリファイルを使って
|給 与|一万円|五千円|千 円|五百円|百 円|五十円|十 円|五 円|一 円|
--+------+------+------+------+------+------+------+------+------+------|
1|423251| 42| | 3| | 2| 1| | | 1|
2|498225| 49| 1| 3| | 2| | 2| 1| |
3|316482| 31| 1| 1| 1| 4| 1| 3| | 2|
--+------+------+------+------+------+------+------+------+------+------|
合 計 | 122| 2| 7| 1| 8| 2| 5| 1| 3|
という表を作らなければならないみたいです。
[3] 環境
[3.1] OS:XP
[3.2] コンパイラ(バージョン):.NET2002
[3.3] 言語:C++
[4] 期限:2004年12月11日12:30まで
[5] その他の制限:無し
どなたかよろしくお願いします!!
0906デフォルトの名無しさん
NGNG明日の朝の900頃でもよければupするわ。
0907デフォルトの名無しさん
NGNGお願いしますm(__)m
0908デフォルトの名無しさん
NGNG[2] 問題文(含コード&リンク):
以下の式において、項数nを入力して、
tの範囲を0〜1とし、それを100等分して
f(t)の値を計算し列挙せよ。
n
f(t)=(4/π)* Σ{(1/(2k+1))*sin(2k+1)t}
n=0
フーリエの問題だと思うのですが、
プログラムが作れません><
よろしくお願いします。
[3] 環境
[3.1] OS:XP
[3.2] コンパイラ(バージョン):VC++ 6.0
[3.3] 言語:C言語
[4] 期限:2004年12月11日17:30まで
[5] その他の制限:特になし
0909デフォルトの名無しさん
NGNG#include <stdio.h>
#include <math.h>
#define Pi 3.141592653589793
double f(double t, unsigned int n) {
unsigned int k;
double ret = 0.0;
for (k = 0; k < n; ++k) {
ret += 1.0 / (2.0*k + 1) * sin(2.0*k + 1.0) * t;
}
return ret;
}
int main() {
unsigned int i;
for(i = 0; i < 100; ++i) {
printf("%lf\n",f((double)i / 100.0, 20));
}
return 0;
}
0910デフォルトの名無しさん
NGNG早速の回答ありがとうございます。
n
f(t)=(4/π)* Σ{(1/(2k+1))*sin(2k+1)t}
n=0
この式でΣのn=0からnまでの
nの値はscanf使って任意に入力したい
場合はどうしたらいいんでしょうか。。。
0911デフォルトの名無しさん
NGNGデータの区切りは 1バイト スペースとみなした
int ch,flg=0;
while((ch=getchar())!=EOF){
if(flg) putchar(ch);
if(ch=='\n') flg=0;
if(ch==' ') flg=1;
}
0912デフォルトの名無しさん
NGNG意図から判断すると
n
Σ
k=0
だろ。
scanfで入力するにはmain関数を
int main() {
unsigned int i;
unsigned int n;
scanf("%d", &n);
for(i = 0; i < 100; ++i) {
printf("%lf\n",f((double)i / 100.0, n));
}
とする。
ところで、scanfはテストにしか使ってはいけないよ。
学校の課題くらいなら使っても大丈夫だろうけれど。
0913デフォルトの名無しさん
NGNG2 渡辺 4 68
3 斉藤 51 49
4 安藤 85 46
5 亘理 25 15
上のデータをファイルから読み込み、下のような構造体に格納し
3番と4番の間に 佐藤 67 34 を追加しファイルに書き出しなさい。
struct seiseki{
int no;
char name[10];
int tensuu[2];
}
こんな問題出されたんですがサッパリわかりません・・・(´Д⊂
一つ次のデータのアドレスを使うやつ(線形リスト構造?)を使わずに作りたいのですが
どなたか回答いただけないでしょうか
0914デフォルトの名無しさん
NGNGたびたびありがとうございます。
ところでscanfは何故テストにしか使ってはいけないんでしょーか?
問題があるんですか??初心者ですいません><
0915デフォルトの名無しさん
NGNG[1] 授業単元:情報処理実習
[2] 上記のとおり
[3] 環境
[3.1] OS:winxp
[3.2] コンパイラ(バージョン):VC++6.0
[3.3] 言語:C
[4] 期限:月曜テストなんで日曜の夜くらいまでにいただけると助かります。
0916デフォルトの名無しさん
NGNGhttp://www1.cts.ne.jp/~clab/hsample/IO/IO12.html
0917デフォルトの名無しさん
NGNGなるほど、配列を超えた入力の抑制が出来ないのですね、、、
ありがとうございます
0918デフォルトの名無しさん
NGNG0919デフォルトの名無しさん
NGNGOpenGLのスレがあるのにわざわざここで?
0920デフォルトの名無しさん
NGNG0921デフォルトの名無しさん
NGNGおいおい、そのリンク見てみたけど、
fflush(stdin);
って平気で書いてるぞ。VCだけが処理系だと思っている痛い香具師が
書いたな。
0922デフォルトの名無しさん
NGNGscanf問題の説明が載っていればどこでもよかった。
今では後悔している。
0923デフォルトの名無しさん
NGNG誰か教えてください
0924デフォルトの名無しさん
NGNGパーティクルって何?飛ばすって?まずそれがわからないことには。
0925デフォルトの名無しさん
NGNG氏ねよマルチ野郎
0926デフォルトの名無しさん
NGNGどこを直せばいいしょうか?
/*単語を数え、各単語の先頭だけを大文字にする。*/
#include <stdio.h>
#define N 100
int word (char *, int);
int main (void)
{
char str[N], *error="ERROR!!";
int ret;
printf("文字列を入力して最後にReturnキーを押して下さい.\n");
gets(str);
ret = word(str, N);
if (ret == -1) printf(error);
else
{
printf("%s\n", str);
printf("%d語\n", ret);
}
return 0 ;
}
0927デフォルトの名無しさん
NGNG//単語の先頭だけを大文字にし、単語数を返す関数
int word (char *p, int n)
{
int word = 0;
char *p_0 = p;
while (*p)
{
//アルファベットが見つかったら
if ((0x41 <= *p && *p <= 0x5a) || (0x61 <= *p && *p <= 0x7a))
{
word++;
//先頭の1文字
if (0x61 <= *p && *p <= 0x7a) //小文字なら大文字に
*p-=32;
p++;
if ((int)(p-p_0) > n) return -1;
//その単語の残りの文字
while ((0x41 <= *p && *p <= 0x5a) || (0x61 <= *p && *p <= 0x7a))
{
if (0x41 <= *p && *p <= 0x5a) //大文字なら小文字に
*p+=32;
p++;
if ((int)(p-p_0) > n) return -1;
}//アルファベットの間ループ
}
0928デフォルトの名無しさん
NGNGp++;
if ((int)(p-p_0) > n) //型キャストはなくてもいいんですか?
return -1; //もしかしてnじゃなくてn-1!?
}
return word;
}
0929デフォルトの名無しさん
NGNG「うまくいかない」とはどう「うまくいかない」のか書け。
0930デフォルトの名無しさん
NGNG自作関数のほうでなんぼチェックしても、getsの地点ですでに壊れてるから意味ないわな
fgets使っとき
0931デフォルトの名無しさん
NGNGとしてカウントされてしまうという不具合か?それはアルゴリズムが間違って
いるから。
0932デフォルトの名無しさん
NGNGしていて好ましくないから、isalphaとかtoupper、tolowerを使うべき。
文字列の終端はポインタの減算でチェックするより、'\0'が現れる事によって
判断した方が楽。
0933926-928
NGNG>>930
N以下の文字列でもERRORになることがある・・・
>>931
えっ!そうなんすか?
どこがまずいんですか?
>>932
ヌル文字でってどうやってやるんですか?
str[N]以降にアクセスしたくないんですけど、
例えばヌル文字が出るまでk++するとかだと
str[N]より前に'\0'がなかったら
str[N]を超えて調べちゃいますよね?
オレにはそんなやり方しか思いつかない、、、
0934デフォルトの名無しさん
NGNGオレはバカ……
0935デフォルトの名無しさん
NGNGCの文字列は'\0'で終わるもんだ。
p[n]より手前までに'\0'がないときは、そんな引数を渡す奴が悪い。
0936デフォルトの名無しさん
NGNG#include <stdio.h>
#include <ctype.h>
#define N 100
int word(char *p);
int main(void)
{
char str[N], *error = "ERROR!!";
int ret;
printf("文字列を入力して最後にReturnキーを押して下さい.\n");
gets(str);
ret = word(str);
if (ret == -1)
puts(error);
else {
printf("%s\n", str);
printf("%d語\n", ret);
}
return 0 ;
}
0937デフォルトの名無しさん
NGNGint word(char *p)
{
int word = 0;
while (*p) {
//アルファベットが見つかったら
if (isalpha(*p)) {
word++;
//先頭の1文字は大文字に
*p = (char)toupper(*p);
p++;
while (*p && isalpha(*p)) { // 残りの文字は小文字に
*p = (char)tolower(*p);
p++;
}
}
while (*p && !isalpha(*p)) // アルファベットまたはターミネート文字が出るまで p を進める
p++;
}
return word;
}
0938デフォルトの名無しさん
NGNG0939デフォルトの名無しさん
NGNG0940デフォルトの名無しさん
NGNGそのファイルにはどのようにデータが入っているんだ?
0941939
NGNGなんかfopen("h:\\○○\\kyuu-yo.dat")みたいなのを使うみたいです。
0942デフォルトの名無しさん
NGNGそのバイナリ・ファイルがない事にはプログラムが作れません。
どこかにうpして下さい。
0943939
NGNGファイル学校行かないとないんです…。形だけでもどうにかなりませんか?
0944デフォルトの名無しさん
NGNGいつまでもフザケた事言ってんじゃねえよ
0945デフォルトの名無しさん
NGNG…とか一瞬考えたのは秘密
0946906
NGNG寝坊した漏れに笑いのネタを提供してくれた。
いや、7時には起きたんだけどね。
>>905のレスを見ても仕様がよく分からんから
二度寝したんだよね。
別に学校の宿題くらい納期過ぎたって問題ないっしょ
自分でガン( ゚д゚)ガレ
0947デフォルトの名無しさん
NGNGint main(void)
{
int n,i;
int flag;
printf("n=");
scanf("%d",&n);
flag=0;
for(i=2;i<=n-1;i++){
if(N%i==0){
flag=1;
break;
}
}
if(flag==1){
printf("Sosuu de nai|n");
}
else{
printf("Sosuu de aru\n");
}
}
これを関数を使用したプログラムに直してくれませんか。
判定対象の整数を引数とし、判定結果(素数である場合を0,素数でない場合を1)
を辺値とする。
また数値の入力と結果の表示はmainで行う
#include <stdio.h>
int isPrime(int num){
int i;
for(i = 2; i <= num - 1; ++i)
if(num % i == 0)
return 1;
return 0;
}
int main(void){
int n;
printf("n=");
scanf("%d",&n);
if(isPrime(n))
printf("Sosuu de nai|n");
else
printf("Sosuu de aru\n");
}
0951デフォルトの名無しさん
NGNG結果表示はそのままでよかったんじゃないんですか?
ホントだ。俺の最初のが間違ってた。
だ。自分のそそっかしさが嫌になってきたorz
0954デフォルトの名無しさん
NGNG0955デフォルトの名無しさん
NGNG0956デフォルトの名無しさん
NGNGなんだ、できないのか。糞の役にもたたねえな。
0957デフォルトの名無しさん
NGNGじゃあまちがってる?
0958(・∀・)イイ!! ◆LC7P44pfbg
NGNGどうしようもない質問者に翻弄されるのも(・∀・)イイ!!
0959デフォルトの名無しさん
NGNGお前が糞。
0960デフォルトの名無しさん
NGNG0962デフォルトの名無しさん
NGNG0963デフォルトの名無しさん
NGNG0964デフォルトの名無しさん
NGNG最後のほうの
while (*p && !isalpha(*p)) // アルファベットまたはターミネート文字が出るまで p を進める
p++;
って、単にp++;だけでもたぶんできますよね?
こうしたのは何か意図があるんですか?
こっちのほうが速いとか?
0965デフォルトの名無しさん
NGNGm9(^Д^)プギャー
小学生みたいな返しだな。そんな低脳じゃできるわけないなwww
0966デフォルトの名無しさん
NGNG自分が低脳である事を棚にあげて、よくそこまで開き直れるもんだ。
でも開き直ってもプログラムはできないぞ。低脳。
0967デフォルトの名無しさん
NGNGそれがどうした無能野郎
低脳でも無能よりマシだクソッタレ
0968デフォルトの名無しさん
NGNG0969デフォルトの名無しさん
NGNG0970デフォルトの名無しさん
NGNGレス遅くなってスマソ。
単にp++;だけだと、文字列の最後を越えていつまででもpをインクリメントし続け、
そのうちアクセス違反を出すと思います。
0971デフォルトの名無しさん
NGNG氏ね。答えを書いてもらえなかったのは、お前の質問の仕方が糞だったからだ。
まず日本語勉強ちまちょーね。あ?日本人じゃねーのか?祖国に帰った方が
ええんとちゃうか?
0972デフォルトの名無しさん
NGNG梅ご苦労様です
0973デフォルトの名無しさん
NGNGでも一番外側のwhile(*p)があるからだいじょぶなんじゃないんですか?
0974デフォルトの名無しさん
NGNGだめです。最後にホワイトスペース文字が入っている場合を
考えてみて下さい。
0975デフォルトの名無しさん
NGNGすみません、よくわかんないです。
最後にスペースがあってもできました。
0976デフォルトの名無しさん
NGNG"aa 11aa"
って入れてごらん。p++だけだと3語になっちゃうでしょ。
正解は2語。
0977デフォルトの名無しさん
NGNG↓ので"aa 11aa"と入れてもちゃんと2語になりました。
//単語の先頭だけを大文字にし、単語数を返す関数
int word (char *p)
{
int word = 0;
while (*p)
{
//アルファベットが見つかったら
if (isalpha(*p))
{
word++;
//先頭の文字を大文字に
*p++ = toupper(*p);
//その単語の残りの文字は小文字に
while (isalpha(*p))
*p++ = tolower(*p);
}
p++;
}
return word;
}
0978デフォルトの名無しさん
NGNG頭が海栗になってないか?
>977のword()では単語数が滅茶苦茶だぞ。
0979デフォルトの名無しさん
NGNG0980デフォルトの名無しさん
NGNG最後のp++;の前にelseが必要。
でないと、"aa 11aa" のとき最後のNUL文字を飛ばして読んでしまう。
0981デフォルトの名無しさん
NGNG[3] 環境
[3.1] OS:windows xp
[3.2] コンパイラ(バージョン):Cygwin
[3.3] 言語:C
[4] 期限:2004年12月23日
参考サイトもイマイチないようなんで誰か面倒かけますが分かる方お願いします。。
0982デフォルトの名無しさん
NGNG0984デフォルトの名無しさん
NGNG↓>>981
↓表示形態は?グラフィック?文字?
↓
0985デフォルトの名無しさん
NGNG↓ふざけてんのか?
0986デフォルトの名無しさん
NGNG0987デフォルトの名無しさん
NGNG根本から見直したほうがよさそうだ。
0988デフォルトの名無しさん
NGNG問題文:文字列を2つ引数として受け取り、第2引数が第1引数の部分文字列に
なっていれば1を、なっていなければ0を返す関数を作成せよ。
s1がs2の部分文字列であるとはs2のどこかにs1が含まれている事を言う。
(例:bcdはabcdeの部分文字列。abdはabcdeの部分文字列ではない。)
この関数を使って、指定した回数分だけ入力した文字列のうち、
あらかじめ定められた文字列を含むものだけを配列に格納する
プログラムを作成せよ。main関数での入力は、入力する文字列の
個数とその数分の文字列である。
[3]環境
[3.1]OS : XP
[3.2]コンパイラ : VC++.NET 2003
[3.3]言語 : C言語
[4]期限 : 本日21時
かなり切羽詰まっているのでどなたかお願いします。
ここでこう言っては何ですが、この問題が1000いくまでに解決しなければ
次スレに問題文コピペして良いですか?
0989デフォルトの名無しさん
NGNG問題文:文字列を2つ引数として受け取り、第2引数が第1引数の部分文字列に
なっていれば1を、なっていなければ0を返す関数を作成せよ。
s1がs2の部分文字列であるとはs2のどこかにs1が含まれている事を言う。
(例:bcdはabcdeの部分文字列。abdはabcdeの部分文字列ではない。)
この関数を使って、指定した回数分だけ入力した文字列のうち、
あらかじめ定められた文字列を含むものだけを配列に格納する
プログラムを作成せよ。main関数での入力は、入力する文字列の
個数とその数分の文字列である。
[3]環境
[3.1]OS : XP
[3.2]コンパイラ : VC++.NET 2003
[3.3]言語 : C言語
[4]期限 : 本日21時
今から遊びに行きますので、帰ってくるまでに作っておいて下さい。
帰宅は夕方6時の予定です。
0990860.861.862
NGNGお礼送れてすみません。。。本当に助かりました。
お手数ですが>>860の方もよろしくお願いします
0991デフォルトの名無しさん
NGNGstrstr()を使ってもいいのか?
http://www.linux.or.jp/JM/html/LDP_man-pages/man3/strstr.3.html
これ使うと簡単に出来てしまう。
たぶんstrstr()そのものを自分で実装しろという宿題ではないかと思われるのだが、
念のため問題の条件を再度確認しておきたい。
夕方6時までに返事がなければ誰も作らないからそのつもりで。
0992デフォルトの名無しさん
NGNGここまでヒント出てるんだから自分で出来ないか?
>まじめに毎回 {(-1)^(n-1)・x^(2n-1)}/(2n-1)! を計算するんじゃなくて、
>
>x^3/3! = (x)*x*x/2/3
>x^5/5! = (x^3/3!)*x*x/4/5
>x^7/7! = (x^5/5!)*x*x/6/7
>・・・
>
>を逐次足す方が良いです。
0993デフォルトの名無しさん
NGNG#include <stdio.h>
#include <math.h>
int func1(int n) // (-1)^nを計算する
{
return (int)pow(-1, n);
}
double func2(int n, double x) // {(-1)^(n-1)・x^(2n-1)}/(2n-1)!を計算する
{
double r = func1(n-1)*pow(x, (2*n-1));
int i;
for (i=2*n-1; i>1; i--) r /= i;
return r;
}
double func3(double x, int max) // sin xを計算する
{
double r=x;
int i;
for (i=2; i<max; i++) r += func2(i, x);
return r;
}
int main()
{
double x;
printf("x=");
scanf("%lf", &x);
printf("sin(%g) = %g", x, func3(x, 100));
return 0;
}
オーバーフローはシラネ('A`)
0994デフォルトの名無しさん
NGNGオーバーフローが気になるなら >>992 の方がまし
しかしどっちみち桁落ちの問題が出てくる
0995デフォルトの名無しさん
NGNG項の後ろの方ほど小さいという保証があればね。
0996デフォルトの名無しさん
NGNG0998デフォルトの名無しさん
NGNG一番収束の遅い sin(π) でも double なら n = 16 くらいで
収束してしまうので、 100 まで計算する必要なし。
さらに、sin(π/3) と sin(2π/3) の値が同じにならない。
0999デフォルトの名無しさん
NGNGNTkyNjUzNTg5NzkzMjM4NDYNCg0Kc3RydWN0IHBpdGFibGUgew0KCWRvdWJsZSB4Ow0KCWNoYXIg
KnM7DQp9Ow0KDQppbnQgZnVuYzEoaW50IG4pDQp7DQoJcmV0dXJuIChpbnQpcG93KC0xLCBuKTsN
Cn0NCg0KZG91YmxlIGZ1bmMyKGludCBuLCBkb3VibGUgeCkNCnsNCglpbnQgaTsNCglkb3VibGUg
ciA9IGZ1bmMxKG4tMSkgKiBwb3coeCwgKDIgKiBuIC0gMSkpOw0KCWZvcihpID0gMiAqIG4gLSAx
OyBpID4gMTsgaS0tKSByIC89IGk7DQoJcmV0dXJuIHI7DQp9DQoNCmRvdWJsZSBmdW5jMyhkb3Vi
bGUgeCwgaW50IG1heCkNCnsNCglpbnQgaTsNCglkb3VibGUgciA9IHg7DQoJZm9yKGkgPSAyOyBp
IDw9IG1heDsgaSsrKSByICs9IGZ1bmMyKGksIHgpOw0KCXJldHVybiByOw0KfQ0KDQpkb3VibGUg
ZnVuYzQoZG91YmxlIHgsIGludCBtYXgpDQp7DQoJaW50IGk7DQoJZG91YmxlIHIgPSB4Ow0KCWRv
dWJsZSB5ID0geDsNCglmb3IoaSA9IDE7IGkgPCBtYXg7IGkrKyl7DQoJCXkgKj0geCAqIHggLyAo
MiAqIGkpIC8gKDIgKiBpICsgMSk7DQoJCXIgKz0gKGkgJiAxID8gLTEgOiAxKSAqIHk7DQoJCS8v
IHByaW50ZigiJTAzZCwgJTIwLjE4ZiwgJTIwLjE4ZlxuIiwgaSArIDEsIHksIHIpOw0KCX0NCgly
ZXR1cm4gcjsNCn0NCg0KaW50IG1haW4oKQ0Kew0KCWludCBpLCBqOw0KCXN0cnVjdCBwaXRhYmxl
IHB0W10gPSB7DQoJCVBJIC8gNiwgIhskQiZQGyhCLzYiLA0KCQlQSSAvIDQsICIbJEImUBsoQi80
IiwNCgkJUEkgLyAzLCAiGyRCJlAbKEIvMyIsDQoJCVBJIC8gMiwgIhskQiZQGyhCLzIiLA0KCQlQ
SSAqIDIgLyAzLCAiMhskQiZQGyhCLzMiLA0KCQlQSSwgIhskQiZQGyhCIg0KCX07DQoJZm9yKGkg
PSAxOyBpIDw9IDIwOyBpKyspew0KCQlwcmludGYoIiUwM2RcbiIsIGkpOw0KCQlmb3IoaiA9IDA7
IGogPCA2OyBqKyspew0KCQkJcHJpbnRmKCJzaW4oJXMgPSAlMjAuMThmKSA9ICUyMC4xOGYsICUy
MC4xOGZcbiIsDQoJCQkJcHRbal0ucywgcHRbal0ueCwgZnVuYzMocHRbal0ueCwgaSksIGZ1bmM0
KHB0W2pdLngsIGkpKTsNCgkJfQ0KCX0NCglyZXR1cm4gMDsNCn0NCg==
1000デフォルトの名無しさん
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。