宿題手伝いますYO!!
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG・マルチポストは厳禁です。
・キーワードが分かっているなら、http://www.google.co.jp を活用すること。
・質問内容がちゃんと日本語になっていること。
・言語名を入れること。
・自分の力で頑張ってみたことを伝えられる人。
・どこまでわかったのかを書くこと。
以上です。
前スレ http://pc3.2ch.net/test/read.cgi/tech/1029422194/
新
↑
│ http://pc3.2ch.net/test/read.cgi/tech/1027756023/
│ http://pc3.2ch.net/test/read.cgi/tech/1026138039/
│ http://pc.2ch.net/test/read.cgi/tech/1024592344/
│ http://pc.2ch.net/test/read.cgi/tech/1007902384/
│ http://pc.2ch.net/tech/kako/1003/10038/1003838158.html
│ http://pc.2ch.net/tech/kako/982/982853418.html
│ http://piza.2ch.net/tech/kako/972/972032579.html
↓
古
長いソースを張れるBBS
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433
0238デフォルトの名無しさん
NGNGうーん キャラクタベースの掲示板で話が上手く通じるかどうか・・・
とりあえず書いてみたら?
0239デフォルトの名無しさん
NGNGエクセルでつくったデータをVBに取り入れたいのですがかのうですか?
例えばListBoxにエクセルデータを入れる時はどうやればよいのでしょう?
エクセルのデータをテキストファイルに変えないとできませんか?
0240デフォルトの名無しさん
NGNGファイル?それともアプリ?
0241デフォルトの名無しさん
NGNG0242デフォルトの名無しさん
NGNG0243デフォルトの名無しさん
NGNGエクセルのデータが読み込めれば進むんですが・・・
全く???ばかりで・・・
0244デフォルトの名無しさん
NGNGVisual Studioを立ち上げてイルカに
Excel ワークシートから配列を初期化
と聞いてください。サンプルプログラムもあるよ
0245lapa
NGNGサンプルプログラム見せてもらえますか?
0246デフォルトの名無しさん
NGNG0247244
NGNGMSDNのキーワードに
Excel ワークシートから配列を初期化
と入れてくらさい
0248244
NGNG>239の人でつか?>247のヘルプにサンプルが載ってます
0249デフォルトの名無しさん
NGNG0250デフォルトの名無しさん
NGNG0251デフォルトの名無しさん
NGNGとりあえず書く前に寝ちゃいました。
もうだめだぁ
0252デフォルトの名無しさん
NGNGなんか超がつくほど基本的なことなんですけど、
コンテキストダイアグラムを書くとき、外部からプロセスに
流れるデータがめっさ多いんです。書き込めるか?ってくらい。
こういうのは外部ごとにデータの矢印をまとめて(一本とかにして)
書いてもいいんですか?
あと、データの矢印が多いせいでちょっとレベル1書くときに
データの矢印書こうとすると、重なっちゃう(交差しちゃう)んですが
これって無しですか?
0253デフォルトの名無しさん
NGNG本当板違いなのかなぁ
0254デフォルトの名無しさん
NGNG0255デフォルトの名無しさん
NGNG宿題で計算機プログラムを作れというのがでました。
でも、平方根を求めるとこで詰まってしまいました、(情けないです、)
その部分だけ簡単に書くとこうなります、、
#include <stdio.h>
#include <math.h>
main()
{
double s;
printf("input a positive number:");
scanf("%lf", &s);
double sqrt(double s);
printf("answer is %lf\n", s);
}
こんな感じで書いたんですがコンパイルできなくて意味不明状態です、
どなたか助けてください。おねがいします。
0256デフォルトの名無しさん
NGNGdouble sqrt(double s);
↓
s=sqrt(s);
0257デフォルトの名無しさん
NGNG#include <math.h>
main()
{
double s,rs;
printf("input a positive number:");
scanf("%lf", &s);
rs=sqrt(s);
printf("answer is %lf\n", rs);
}
予約語について考えるべし。
0258デフォルトの名無しさん
NGNGデータの種類が同じであれば、フローを分割してもいいのでは?
データの種類が異なれば、もちろんダメ
フローの統合もダメ(統合するとデータが変わる)
要するに、処理なしでデータフローに乗ってるデータが変わることはない
という前提を考えれば、データの矢印をまとめることは不可と思われ
詳しくないから間違ってたらスマソ
0259デフォルトの名無しさん
NGNGありがとうございました!
助かりました。
0260bloom
NGNGhttp://www.agemasukudasai.com/bloom/
0261デフォルトの名無しさん
NGNG0262デフォルトの名無しさん
NGNG1列目の1~5行までリストボックスに
取り込む場合はどうすればよいのでしょう?
f$ = "データ.xls"
Set LINK = GetObject(f$)
For i = 4 To 59
Name (i) As LINK.Worksheets.Application.Cells(i, 1)
List1.AddItem Name(i)
Next i
これだとデバックしちゃいます。
助けてください。
0263デフォルトの名無しさん
NGNGPrivate Sub Form_Load()
Set excelBook = GetObject("C:\Book1.xls")
Dim i As Integer
Dim buf As String
For i = 1 To 5
buf = excelBook.Worksheets(1).Range("A" & i).Value
List1.AddItem (buf)
Next i
End Sub
0264デフォルトの名無しさん
NGNG> これだとデバックしちゃいます。
> 助けてください。
デバッグできるならええやん。
0265デフォルトの名無しさん
NGNGなんかイイな。俺もこれから使おっかな。
0266じゃず ◆jazz118WuU
NGNG・室内温度To1が0〜40℃(10℃刻み)
・その室内にある貯蔵庫の温度がTi℃
・貯蔵庫の中にある氷の面積Sが0.5〜2.0�u(0.5刻み)
・氷の温度が貯蔵庫内の空気に伝わる熱伝達Alphaが10〜510W/�u・K(100刻み)
・貯蔵庫内への熱伝導量Q1=KA(To1-Ti)
・K(貯蔵庫壁の熱貫流量)=0.377、A(伝熱面積)=16.36。
上記の条件の時にTiが何℃になるかをもとめるプログラムを教えて下さい!
結果はなるべくエクセルで出力するようにお願いします。
例:To1が10℃、Alphaが110W/�uK、Sが1.0�uの時、Tiは5℃
上のような感じで80個(条件が80通りの組み合わせになるため)の答えが出るようにお願いします。
0267じゃず ◆jazz118WuU
NGNGOption Explicit
Private Sub Form_Load()
Dim K As Single, A As Single, Qe As Single, Q1 As Single
Dim To1 As Single, Ti As Single, Alpha As Single, S As Single
K = 0.377
A = 16.36
For To1 = 0 To 40 Step 10
For Alpha = 10 To 510 Step 100
For S = 0.5 To 2# Step 0.5
For Ti = 0 To 40 Step 0.1
Qe = Alpha * (Ti - 1#) * S
Q1 = K * A * (To1 - Ti)
If Qe = Q1 Then Print Ti, To1, Alpha, S
Next Ti
Next S
Next Alpha
Next To1
End Sub
0268じゃず ◆jazz118WuU
NGNGちなみに、Qeは熱交換量なのですが理論的にQ1と同じになります。
0269超初心者
NGNGョンでコピー元コピー先をファイルダイアログボックスで表示させ指定し、スタ
ティックテキストにファイルまでのパスを表示するというものです。そして、ボ
タンがありクリックすると、ファイルのコピーを開始します。但し、以下の場合
はメッセージボックスを表示します。
1.コピー元ファイル名が指定されていない。
2.指定のコピー元ファイルが存在しない。
3.コピー先ファイル名が指定されていない。
4.コピー先ファイルが既に存在する。
4の場合は、問い合わせメッセージの表示とし
ユーザが上書きOKを選択した場合のみ、
コピー実行されるようにする。
です。一応パスがでる所まで頑張りましたが保存先の所で上書き警告がでます。
よろしくお願いします。
ソースはこちらです。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=43
0270デフォルトの名無しさん
NGNG>よろしくお願いします
これは、上書き警告を出ないようにしたい、ということか?
なら。
myDLG.m_ofn.dwFlags = OFN_HIDEREADONLY ;
0272デフォルトの名無しさん
NGNGナップサック問題についてわからないので質問です。
まず、最高価格を求めるプログラムを書きます。
#include <stdio.h>
#define MAX 8
int main(void){
int weight[]={4,5,2,1,6};
int price[]={450,570,225,110,670};
int total[MAX+1],item[MAX+1];
int i,j,k;
int newtotal;
for(i=0;i<=MAX;i++)
total[i]=0;
for(i=0;i<=4;i++){
for(j=weight[i];j<=MAX;j++){
k=j-weight[i];
newtotal=total[k]+price[i];
if(newtotal>total[j]){
total[j]=newtotal;
item[j]=i;
}
}
}
0273272
NGNGweight[1]とprice[1]は同じ商品のデータと考えます。
すでに、最高価格が求まっていますが、この後どれを選んだか表示するプログラムの穴埋めが課題です。
?の場所を埋めるのですが、どうやら配列の中に配列を入れるらしいです。
よくわからないので教えてください。
i=MAX;
while(i>=1){
printf("%d\n",price[?]);// ?のとこを埋めるのです。
i=i-weight[?]];//ここもそうです。
}
printf("%d",total[MAX]);
return 0;
}
0274272
NGNGprintf("%d\n",price[item[i]]);
i=i-weight[item[i]];
で、できました。
でも感覚的にやって、まだよく理解できていないので、誰か内容を教えてくれると助かります。
0275名無しさん@XEmacs
NGNGよく考えずにレス。
0276デフォルトの名無しさん
NGNG0277デフォルトの名無しさん
NGNG多分あってると思われ。
動的計画法を使ってる。
ただ、
> for(i=0;i<=4;i++){
は、教える側の人が書くべきものじゃない。
> for(i=0;i<5;i++){
だな。
>273
配列totalには、最終的には
その重さまでに可能な最高価格が入るようになってる。
例えばtotal[5]には、重さ5までで可能な最高価格が入ってる。
item[5]には、total[5]になるように、最後に入れたものの番号が入ってる。
(これは、重さの値がintだからできるけど、小数点数だとこのアルゴリズムは無理)
このことを踏まえて自分でコードをたどっていけば、
そのうち理解できると思うぞ。
0278デフォルトの名無しさん
NGNGなるほど、そういうことか。分かったよ、あんがと
しかし,このルーチンだと
int weight[]={1};
int price[]={100};
...
for(i=0;i<1;i++){
...
のときはどうなるんだ?
for(j=weight[i];j<=MAX;j++){
のループが1から8まで回って、全てのtotalが100に、itemが0になると
思うんだけど
newtotal+=total[k]+price[i];
じゃないのかな?よく分からない
0279デフォルトの名無しさん
NGNGああ、アイテムが一回使用ならいいのか
でも、それだと全ての組み合わせについて確かめた方が効率よかない?
全ての重さについて同時に求めるってとこに意味があるんだろうか
動的計画法がどんなもんか知らんので、このへんでやめよう
つーか、これってCの宿題ってより数学の宿題だな
272はプログラムより元のアルゴリズムを理解すべきだと思われ
0280デフォルトの名無しさん
NGNG小数点でも使えるように考えてみたYO!
totalをtotal[0]=0.0(static),total[1]=dw~2dw,...とする
ただしweight[]の最小値>dw
float weight[];
float total[MAX+1],newtotal;
k=0;
for(j=(int)(weight[i]/dw);j<=MAX;j++,k++){
newtotal=total[k]+price[i];
if(newtotal>total[j]){
total[j]=newtotal;
item[j]=i;
}
これで上手くいかないかなー.俺も暇人だ…
0281デフォルトの名無しさん
NGNGどうもうまくいきません。
#include<stdio.h>
#include<fcntl.h>
#define SIZE 512
#define MAX 255
int main()
{
double zr,zi,zrp,zip /*zr=現在計算中の複素数zの実数部 zi=虚数部*/
/*zrp=直前に計算したzの実数部 zi=虚数部*/
int x,y,i;
int fd;
unsigned char bitmap[SIZE][SIZE];
0282デフォルトの名無しさん
NGNGfor(y=0;y=SIZE;y++)
{
zrp=zip=0; /*初期値0*/
for(i=1;i=MAX;i++)
{
zr=zrp*zrp-zip*zip+cr; /*漸化式による実数部計算処理*/
zi=2*zrp*zip+ci; /*虚数部の計算処理*/
if((zr*zr+zi*zi)>4) /*発散判定*/
break;
zrp=zr;
zip=zi;
}
bitmap[x][y]=(unsigened char)(i);
}
fd=create("mandel.bmp",0644);
write(fd,bitmap,SIZE*SIZE);
close(fd);
return 0;
}
実数部の変域は-2.4≦cr≦0.8
虚数部の変域は-1.2≦ci≦1.2にしたいです。
とりあえずcrとciをどうするかと、計算後どうやって配列するかがわかりません。
御願いします。
0283デフォルトの名無しさん
NGNG「どんな分野にオブジェクト指向は向いているか?」考えて来い、あるいは調べて来いってのがでました。
ゲーム作成に向いているという意見など出たのですが、何かないですかね・・・
ってか、やってこないと単位がまずい・・・
自分も調べまくってるんで、もし余裕があったら教えてください。
子ウインドウを不特定数 create したり free したりせにゃならん。
ゲームもいいよね。とくにシューティングとか。
0285デフォルトの名無しさん
NGNG0286デフォルトの名無しさん
NGNG最大値選択法により、大きな数から配列に格納していく以下のソートプログラムを
1回1回の交換ではなく、内側のループで最大値の場所だけを覚えておいて
ループの終了時点で1回だけ交換するように変更したいのですが、どのように
変更してやればいいのでしょう?
#include <stdio.h>
#define MAX_SIZE 100
void simple_sort(int table [], int table_size);
int main(void)
{
int array[MAX_SIZE] , size, i;
for(size=0; size<MAX_SIZE; size++){
printf("%d番目の数は?", size+1);
scanf("%d", &array[size]);
if (array [size]<0){
break;
}
}
0287デフォルトの名無しさん
NGNGfor(i=0; i<size; i++){
printf("%d\n", array[i]);
}
}
void simple_sort(int table [], int table_size)
{
int i, j, work;
for(i=0; i<table_size-1; i++){
for(j=i+1 ; j<table_size; j++){
if(table [i] <table [j]){
work=table [i] ;
table [i]=table [j] ;
table [j]=work;
}
}
}
}
0288デフォルトの名無しさん
NGNGint i, j,k, work;
for(i=0; i<table_size-1; i++){
for(j=i+1 ; j<table_size; j++){
if(table [i] <table [j])
work=j ;
else work=i;
}
k=table [i] ;
table [i]=table[work];
table[work]=k;
に変えてみたんですが上手くいきません。
0289デフォルトの名無しさん
NGNGint i, j,k, work;
for(i=0; i<table_size-1; i++){
for(j=i+1 ; j<table_size; j++){
if(table [i] <table [j])
work=j ;
else
work=i;
}
k=table [work] ;
table [work]=table[i];
table[i]=k;
}
0290デフォルトの名無しさん
NGNG間違い!!
0291デフォルトの名無しさん
NGNGこれは選択ソートじゃなくてバブルソート。
work = i;
for(j = i + 1; j < table_size; j++) {
if (table[i] <table[j])
work = j;
}
if (work != i) {
k=table [i] ;
table [i]=table[work];
table[work]=k;
}
0292デフォルトの名無しさん
NGNGBorland C++ Compiler 5.5.1でパラレルポート制御する
プログラムを組めるものなのでしょうか。
とりあえず、アセンブラは使いたくないなと思ってます。
よろしくお願いします。
0293デフォルトの名無しさん
NGNGそもそも、あなたはオブジェクト指向そのものの
メリットをきちんと理解しているだろうか?
そこがわかれば、適用可能な分野がある程度はわかるはず。
0294デフォルトの名無しさん
NGNGご返答有難うございます。早速実行してみましたが、
この場合、1,2,3,4,5・・・などのようにインクリメントやデクリメントする数値を入力した場合には
上手くいくのですが、真ん中に最大値が来た場合などは上手くいきませんでした。
それで、改めて自分で以下の通りに直してみたのですが、やはりダメでした。
再びで申し訳ないんですが、間違いなどございましたら教えていただければと思います。お願いします。
work = i;
for(j = i + 1; j < table_size; j++) {
if (table[i] <table[j])
i = j;
}
k=table[work];
table[work]=table[i];
table [i]=k;
0295
NGNG0296デフォルトの名無しさん
NGNGvoid simple_sort(int table[], int table_size)
{
for(int i = 0; i < table_size-1; i++)
{
int work = i;
for(int j = i+1; j < table_size; j++)
{
if(table[work] < table[j])
work = j;
}
int temp = table[i];
table[i] = table[work];
table[work] = temp;
}
}
これでどう?
0297デフォルトの名無しさん
NGNG最大値の位置を覚えておく工夫をせにゃならんよ。
無事上手くいきました。誠に有難う御座います。
0299デフォルトの名無しさん
NGNG以下の2つの文字列が同じかどうかを判定するプログラムを使って
2つの文字列が何文字目まで等しいかを判定するプログラムを作りたいのですが
どうすればいいのでしょう?
#include<stdio.h>
#define SIZE 100
int string_equal_length(char str1[],char str2[]);
int main(void)
{
int i,j,k;
char str1[SIZE],str2[SIZE];
printf("文字列を入力してください。:");
scanf("%s",str1);
printf("文字列を入力してください。:");
scanf("%s",str2);
0300デフォルトの名無しさん
NGNGprintf("2つの文字列は同じです。\n");
}
else{
printf("2つの文字列は同じではありません。\n");
}
}
int string_equal_length(char str1[],char str2[])
{
int i=0;
while(1){
if(str1[i]=='\0'&&str2[i]=='\0'){
return(0);
}
if(str1[i]!=str2[i]){
return(-1);
}
i++;
}
}
0301デフォルトの名無しさん
NGNG#include<stdio.h>
#define SIZE 100
int string_equal_length(char str1[],char str2[]);
int main(void)
{
int i,j,k;
char str1[SIZE],str2[SIZE];
printf("文字列を入力してください。:");
scanf("%s",str1);
printf("文字列を入力してください。:");
scanf("%s",str2);
0302デフォルトの名無しさん
NGNGif(string_equal_length(str1,str2)==0){
for(i=0;i<SIZE;i++){
if(str1[i]=str2[i]){
k=k++;}
else { break;
}
}
printf("2つの文字列は%d文字目まで同じです。\n",k);
}
else{
printf("2つの文字列は同じではありません。\n");
}
}
int string_equal_length(char str1[],char str2[])
{
if(str1[0]==str2[0]){
return(0);
}
if(str1[0]!=str2[0]){
return(-1);
}
}
0303怜
NGNGの中で何やってるかはわかる?
一文字ずつ比べていって、もしも途中で違ったら-1を返して、
最後まで一緒だったら0を返してるよね。
で、一文字同じだったらそのたびにiを1増やしてる。
ということは、iは何文字一緒だったかカウントしてることになるんだから、
途中で違ったら-1を返すのではなく、iを返すようにすれば・・
>>302のだと、全文字一緒のときしか
for(i=0;i<SIZE;i++){
if(str1[i]=str2[i]){
k=k++;}
else { break;
}
が実行されないから上手くいかないのね。
だから、if文とっちえばできると思う。
あと、k=0から始めないと変かも。
0304デフォルトの名無しさん
NGNG{
int count = 0;
do {
if (*str1 != *str2) { break; }
count++;
} while (*++str1 && *++str2);
return count;
}
0305304
NGNG上のコード両方に長さ0の文字列渡したときに1が帰る。
0306304
NGNGすまんかった、逝ってくる
0307デフォルトの名無しさん
NGNGsize_t c = 0;
while ( *s1 && *s1++ == *s2++ ) c++;
return c;
}
0308デフォルトの名無しさん
NGNG下のプログラムはクイックソートの一部なのですが、while文やif文が{}でくくってないので、どういう風に理解すればいいのかわかりません。
ifはbreak;のためにあると思うのですが、この場合のwhileはどういう意味になるのでしょうか?
他の変数などは無視して構わないので、whileについて教えてください。
for(;;){
while(a[++i] < v);
while(i<j-- && a[j] > v);
if(i>=j)
break;
t=a[i];a[i]=a[j];a[j]=t;
}
0309デフォルトの名無しさん
NGNGは
while (a[i] < v) i++;
while(i<j-- && a[j] > v);
は
while (i < j)
if(a[--j] <= v) break;
とでも読み替えればよいか。
0310デフォルトの名無しさん
NGNGwhile (i < j--)
if(a[j] <= v) break;
だね。
0311デフォルトの名無しさん
NGNGは
while(a[++i] < v){}
0312デフォルトの名無しさん
NGNGbreakの条件が違うだろ?
0313デフォルトの名無しさん
NGNGwhile(a[++i] < v);
バラして書くと、
i = i + 1;
while(a[i] < v)
{
i = i + 1;
}
で、ようするにaの内容とvを比較していき、
aの内容がvよりも大きくなった時にwhileから
抜けるっていう意味で
0314デフォルトの名無しさん
NGNGfor(;;){
while(a[++i] < v);
while(i<j-- && a[j] > v);
if(i>=j)
break;
t=a[i];a[i]=a[j];a[j]=t;
}
vを基準に、
a[i]は値の小さい方から(イメージとしては左から?)、
a[j]は値の大きい方から近づく(右から?)。
この作業が終わった時に、i,jの大小関係が食違っていたら(if)、何もせず抜け、
で、なければ、取り替えなければならない状況なので、取り替える。vという値を基準に、
左右に不適切に混ざっている。ランダムに並んでいる。
0315デフォルトの名無しさん
NGNGstructureのデータの削除の仕方がわかりません。
データは以下の構成です。
:名姓(first name, last name)
:社会保障番号(12桁)
:性別(男性または女性)
:労働時間
:時給
:給料
労働時間が40時間以上は超過勤務時間であると考えられます。
超過勤務時間の場合、普通の1.5倍得ます。
例えば
通常時給20ドル
超過勤務時の時給20*1.5=30ドル
50時間働いた時の給与は
20*40+30*10=1100ドル
メニューは次の選択を含んでいるべきです
1. 給料と従業員をすべてリストします。
2. 給料支払簿に従業員を加えます。
3. 給料支払簿から従業員を削除します。
4. 女性の従業員をすべてリストしてください。
5. 超過勤務時間の従業員をすべてリストしてください。
6. 従業員のリストをアルファベット順に並べてください。
7. 誰が一番もらってるか。
8. 終了&保存。
0316デフォルトの名無しさん
NGNGstruct xrec{
char fname[10], lname[10];
char ssn[12];
char gender;
double hours,salary;
}
struct xrec* add_list(struct xrec* list, struct xrec temp);
int main(){
struct xrec employee[100];
struct xrec temp;
struct xrec* first;
FILE* infile;
int size=0;
infile=fopen("DATA.c","r");
first=NULL;
while(fscanf(infile,"%10s %10s %12s %c %lf", temp.fname, temp.lname, temp.ssn,
&temp.gender, &temp.hours)==5){
temp.fname[9]=NULL;
temp.lname[9]=NULL;
temp.ssn[11]=NULL;
employee[size++]=temp;
first=add_list(first,temp);
}
0317デフォルトの名無しさん
NGNGint i,rate;
for(i=0; i<n; i++){
if(x[i].hours>=40)
x[i].salary=x[i].hours*rate*1.5;
else
x[i].salary=x[i].hours*rate
}
}
do{
com=displaymenu();
switch(com){
case 1: printlist(employee,size); break;
case 2: add_list; break;
case 3: delete_data; break;
case 4: printroses; break;
case 5: printovertime; break;
case 6: alphabetize; break;
case 7: printhighest; break;
case 8: quitsave; break;
default;displaymenu();
}
}while(com<>8)
0318デフォルトの名無しさん
NGNGint choice;
printf("1. List all employees to the screen with their salary.\n");
printf("2. Add an employee to the payroll.\n");
printf("3. Delete an employee from the payroll.\n");
printf("4. List all the female employees(Roses of the G-ds).\n");
printf("5. List all employees with overtime.\n");
printf("6. Alphabetize the list of the employees.\n");
printf("7. Who gets the highest salary.\n");
printf("8. Quit and Save.\n");
scanf("%d",&choice);
return choice;
}
void printlist(struct xrec* list){
while(list!=NULL){
printf("%s %s %lf", list->fname,list->lname, list->salary);
list=list->next;
}
}
0319デフォルトの名無しさん
NGNGstruct xrec* new_node;
new_node=(struct xrec*)malloc(size of (struct xrec));
*(new_node)=temp;
new_node->next=list;
return new=node;
}
void printroses(struct xrec x[], int n){
int i;
for(i=0; i<n; i++){
if(x[i].gender=='F')
printf("%s %s\n", x[i].fname, x[i].lname);
}
}
void printovertime(struct xrec x[], int n){
int i;
for(i=0; i<n; i++){
if(x[i].hours>40)
printf("%s %s %lf\n", x[i].fname, x[i].lname, x[i].hours);
}
}
void quitsave(){
fclose(infile);
}
0320デフォルトの名無しさん
NGNGよろしくおねがいします
0321デフォルトの名無しさん
NGNG上記のプログラムってコンパイルできますか?
0322デフォルトの名無しさん
NGNG線形リストって知ってる?
0323デフォルトの名無しさん
NGNGhttp://www.google.co.jp/search?q=cache:0iCTpmtd3kAC:www9.plala.or.jp/sgwr-t/c/sec15-5.html+%E8%87%AA%E5%B7%B1%E5%8F%82%E7%85%A7%E3%80%80%E6%A7%8B%E9%80%A0%E4%BD%93&hl=ja&lr=lang_ja&ie=UTF-8
0324デフォルトの名無しさん
NGNG>321
コンパイルはできません。エラーが6個ほどでてしまって。。。
>323
ありがとうございます。参考にします
自分で修正し、残すはリストからデータの削除の仕方だけになりました。
リストからデータの削除の仕方を教えてもらえないでしょうか?
よろしくおねがいします。
0325デフォルトの名無しさん
NGNGやり方だけ。コードは読んでないけど感覚で。
ポインタは理解してる?
リストの先頭から順に辿っていく。
先頭が対象のデータの場合は別処理するとして・・
現在のデータ(list)の次のデータ(list->next)が、削除したいデータ
の場合は、
list->next->nextがさしているポインタを一次保存しておいて。
list->nextのデータをfreeした後に、
list->nextに、先ほど保存したデータを入れる。
a -> b -> c となっていたのを
a -> c として、bをfreeすればいいわけだから。
0326デフォルトの名無しさん
NGNGtypedef struct List{
int id;
struct List *next;
} List;
void main()
{
List list1,list2,list3;
List *top=NULL,*list=NULL,*prev=NULL;
top=&list1;
list1.id=1; list1.next=NULL;
list2.id=2; list2.next=NULL;
list3.id=3; list3.next=NULL;
// 連結
list1.next = &list2; list2.next = &list3;
// 取りはずし (list2の取り外し)
list1.next=&list3; list2.next=NULL;
// スキャン
for(list=top;list != NULL;list=list->next){ printf("%d,",list->id);}
// スキャンによる取りはずし id==2をはずす
for(list=top,prev=NULL;list != NULL;){
if (list->id==2){
if (prev!=NULL){list=prev->next=list->next;}
else {top=list->next;}
}else{prev=list,list=list->next;}
}
}
取り外しのところでメモリ開放が必要なら入れる。>325さんとはちと違うが、同じこと
03271024
NGNG正規分布の確率密度を
ある点Xから無限まで積分で
求めるプログラムを教えてください。
できれば、シンプソンと台形公式(2重積分)の2通り
お願いします。
0328アフォ
NGNG現在探索中の接点の要素をyとするとき
1、x=yならば、x∈Aを結論し、yesを出力する。
2、x>yならば左の子へ進む。
x<yならば親に戻る。子がいない場合も親に戻る。
3、親に戻ったとき、左の子から戻ったときは右の子へ進む。
右の子から戻ったときは、また親に戻る。
4、右の子から親に戻ったとき、noを出力する。
5、根の要素>xのとき、noを出力する。
手直しお願いします。あと、ハッシュ表による辞書と比べて
どのような点で劣っているか教えていただきたいです。
0329デフォルトの名無しさん
NGNG/* 実数を入力し、それぞれ以下のように変換する
小数第3位以下を切り捨てる
小数部のみに変換
小数第2位を四捨五入して小数第1位までに変換
10の位を四捨五入して100の位までに変換
※出力はすべて、printf("%f\n", x)とすること*/
0330デフォルトの名無しさん
NGNGx-(int)x
round(x*100.0)/100.0
round(x/100.0)*100.0
0331329
NGNGありがとうございます
やってみたら、「警告: 関数 round は宣言されていないので、int 型とみなす」
とエラーが出てしまったんですが^ ^;
0332デフォルトの名無しさん
NGNG{
puts( str ); return 0;
}
//小数部のみに変換
int main(){
char str[80];char *x;
scanf("%s", str );
x = strchr( str, '.' );
printf("%f\n", x);
}
0333デフォルトの名無しさん
NGNGに保存するというソースを書いてほしいんです。お願いします。
0334デフォルトの名無しさん
NGNGそれと相手はhttpか、ftpか。gopherか。
0335333
NGNG0336デフォルトの名無しさん
NGNGhttp://www.nakka.com/lib/inet/httpc.html
あたりで。
0337デフォルトの名無しさん
NGNGマニュアルくらい読め
■ このスレッドは過去ログ倉庫に格納されています