>>950 あと、これがコンパイルできんようなら出直せ!!
#include <stdio.h>
int main(){
printf("じゃあの");
return 0;
}
じゃあの。
953 :
354 :2008/07/22(火) 23:32:40
954 :
◆prGJdss8WM :2008/07/22(火) 23:35:29
>>951 UTF-8 Tera Term Pro
を使ってやってます。
エラー文なんですが…
12-13: file not recognized: File format not recognized
とでます。
955 :
◆prGJdss8WM :2008/07/22(火) 23:36:49
>>954 コンパイラは何を使っているのかと聞いている。
gcc xxx.c
か?
それからエラー文は全部かけ。エラー文は全部かけ。大切なことなので2回言いました。
>>954 一応、間違わないように念押しする。
コンパイルに使ったコマンドから、実際にでているエラー、コマンドを入力できるプロンプトまでを
全部残さず洗いざらい全て厳密に確実にまごうことなくすっきりはっきり全部書き出せ。
>>957 935じゃないけど、とりあえず、Center.xが通らない。
>>958 さんくす!とりあえずなおした。
#include <stdio.h>
#include <math.h>
struct point{ double x; double y;} Polygon[100];
typedef struct point point;
double Length(point A,point B){ return sqrt( (A.x - B.x) * (A.x - B.x) + (A.y - B.y) *(A.y - B.y) ); }
double TriArea(point A,point B,point C){ double a = Length(B,C) , b = Length(A,C), c = Length(A,B) , s = (a+b+c)/2.0; return sqrt(s*(s-a)*(s-b)*(s-c) );}
point TriCenter(point A,point B,point C){ point ret; ret.x = (A.x + B.x + C.x) / 3.0; ret.y = (A.y + B.y + C.y) / 3.0; return ret;}
int main(){
int i,n=5;double AreaTotal,area; point O,R,C;
Polygon[0].x = 3.0; Polygon[0].y = 9.0; Polygon[1].x = 3.0; Polygon[1].y = 16.0;
Polygon[2].x = 5.0; Polygon[2].y = 18.0;Polygon[3].x = 6.0; Polygon[3].y = 12.0;
Polygon[4].x = 5.0; Polygon[4].y = 6.0; Polygon[5].x = 3.0; Polygon[5].y = 9.0; // [0]
O.x = 0.0; O.y = 0.0; for(i=0;i<n;i++){ O.x += Polygon[i].x; O.y += Polygon[i].y;}O.x /= (double)n; O.y /= (double)n;
R.x = 0.0; R.y = 0.0;AreaTotal=0.0; for(i=0;i<n;i++){
C = TriCenter(O,Polygon[i],Polygon[i+1]);AreaTotal += area = TriArea(O,Polygon[i],Polygon[i+1]);
R.x += C.x * area; R.y += C.y * area;}
R.x /= AreaTotal; R.y /= AreaTotal; printf("%lf %lf\n",R.x,R.y);return 0;}
960 :
◆prGJdss8WM :2008/07/23(水) 00:03:11
すみません… コンパイラはxxx.cです コンパイルに使ったコマンドはccコマンドです エラー文はさっき書いたので全部です。 1行しかでてきません;
>>960 ファイルの拡張子を .c にしてからやり直してみて。
963 :
◆prGJdss8WM :2008/07/23(水) 00:08:49
ちょっとよくわからないので明日友達に聞いてみます… すみませんでした… とりあえず実行結果だけでも教えていただけませんか?
966 :
◆prGJdss8WM :2008/07/23(水) 00:14:30
拡張子を.cにしてみたら エラーの内容がかわりました。 /var/tmp//cc9r5EdA.o(.text+0x25): In function `Length': : undefined reference to `sqrt' /var/tmp//cc9r5EdA.o(.text+0xd7): In function `TriArea': : undefined reference to `sqrt' とでました!
>>963 エラーの行の一行前と、一行後ろを教えてほしいな。
一行前は、コマンドプロンプトとあなたが入力したコマンドかもしれないし、
一行後ろは、ただのコマンドプロンプトかも知れないけれども、
画面に表示されているそのままに。
968 :
◆prGJdss8WM :2008/07/23(水) 00:21:35
>>967 これです。
>はコマンドプロンプトです。
> cc 12-13.c
/var/tmp//cc9r5EdA.o(.text+0x25): In function `Length':
: undefined reference to `sqrt'
/var/tmp//cc9r5EdA.o(.text+0xd7): In function `TriArea':
: undefined reference to `sqrt'
>
>>911 コンパイルだけ通した。動作未確認。
#include <stdio.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <stdlib.h>
#include <unistd.h>
int main() {
int servSock, clientSock, recvLen, totalLen, n1, n2;
struct sockaddr_in servAddr,clientAddr;
unsigned int clientLen;
char buf[8];
if ((servSock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0) exit( 1 );
memset(&servAddr, 0, sizeof(servAddr));
servAddr.sin_family = AF_INET;
servAddr.sin_addr.s_addr = htonl(INADDR_ANY);
servAddr.sin_port = htons(12345);
if (bind(servSock, (struct sockaddr *) &servAddr, sizeof(servAddr)) < 0) exit( 2 );
if (listen(servSock, 1) < 0) exit( 3 );
while ( 1 ) {
clientLen = sizeof(clientAddr);
if ((clientSock = accept(servSock, (struct sockaddr *) &clientAddr, &clientLen)) < 0) exit ( 4 );
recvLen = totalLen = 0;
while ( recvLen < 8 ) {
if ((recvLen = recv(clientSock, buf + totalLen, 8, 0)) < 0) exit( 5 );
totalLen += recvLen;
}
n1 = ntohl(*(int*)buf);
n2 = ntohl(*(int*)(buf+4));
printf("%d+%d=%d\n", n1, n2, n1 + n2);
}
}
971 :
◆prGJdss8WM :2008/07/23(水) 00:30:15
>>969 できました!!
実行したら
> ./a.out
4.386667 12.173333
>
とでました!!
でも、scanfで頂点の座標を与えないんです…(>_<)
972 :
970 :2008/07/23(水) 00:31:18
しまった。WinSockかもしれないんだ。。
973 :
970 :2008/07/23(水) 00:33:26
>>970 を訂正。
×while ( recvLen < 8 )
○while ( totalLen < 8 )
>>970 せめてIPv6 readyなコードにしてほしかった。
975 :
◆prGJdss8WM :2008/07/23(水) 00:35:13
>>972 コンパイルしたらエラーがいっぱいでますです…
> cc 12-12.c -lm
12-12.c: In function `main':
12-12.c:8: error: storage size of 'servAddr' isn't known
12-12.c:8: error: storage size of 'clientAddr' isn't known
12-12.c:11: error: `IPPROTO_TCP' undeclared (first use in this function)
12-12.c:11: error: (Each undeclared identifier is reported only once
12-12.c:11: error: for each function it appears in.)
12-12.c:14: error: `INADDR_ANY' undeclared (first use in this function)
>
>>975 #include <netinet/in.h>
を追加
978 :
◆prGJdss8WM :2008/07/23(水) 00:38:20
>>971 間違えました;
scanfで頂点の座標を与えてあげないといけないんです(>_<)
>>968 見たいに、printf/scanfの出来上がりイメージを書いたら、誰かやってくれるかもよ。
> cc 12-13
12-13: file not recognized: File format not recognized
>
981 :
◆prGJdss8WM :2008/07/23(水) 00:59:21
>>979 ありがとうございます!!
でも、セグメントエラーってでます…;
あと、このプログラムの説明をしていただけませんか?
[1] 授業単元: プログラミング [2] 問題文:時計を表示するプログラムを作る (書きかけのソースは下に書きます。) [3] 環境 [3.1] OS: WindowsXP [3.2] Borland C++ ver5.0.0 [3.3] 言語:C [4] 期限:今日 [5] その他の制限:よくわからないですが、ポインタ辺りまでならいいと思います。 最上段の年月日と曜日がうまく表示されません。 どなたかお願いしますm(__)m
983 :
982 :2008/07/23(水) 01:00:40
#include <stdio.h>#include <time.h> #include <conio.h> void main() { static char *week[] = {"日", "月", "火", "水", "木", "金", "土"}; time_t now, prev; struct tm *tm_now; printf("\033[2J"); prev = now; tm_now = localtime(&prev); printf("\033[10;30H"); printf("%4d年%2d月%2d日 %s曜日\n", tm_now->tm_year+1900, tm_now->tm_mon+1, tm_now->tm_mday, week[tm_now->tm_wday]); for(;;){ if(kbhit()){ if(getch() == 0x1B) break; } prev = now; now = time(NULL); if(prev == now) continue; tm_now = localtime(&now); printf("\033[11;30H"); printf("%2d時%2d分%2d秒\n", tm_now->tm_hour, tm_now->tm_min, tm_now->tm_sec); } }
>>981 ソート方法を挿入ソートに変えただけ
エラーは出ないから分からん、どこで出るのかな
>>908 すいません。
せっかく作成して頂いたのですが、Borlandでは動作しないようです。
以下のようなエラーが出てしまいました。
C:\source>bcc32 7480.cpp
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland7480.cpp:
警告 W8012 7480.cpp 169: 符号付き値と符号なし値の比較(関数 CEncoder::create_enc(ifstream &,ofstream &) )
警告 W8012 7480.cpp 199: 符号付き値と符号なし値の比較(関数 CEncoder::create_enc(ifstream &,ofstream &) )
警告 W8012 7480.cpp 222: 符号付き値と符号なし値の比較(関数 CEncoder::create_enc(ifstream &,ofstream &) )
警告 W8012 7480.cpp 253: 符号付き値と符号なし値の比較(関数 CEncoder::create_enc(ifstream &,ofstream &) )
警告 W8008 7480.cpp 282: 条件が常に真(関数 CEncoder::create_enc(ifstream &,ofstream &) )
警告 W8012 7480.cpp 302: 符号付き値と符号なし値の比較(関数 CEncoder::create_enc(ifstream &,ofstream &) )
警告 W8008 7480.cpp 405: 条件が常に真(関数 CEncoder::encoding() )
警告 W8012 7480.cpp 440: 符号付き値と符号なし値の比較(関数 CEncoder::encoding())
警告 W8012 7480.cpp 446: 符号付き値と符号なし値の比較(関数 CEncoder::encoding())
警告 W8012 7480.cpp 759: 符号付き値と符号なし値の比較(関数 CDecoder::create_txt(ifstream &,ofstream &) )
警告 W8012 7480.cpp 842: 符号付き値と符号なし値の比較(関数 CDecoder::decoding())
警告 W8012 7480.cpp 848: 符号付き値と符号なし値の比較(関数 CDecoder::decoding())
警告 W8012 7480.cpp 925: 符号付き値と符号なし値の比較(関数 CPrintHeader::print_header(char *) )
警告 W8012 7480.cpp 931: 符号付き値と符号なし値の比較(関数 CPrintHeader::print_header(char *) )
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
指定が、Borland bcc32 のコンパイラということになってまして
せっかく作成頂いたのに、本当にすいません。
>>859 さんのを、待ちたいと思います。
すいません。
つーか違う人やん、まあよかた
>>985 警告が出てるだけなら、動くんじゃないの?
ラーメン イケメン 僕セグメン
>>987 実行すると、以下のようになってしまいます。
C:\source>7481
C:\source>7480
Usage:
encoding : C:\source\7480.exe -e[p[z]] ENC TXT
decoding : C:\source\7480.exe -d[p[z]]TXT ENC
header print : C:\source\7480.exe -p[z] ENC...
C:\source>
何も入力する前に、コマンドラインが出てしまいます。
>>982 全角スペース混じってんぞ
ほんとに実行できたのかよ…
>>989 使い方が間違っているからでしょ。
あと、usageを辞書で引いておいて
てか実に気の毒だが、コンピュータあんまり触った事がない人だと思うので 下手に丸投げしたコード出したりするとボロ出てきつい思いすると思う。 こういう無茶な(コンピュータ触って5年選手以上とかに出す問題)課題 を出す教師の単位なんて下手に貰っても得しないと思う。 昔は、理論屋、コード屋、検証屋、執筆屋とか分業が許され、論文も共同で 書くのが常だった。
>>993 警告とエラーの区別がつかないくらいだから、これまでまったくサボってきたんだろ。
課題自体は、子供の宿題レベルには違いないし、出来ないから単位がでないかどうかも知れない。
>>993 ほんとうに親切な人は問題について考えるんじゃなくて、解決策を考えてくれると思うんだ
>>995 要するにこのスレに来るな。自分でやれってか
身も蓋も無いな
カンニングするための最低限の技術すら足りないのはどうしようもないが
こんな馬鹿を卒業させたら、またなんちゃってSEが増えるだけだろ…
>>995 このスレの回答者は親切に親身になって問題を解いてくれるね。(その後のフォローは皆無だけど)
大学の卒業率が85%というから、学生の20人に3人が卒業しないまま大学を去るのだろう? 答えだけ聞いて済まそうという行動規範では・・・
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。