宿題、手伝おっか?
■ このスレッドは過去ログ倉庫に格納されています
0001えれな
NGNG宿題、判らないところとかがあったら、聞いてね。
怜さんの前スレはこちら、
http://pc.2ch.net/test/read.cgi/tech/1007902384/l50
キーワードがわかってるなら、googleで探してね。
http://www.google.co.jp/
0153麻衣派 ◆COx/Mai.
NGNGなにをしたいのかよくわからないけど…
unsigned char n=0xff;
じゃ、ダメなの?
>>151
目をつむっているときは、、、
どうしよう…。
0154デフォルトの名無しさん
NGNG無駄とかなんかそんなことより
> strcat(head,num);
これはいいのか?
0155生徒B
NGNGすいません。ここではchar num[]="ff"; と固定して書いたんですけど、
ホンとはこのnumにいろんな値が入ってくるのですよ。
・・・で、strtoulで16進と認識してもらうために"0x"つけたのですが・・・
やばいっすかねぇ・・・。
0156デフォルトの名無しさん
NGNG0157えれな
NGNGisxdigitと組み合わせて、ループまわした方が簡単そう。
0158麻衣派 ◆COx/Mai.
NGNGあー、文字列で表された数字ね。
でもそれってstrcat()していいんですか。
それと、strtoulの第3引数はintです。
0159デフォルトの名無しさん
NGNG書き込んでしまうね。
たぶん >>152 の期待する添削結果は
char num[] = "ff";
unsigned char numuc = strtoul(num, NULL, 16);
だと思うな。
0160生徒B
NGNG最終的には159さんの方法でやらせていただきました。
>>154
ご指摘の通りです。うっかりしてました。
>>156
sscanf(num,"%x",numuc);でうまくできそうですね。ありがとうございます。
>>157
undumpっていうんですか。・・・・知りませんでした。鬱
0161デフォルトの名無しさん
NGNG何から始めればいいのかわかりません。
まず最初に何をすればいいのかを誰か教えてください。
0162デフォルトの名無しさん
NGNG「何の」検索サイトを作れと言われたのか。
それがわからないと誰もアドバイスしようもない。
また、それは「何の」授業の中でいわれたのか。
C の授業中に言われたのと perl の授業中に言われたのじゃ全然違う。
0163SI
NGNG屑
0164デフォルトの名無しさん
NGNG自称SIの実態は屑セールスマンな人ですか?
情死す板にでもお帰りやがりください。
0165デフォルトの名無しさん
NGNGあんたもナー
0166743
NGNG#include<math.h>
int n=10;
int func(int n){
if(n==1) return 1;
else return(n*func(n-1));
}
double func1(double x){
int i,a;
double z=1.0;
for(i=1;i<=n;i++){
a=func(i);
z+=1.0/a*pow(x,i);}
return z;
}
main(){
double x,z;
printf("please input x:");
scanf("%lf",&x);
z=func1(x);
printf("f(x)=%lf",z);
}
はeのx乗をもとめるものだがnがでかくなるとなぜオーバーフローするのか?
おしえてちょ。
0167デフォルトの名無しさん
NGNG0168743
NGNG0169
NGNG13桁だYO
0170デフォルトの名無しさん
NGNG「メモリクリーナとシステムリソースの表示・アラーム機能etc」などの
機能をもったソフトはどのようなジャンルに分けられるのでしょうか?
具体的なジャンル名などありましたら教えてください。
0171デフォルトの名無しさん
NGNG0172105
NGNG本当にありがとうございました。
もちろん参考資料として2ちゃんねるプログラム板を挙げておきます。
********************************************
#include <stdio.h>
#include <stdlib.h>
int main(void){
FILE *fp;
int k,a,n;
int da[100];
double hi[100];
double lo[100];
int i, j, max, min;
if ((fp = fopen("temp.dat","r"))==NULL) {
printf("file open error!!\n");
exit(1);
}
i = 0;
a=fscanf(fp, "%d %lf %lf", &da[i], &hi[i], &lo[i]);
while ( a != EOF ) {
++i;
a=fscanf(fp, "%d %lf %lf", &da[i], &hi[i], &lo[i]);
}
max = 0;
for (k = 1; k < i; k++) {
if (hi[max] < hi[k]) {
max = k;
}
}
printf("最高気温, 日付=%g\n, %d\n", hi[max], max+1);
min = 0;
for (j = 1; j < i; j++) {
if (lo[min] > lo[j]) {
min = j;
}
}
printf("最低気温, 日付=%g\n, %d\n", lo[min], min+1);
fclose(fp);
}
********************************************************
最高気温, 日付=15
, 1
最低気温, 日付=1
, 5
0173デフォルトの名無しさん
NGNGそれから、最低気温と最高気温の表示、まちがってるじょ。
da[i]は、どこへいっちゃったんだ?
0174146
NGNG目とか眉とか口とかそれ以外(鼻の穴とか)を
黒い部分(暗い部分)としては認識できるんですけど、
それらをどうやったら眉とかに分類してくれるんでしょうか?
0175デフォルトの名無しさん
NGNGリファクタリングしてみようか
・同じことは2度書くな
・初期化、条件判定、カウントがあるならforの方がすっきり書ける
> i = 0;
> a=fscanf(fp, "%d %lf %lf", &da[i], &hi[i], &lo[i]);
> while ( a != EOF ) {
> ++i;
> a=fscanf(fp, "%d %lf %lf", &da[i], &hi[i], &lo[i]);
> }
for(i = 0; fscanf(fp, "%d %lf %lf", &da[i], &hi[i], &lo[i]) != EOF; i++)
;
また、これでaの変数はいらなくなる。
0176デフォルトの名無しさん
NGNG> だからなんで、一旦配列にしまうんだろう。
あとで平均気温とかの仕様追加が発生したらとか考えると
微妙な問題だな...
0177親切な人
NGNGヤフーオークションで、幻の人気商品、発見!!!
今は無き「コピーガードキャンセラー」↓
http://page5.auctions.yahoo.co.jp/jp/auction/e5843828
ヤフーオークション内では、現在、このオークション
の話題で、持ちきりです。
0178105
NGNG173さんいう配列にしてしまうというご指摘は、
175さんのご指摘と同じですか?
あとda[]が・・。
提出したのに・・(泣)
また送ろう、しょうがない。
↓なら完成ですよね。
**************
#include <stdio.h>
#include <stdlib.h>
int main(void){
FILE *fp;
int k,a,n;
int da[100];
double hi[100];
double lo[100];
int i, j, max, min;
if ((fp = fopen("temp.dat","r"))==NULL) {
printf("file open error!!\n");
exit(1);
}
i = 0;
a=fscanf(fp, "%d %lf %lf", &da[i], &hi[i], &lo[i]);
while ( a != EOF ) {
++i;
a=fscanf(fp, "%d %lf %lf", &da[i], &hi[i], &lo[i]);
}
max = 0;
for (k = 1; k < i; k++) {
if (hi[max] < hi[k]) {
max = k;
}
}
printf("最高気温, 日付=%g\n, %g\n", hi[max], da[max]);
min = 0;
for (j = 1; j < i; j++) {
if (lo[min] > lo[j]) {
min = j;
}
}
printf("最低気温, 日付=%g\n, %g\n", lo[min], da[min]);
fclose(fp);
}
0179デフォルトの名無しさん
NGNG黒い部分同士の位置関係(他の部分との角度や距離)を、「典型的と思われる」データと比較するってのは、ど?
0180デフォルトの名無しさん
NGNGそんなこと言い出したらきりないよ。
そのうち、もうちょっとましなコードが書けるようになるよ。
(経験つめばね。)
0181105
NGNGそうですね。
がんばります。
長らくお世話になりました。
みなさんお元気で。
0182デフォルトの名無しさん
NGNG教えてください!C++でお願いします!
0183デフォルトの名無しさん
NGNG意味不明。
四角形が二つ与えられて、それが重なっているかいないかを判定したいのか?
それとも四角形を動かして、重ならないようにしたいのか?
そのときに何か条件はないん?
あと、自分でどれくらいまで考えたかも書くように。
0184デフォルトの名無しさん
NGNGどんな感じと問われても…
割とシンプルだよね。
洗練されてるかどうかは、設計によるんじゃないかな。
そんな感じ。
0185デフォルトの名無しさん
NGNGprintf("△▽\n");
とか?
0186デフォルトの名無しさん
NGNG先生!!ちょっと俺の手に負えないので質問させてください
→Z
___________
| |
> |
>R |
> |
| =C
) |
)L |
) |
_________|_____|
上の回路でR=10KΩ、L=20mH、f=10KHzとしたときに
C=10pfから500pfまで5pf感覚で変化させたときの入力インピータンスZと
Zが最大になるときのCの値をプログラムで求めなさいと言う問題なのですが…
できますか?
0187デフォルトの名無しさん
NGNGそれだ!
って、そりゃ三角形だよ!! ヽ(`Д´)ノ
0188デフォルトの名無しさん
NGNG申し訳無いです、4角形を動かしてです。
ゲームとかで使うような押し合い判定って言うのかな?
そんなかんじです。
自分では、二つが重なっているかいないかを判定する所まではできたのですが・・
0189デフォルトの名無しさん
NGNG工業高校?電子基礎っぽい。
0190デフォルトの名無しさん
NGNG半年前くらいに似た奴をやったけど
もう、データ削除してしまった…
スマソ
0191デフォルトの名無しさん
NGNGはい、そうです
0192デフォルトの名無しさん
NGNG? 公式知ってんなら簡単だろ?
オレ、公式忘れちゃったもんねぇ〜。
0193191
NGNG落ちこぼれなんで高校生みたいなもんです
0194デフォルトの名無しさん
NGNG同じだね。学年は?
0195194
NGNG0196デフォルトの名無しさん
NGNGつまり、四角形を押して動かすってことか・・。
どのくらい物理的に正確にやる必要があるの?
0197デフォルトの名無しさん
NGNGRのインピータンスは?
Lのインピータンスは?
このとき、RLのインピータンスは?
C=xとしたときの、Cのインピータンスは?
このときの、入力インピータンスは?
順に考えてみてください。
0198186
NGNG例みたいなものもないし、先生は絶対教えてくれませんから
0199デフォルトの名無しさん
NGNGint zmax = 0 ;
int ans = 0 ;
for (int c = 10; c <= 500; c += 5) {
int z = 公式(c);
if (zmax < z) {
zmax = z;
ans = c;
}
}
intでいいのかfloatやdoubleが必要なのかは氏らね。
画面に出すともファイルに吐くとも書いてないんで出力の事も氏らね。
0200デフォルトの名無しさん
NGNGお〜っと、重症ですねぇ〜。
あなた一度でもプログラム組んだことあるの?
0201デフォルトの名無しさん
NGNG0202デフォルトの名無しさん
NGNGこの回路の入力インピータンスをあらわす式はわかるってこと?
じゃあ、まずいままでの最大のZを与える変数を用意しておく。
Zmaxと名前付けとくとする。で、これに十分小さい値をいれとく。
で、for文で、cを10から500まで5ずつ変化させて、そのときの入力
インピータンスZを計算させる。
このとき、ZがZmaxより大きければ、Zmaxを更新して、このときのCの値を
記憶しておく。
で、最後に記憶していたCを表示させればいい。
。。とここまで書いたら199氏がプログラム例示してくれてますね。
0204デフォルトの名無しさん
NGNG0205デフォルトの名無しさん
NGNGだったら、一番簡単なのは、Aを動かしてBと重なったときに、
BをAが動いたのと同じ方向に動かすとして、どれくらい動かせば
重ならないか計算すればいい。
0206デフォルトの名無しさん
NGNGと言うことは、一次元でもいいのかな?
この手のものは、位置情報を保存するための
仮想マッピングテーブルを用意するといいのでは?
四角はどうやって表現するつもり?
0207えれな
NGNGx軸とy軸で分けて考えるといいよ。
+-------+
+--------+
っていうのがあったら、重なってる部分だけ、どっちかの
四角形をずらしちゃう(半々でも、かたっぽを固定してもいいかな)。
(四角形が速度とかもってたら、その反対方向に、
速度に比例するように分配するとか。その場合は、
衝突で速度を交換したりするひつようもあるんじゃないかな)
0208デフォルトの名無しさん
NGNG0209186
NGNG直列回路の場合の入力インピータンスは求められるようになりました
後は上記の図の場合どうすればいいか分かれば何とかなりそうです
>>199さん>>202さん
ありがとうございます
並列回路の場合のインピータンスの求め方が分かる方がいらっしゃいましたら
ぜひご教授ください
0210デフォルトの名無しさん
NGNG>>197を見てどこまでわかるか答えてみなされ。
まあ、AとBが並列だったら1 / (1 / A + 1 / B)
0211デフォルトの名無しさん
NGNG複素演算の話でねーの?
0212デフォルトの名無しさん
NGNGj^2=(-i)^2=-1
a//b=1/(1/a+1/b)
ω=2πf
0213デフォルトの名無しさん
NGNGこれからじっくり考えて理解しようと思います。
どうもでした!
0214デフォルトの名無しさん
NGNGスレ作成者がsageでいいの?
っていっても"sage"でなしに" sage"だから関係ないのか。
0215214
NGNG2chのシステムなら当然か。
0216デフォルトの名無しさん
NGNG56789
幅5で上の様に並べる場合、x=n%幅 y=n/幅で済みますが、
0259
148C
37BE
6ADF
の様に斜めに並べる場合のスマートな式が何も思い浮かびません。
どなたか知恵を貸しては頂けませんでしょうか。
0217デフォルトの名無しさん
NGNG0218えれな
NGNGこんなのかな?えれな、泥臭い方法しか思いつかないよ。
#include <stdio.h>
#define X 4
#define Y 5
int main()
{
int x, y, yy,i=0;
int p[Y][X];
for( y=0; y<Y; y++)
for( x = 0, yy=y; yy>0; x++,yy-- )
p[yy][x] = i++;
i=X*Y-1;
for( y=Y-1; y>0; y--)
for( x=X-1, yy=y; yy<Y; x--,yy++)
p[yy][x] = i--;
for( y=0; y< Y ; y++ ){
for( x=0; x< X; x ++ )
printf("%2x ",p[y][x] );
printf("\n");
}
}
0219えれな
NGNGしかもXとYが離れすぎると破綻しちゃうし
こんどこそ、大丈夫かな?
#include <stdio.h>
#define X 7
#define Y 5
int main()
{
int x, y, yy;
int p[Y][X];
int i = 0;
for( y=0; y<Y+X; y++)
for( x = 0, yy=y; x<X && yy>=0; x++,yy-- )
if( yy < Y && x < X )
p[yy][x] = i++;
}
for( y=0; y< Y ; y++ )
{
for( x=0; x< X; x ++ )
printf("%2d ",p[y][x] );
printf("\n");
}
}
0220デフォルトの名無しさん
NGNG一番左の数は、n行目の時(n-1行目の左端+n)だ。
次の行のあたまの数未満の間は、(x(n-1)+1, y(n-1)-1)を繰り返せばいい。
半分まで配置したら、こんどは>>216の例でいうと6-9の対角線でひっくり返した座標でFから順に配置だ。
0221216
NGNG幅X・高さY時、n のx・y位置が欲しいのですが、
正直、最悪、その用な手法でiが一致したらbreakしようかと思っていました^;
なんとなく図にして眺めてみると、スマートな式で簡単に
求められる様な気がしてならなく、すっきりしません(;´Д`)
0222220
NGNG0224220
NGNGま、わかんなかったら聞いてね、もっと丁寧に説明するから。
0225216
NGNG眠気が吐き気に変わってきたので起きてからもう一度考えてみます。。
記憶の断片
if (n<W*H/2)
x=n-左端
y-=x
左端の数字とyが抜けてるなぁ(;´Д`)
0226えれな
NGNGそれって、幅が高さに比べ2以上多いときとか、
真ん中の方が余ったりしないかな?
>幅X・高さY時、n のx・y位置が欲しいのですが、
それを最初にかいてほしかったなー。
安直に、逆変換テーブルをつくるとかもあるよね。
0227デフォルトの名無しさん
NGNG>>216が理解すれば、そういうのは対応できると思われ。
nの最大数によって好きな方使えばええよ。
0228220
NGNGvoid left(int n, int* pi, int* pt){
int i=1, t=0;
while(1){if(t+i>n){*pt=n-t;*pi=i-*pt-1;break;}
t+=i++;}return;}
void position(int n, int xl, int yl, int* px, int* py){
int r, cn, m ;
if(xl<=yl) cn=xl*(xl+1);else cn=yl*(yl+1);cn/=2;
if(cn>n){left(n, &r, &m);*px=m;*py=r ;}
else if(xl*yl-cn<=n){left(xl*yl-n-1, &r, &m);*px=xl-m-1;*py=yl-r-1;}
else{m=n-cn;
if(xl<yl){*px=m%xl;*py=xl+m/xl-(m%xl);}
else{*px=m/yl+1+m%yl;*py=yl-m%yl-1;}}
return;}
#include <stdio.h>
#define X 8
#define Y 9
main(){int i, x, y ;int a[X][Y];
for(i=0;i<X*Y;i++){position(i, X, Y, &x, &y) ;a[x][y]=i;}
for(y=0;y<Y;y++){for(x=0;x<X;x++)printf("%3d", a[x][y]);printf("\n") ;}}
0229(゚∀゚)
NGNG0230
NGNG#include<stdlib.h>
#include<math.h>
float func1(int *a){
int sum=0,i;
float ave;
a=a+1;
for(i=1;i<=100;i++){
sum=sum+*a;
a++;
}
ave=(float)sum/100;
return ave;
}main(){
int a[110],i;
float ave,std;
for(i=1;i<=100;i++){
a[i]=rand()%100+1;
}
for(i=1;i<=100;i++){
printf("%3d",a[i]);
if(i%10==0) printf("\n");
}
ave=func1(a);
printf("ave=%f",ave);
}
4行目をvoid func1(int *a){
としてはいけないのはなぜですか?
そもそもvoidってなんですか?
0231デフォルトの名無しさん
NGNG関数にはぁー、型とぉー、返り値があってぇー、
返り値がいらないときはぁー、void 型にするのぉー。
0232
NGNG0233デフォルトの名無しさん
NGNG使わない、と言うかぁー、使えない。
void は型がないと言う意味だからぁー、
返り値の大きさ(使用されるメモリサイズ)がぁー、
わからないんですぅー。
0234デフォルトの名無しさん
NGNG0235デフォルトの名無しさん
NGNG0236デフォルトの名無しさん
NGNGそもそも関数ってわかってる?
0237えれなたん(;´Д`)ハァハァ・・・
NGNG勘弁してくれよ。
0239734
NGNGvoid func(float a[10][10],int n){
int i,j,k;
float c[10][10];
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
c[i][j]=0;
for(k=1;k<=n;k++){
c[i][j]+=a[i][k]*a[k][j];
}
}
}
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
a[i][j]=c[i][j];
}
}
}
main(){
float a[10][10];
int i,j,n;
printf("please input n:");
scanf("%d",&n);
printf("please input a\n");
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
printf("a[%d][%d]=",i,j);
scanf("%f",&a[i][j]);
}
}
printf("\nA=\n");
for(i=1;i<=n;i++){
printf("|");
for(j=1;j<=n;j++){
printf("%4.1f",a[i][j]);
}
printf("|");
printf("\n");
}
func(a,n);
printf("\nA^n=\n");
for(i=1;i<=n;i++){
printf("|");
for(j=1;j<=n;j++){
printf("%4.1f",a[i][j]);
}
printf("|");
printf("\n");
}
}
これだとAの2乗が求まりますが、n乗にするにはどうすればいいですか?
0240デフォルトの名無しさん
NGNG0241デフォルトの名無しさん
NGNGc=a*b となる関数を作って あとはバイナリ分解で計算するのが定石
0242デフォルトの名無しさん
NGNGAのn乗求めるのにこんな長いコードが必要とは思えないが。
解読する気にもならん。
0243えれな
NGNGfunc(a,n);
カナ?
0244デフォルトの名無しさん
NGNGfor(i=1;i<N;i++) func(a,b,n);
くらいにしなきゃだめでしょう。
2乗じゃなくて掛け算する関数を作ればいい。
0245デフォルトの名無しさん
NGNG計算量の問題があるから、
Aのn/2乗を計算してから、Aのn乗を計算するような感じで再帰的にやりたいね。
0246デフォルトの名無しさん
NGNGtail recursion にしないとね。
0247デフォルトの名無しさん
NGNG#えれなちゃんに答えてもらうと嬉しいな(ワラ
0248デフォルトの名無しさん
NGNG#if
プリプロセッサ用のif
0249デフォルトの名無しさん
NGNG>>>えれなたん>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>氷川菜織
0250デフォルトの名無しさん
NGNG0251デフォルトの名無しさん
NGNG0252デフォルトの名無しさん
NGNGえろげネタはえろげ板でやって欲しい風味。
■ このスレッドは過去ログ倉庫に格納されています