C/C++の宿題を片付けます 68代目
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2006/06/24(土) 23:19:19【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。
・問題文は、出題されたまま全文を書いてください。
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはやめましょう。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して
投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。
【質問テンプレ】
[1] 授業単元:
[2] 問題文(含コード&リンク):
[3] 環境
[3.1] OS: (Windows/Linux/等々)
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
[3.3] 言語: (C/C++/どちらでも可 のいずれか)
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
【C 関数検索 man on WWW】
http://www.linux.or.jp/JM/index.html
【前スレ】
C/C++の宿題を片付けます 67代目
http://pc8.2ch.net/test/read.cgi/tech/1150273052/
【過去スレ一覧】
http://makimo.to/cgi-bin/search/search.cgi?q=C%2B%2B%82%CC%8Fh%91%E8&andor=AND&sf=2&H=&view=table&D=tech&shw=2000
0002デフォルトの名無しさん
2006/06/24(土) 23:26:48そろそろ期末だな
0003デフォルトの名無しさん
2006/06/24(土) 23:43:350004デフォルトの名無しさん
2006/06/25(日) 01:30:06↓の16ページ目 第6問です(pdf)
ttp://www.i.u-tokyo.ac.jp/edu/course/ipc/pdf/2004system-j.pdf
(1)は
C(A,1) = 1;
C(B,1) = 0;
C(A,n) = C(A,n-1) + C(B,n-1);
C(B,n) = C(B,n-2) + C(A,n-2);
(2) は
空欄1 ; r = 1;
空欄2 ; r = 0;
空欄3 ;
if( p == 'A'){ r = path('A',n-1) + path('B' , n-1);}
if( p == 'B'){ r = path('A',n-2) + path('B' , n-2);}
と自分で答えを出しましたが (3)がわかりません。
漸化式を解いてそれを表現するだけだと思ったのですが うまくいきません。
よろしくお願いいたします。
0005デフォルトの名無しさん
2006/06/25(日) 02:10:06漸化式から一般項が求められないということ?
なら、C(A,n)とC(B,n)はそれぞれフィボナッチ数列になると思われ。
0006デフォルトの名無しさん
2006/06/25(日) 02:34:42a = a1 + b1;
b = a0 + b0;
a0 = a1; b0 = b1;
a1 = a; b1 = b;
で大丈夫かな。漸化式をそのまま入れてみたけど。
0007デフォルトの名無しさん
2006/06/25(日) 03:13:39一般項一応求められるのですが なにか与えられたプログラムで表現できませんでした。
a bも初期化してないし どうやるんだろうと思っていました。
フィボナッチ数列は初耳です。
>>6
ありがとうございます。おみそれしました。
おそらくそれで正しいと思います。
漸化式って配列でも使わなきゃ駄目かと思っていました。力不足です。
アルゴリズムの授業は受けていたのですが・・
この分野勉強するのにお勧めの本ってありますか?
適当にデータ構造とアルゴリズムとかそんな感じの本見ればいいんですかね
講義ノートしか無いんで駄目駄目です
0008デフォルトの名無しさん
2006/06/25(日) 06:15:19[2] 問題文(含コード&リンク):キーボードから入力したファイル名のファイルを開き、
そのファイルにアルファベットの小文字aがいくつ含まれているかをカウントして表示するプログラムを作成せよ。
【実行例】
(適当なファイル名を入力してエンターキーを押す)
文字aは○個ありました。
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ名とバージョン:Visual C
[3.3] 言語:C
[4] 期限:明日の夜12時までが提出期限なのでなるべく今日中にはお願いします。
[5] その他の制限:繰り返し処理はfor文のみ使ってwhile文等は使わないで下さい。
getc関数を使うと思うのですが、イマイチ上手くいかないので教えて下さい。
0009デフォルトの名無しさん
2006/06/25(日) 09:07:20#include <stdio.h>
#include <string.h>
#include <assert.h>
int main(){
int c, cnt = 0;
char filename[256], *p;
FILE *fp;
fgets(filename, sizeof(filename), stdin);
if(p = strchr(filename, '\n')) *p = '\0';
assert(fp = fopen(filename, "r"));
for(; EOF != c; c = fgetc(fp))
if(c == 'a') cnt++;
printf("文字aは%d個ありました。\n", cnt);
return 0;
}
0010デフォルトの名無しさん
2006/06/25(日) 09:22:40[3] 環境
[3.1] OS: (WindowsXP
[3.2] コンパイラ名とバージョン:Cpad
[3.3] 言語: どちらでも可
[4] 期限: 今日中
#include <stdio.h>
int main(void)
{
int i;
printf("i=");
scanf("%d", &i);
if(i==1)
{printf("*\n");}
if(i==2)
{printf("**\n");printf("**\n");}
if(i==3)
{printf("***\n");printf("***\n");printf("***\n");}
if(i==4)
{printf("****\n");printf("****\n");printf("****\n");printf("****\n");}
if(i==5)
{printf("*****\n");printf("*****\n");printf("*****\n");printf("*****\n");printf("*****\n");}
if(i==6)
{printf("******\n");printf("******\n");printf("******\n");printf("******\n");printf("******\n");printf("******\n");}
if(i<=0||i>=7)
{printf("error\n");}
return 0;
}
このプログラムを作ったのですがこのプログラミングをwhile do-whileのどちらかを使いすっきりさせたいのです。
しかし、何度やってもうまくいきません。
力を貸してください。
0011デフォルトの名無しさん
2006/06/25(日) 09:27:59補足です。
このプログラムは打った数分だけ縦と横に*が表示されるというものです。
0012デフォルトの名無しさん
2006/06/25(日) 09:33:37#include <stdio.h>
#defineINPUT_MAX6
int main(void)
{
int i,j;
char str_ast[INPUT_MAX];
printf("i=");
scanf("%d", &i);
for( j=0; j < INPUT_MAX ; j++){
str_ast[j]='*'
}
if( i <= 0 || i>INPUT_MAX ){
printf("error\n");
return 0;
}
for( j=0; j<i ; i++){
printf("%*s\n", j,str_ast);
}
return 0;
}
0013デフォルトの名無しさん
2006/06/25(日) 09:41:23実行しましたが、エラーが出ました。
また、for文ではなくwhileが do while で作りたいのです
0014デフォルトの名無しさん
2006/06/25(日) 10:01:22int main(void)
{
int i, k, m = 0;
printf("i="); scanf("%d", &i);
if(i <= 0 || i >= 7){
printf("error\n");
} else {
while (m != i){
k = 0;
while(k != i){
putchar('*');
k++;
}
putchar('\n');
m++;
}
}
return 0;
}
0015デフォルトの名無しさん
2006/06/25(日) 10:36:28虚数演算を行う関数
要素数2の1次元配列を使って複素数一個を表す。例えば
a[]={-1,1};
であれば、これは-1+jを表す(jは虚数単位)ものとする。a,b,cをそれぞれ要素数2の
1次元配列(つまり複素数)として、複素数の四則演算のうち和積商を行う関数群
void add(a,b,c);/*c=a+b*/
void multiply(a,b,c);/*c=a*b*/
void divide(a,b,c);/*c=a/b*/
を作成し、この関数を利用して以下の数式の値fを求めよ。(各関数においてcは答えの容器である)
f=(2+3j)*(-1+2j)/(1+j)+5j
3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ名とバージョン:Microsoft Visual C++ 6.0
[3.3] 言語:C++
[4] 期限:6/27
[5] 制限:教科書はサイエンス社のザ・Cです。基礎的なことしか習っていません。標準ライブラリ、
という内容も分かりません。
001610
2006/06/25(日) 10:52:28プログラムありがとうございます。無事実行できましたが
制限をつけるのを忘れていました。
まだc言語を習い始めて間もないため
putcharなどは使うことができません。
また、教科書はオーム社 C言語によるプログラミング基礎編です。
if,while,○○++等基本的なものだけでお願いできないでしょうか?
0017デフォルトの名無しさん
2006/06/25(日) 10:56:520018デフォルトの名無しさん
2006/06/25(日) 11:00:100020デフォルトの名無しさん
2006/06/25(日) 11:03:38ヒント:putchar を printf に変える
0021笹井奈琴
2006/06/25(日) 11:04:21#include <stdio.h>
#include <math.h>
void add( const double* a, const double* b, double* c ) {
c[0] = a[0] + b[0];
c[1] = a[1] + b[1];
}
void multiply( const double* a, const double* b, double* c ) {
c[0] = a[0]*b[0] - a[1]*b[1];
c[1] = a[1]*b[0] + a[0]*b[1];
}
void divide( const double* a, const double* b, double* c ) {
double m = a[1]*a[1] + b[1]*b[1];
c[0] = ( a[0]*b[0] + a[1]*b[1] ) / m;
c[1] = ( a[0]*b[1] + a[1]*b[0] ) / m;
}
int main (int argc, char * const argv[]) {
double e1[2] = { 2, 3 }, e2[2] = { -1, 2 }, e3[2] = { 1, 1 }, e4[2] = { 0, 5 };
double c1[2], c2[2], c3[2];
multiply( e1, e2, c1 );
divide( c1, e3, c2 );
add( c2, e4, c3 );
printf( "result:%lf%cj%lf", c3[0], c3[1]<0?'-':'+', fabs(c3[1]) );
return 0;
}
002210
2006/06/25(日) 11:09:29お騒がせしました。
0023デフォルトの名無しさん
2006/06/25(日) 11:28:55[2]真っ黒な画面(この場合は使いやすいかと思って768*768サイズを自主的に使いました)
に、グラデーション(色が若干ずつずれていく)させた線を引く
[3] Microsoft Visual C++
[3.1] OS: WindowsXP
[3.2] Microsoft Visual C++ 2003
[3.3]C++
[4]2006年7月いっぱいまで
[5]制限
画像の色を0〜360の値を入れる事により、色相をずらすプログラムを改造して作り上げようとしていました。
ヘンテコなプログラムになっていると思いますが、ここから改良して、完成して欲しいです。
No.2184にファイルがおいてあります。bmp_in.txtは完成系です。
0024デフォルトの名無しさん
2006/06/25(日) 11:34:010025デフォルトの名無しさん
2006/06/25(日) 11:46:34つーかdivideの式がおかしいような。
b==0の時に0除算になるのは当然だからこんな感じじゃない?
void divide(const double* a,const double* b,double* c) {
double mi=1/(b[0]*b[0]+b[1]*b[1]);
c[0]=(a[0]*b[0]-a[1]*b[1])*mi;
c[1]=(a[1]*b[0]-a[0]*b[1])*mi;
}
0028デフォルトの名無しさん
2006/06/25(日) 11:48:48void divide(const double* a,const double* b,double* c) {
double mi=1/(b[0]*b[0]+b[1]*b[1]);
c[0]=(a[0]*b[0]+a[1]*b[1])*mi;
c[1]=(a[1]*b[0]-a[0]*b[1])*mi;
}
0029デフォルトの名無しさん
2006/06/25(日) 12:01:01if(b[1] == 0){
c[0] = a[0] / b[0];
c[1] = a[1] / b[0];
}else{
double x = b[0] * b[0] - b[0] * -b[0];
if(x != 0){
double y[2];
y[0] = b[0] / x;
y[1] = -b[1] / x;
multiply(a, y, c);
}else{
printf("error\n");
}
}
}
003029
2006/06/25(日) 12:03:41003110
2006/06/25(日) 12:06:22int main(void)
{
int i, j;
int m;
printf("m=");
scanf("%d", &m);
i=1;
while(i<=m)
{
i++;
j=1;
while(j<=m)
{
j++;
printf("*");
}
printf("\n");
}
return 0;
}
数値を入力し、入力した数値の数だけの横と縦を持つ正方形を出力するプログラムですが、
1〜6までは通常処理、0以下7以上はerrorと表示したいのですが、
うまくできません。知恵を貸してください
0032デフォルトの名無しさん
2006/06/25(日) 12:14:36#include <stdio.h>
int main(){
int m, i;
printf("m=");scanf("%d", &m);
for(i = 0; i < m * m; i++){
putchar('*');
if(i % m == m -1) putchar('\n');
}
return 0;
}
0033デフォルトの名無しさん
2006/06/25(日) 12:15:52#include <stdio.h>
int main(){
int m, i;
printf("m=");scanf("%d", &m);
if(m <= 0 || m >= 7){
puts("error");
}else{
for(i = 0; i < m * m; i++){
putchar('*');
if(i % m == m -1) putchar('\n');
}
}
return 0;
}
0034デフォルトの名無しさん
2006/06/25(日) 12:21:41int main(void) {
int i,m;
printf("m=");
scanf("%d",&m);
if (i<=0 || i>=7) {
printf("error\n");
} else {
i=0;
while (i<m) {
printf("%s\n","*******"+(7-m));
}
}
return 0;
}
0035デフォルトの名無しさん
2006/06/25(日) 12:23:34#include <stdio.h>
int main(void) {
int i,m;
printf("m=");
scanf("%d",&m);
if (m<=0 || m>=7) {
printf("error\n");
} else {
i=0;
while (i++<m) {
printf("%s\n","*******"+(7-m));
}
}
return 0;
}
0036デフォルトの名無しさん
2006/06/25(日) 12:38:32この書き方に統一すると
#include <stdio.h>
int main(void)
{
int i, j;
int m;
printf("m=");
scanf("%d", &m);
i=1;
if(m==0||m>=7)
printf("error\n");
else{
while(i<=m)
{
i++;
j=1;
while(j<=m)
{
j++;
printf("*");
}
printf("\n");
}
}
return 0;
}
こんな感じじゃないか?
C初めて2ヶ月の俺が言うのもなんだけどもう少し読みやすい書き方をすることをお勧めする
003710
2006/06/25(日) 12:43:590038デフォルトの名無しさん
2006/06/25(日) 16:43:08{
int m;
printf("m=");
scanf("%d", &m);
if(m<=0||7<=m){
printf("error\n");
return 0;
}
{int i=1;
while(i<=m)
{int j=1;
while(j<=m)
{
printf("*");
j++;
}
printf("\n");
i++;
}
}
return 0;
}
こんな感じじゃないか?
0039デフォルトの名無しさん
2006/06/25(日) 16:46:43どうしたらいいのでしょうか
よろしくお願いします
0040デフォルトの名無しさん
2006/06/25(日) 16:52:58[2] 問題文(含コード&リンク):
最初に一つの自然数を入力する.この自然数をnとする.このあとに続けて,空白で区切ったn個の自然数を入力する.
これらのデータをd1,d2,...,dnとよぶ.これらのn個の自然数の最大値と最小値の差を表示するプログラムを作成しなさい.
プログラム中では,連続する整数へのポインタ,整数の数 nの二つのパラメータを与えると,与えたn個の数の中で「最大のものを最小のもの」
で引いた値を返す関数 int range(int *p, int n) を定義し,それを利用するものとする.
1 nとして与える値は1以上32以下とし,それ以外の数を入力したときは"error"を出力してプログラムを停止すること.
2 出力した数字の後ろに,スペースを出力してはいけない.
3 関数rangeでは,データはポインタ変数を用いて扱い,配列としての扱いは一切行わないこと.
4 端末の入出力はmain関数中で直接行い,関数range中では端末への表示は行わないこと.
5 プログラム名は「range」
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
[3.3] 言語: C
[4] 期限: 6/26午後7時
問題文が長くなりすみませんが、よろしくお願いします。
0041デフォルトの名無しさん
2006/06/25(日) 17:08:27つーかまだ前スレ残ってるからあっちから使おう
0042デフォルトの名無しさん
2006/06/25(日) 17:15:03{int i,max=*p,min=*p;
for(i=1; i<n; ++i){
if(max<*(p+i)) max=*(p+i);
if(min>*(p+i)) min=*(p+i);
}
return max-min;
}
int main(void)
{int n;
printf("n?>"); scanf("%d",&n);
if(n<1 || 32<n){ printf("error\n"); return 0; }
{int i,d[32];
printf("d?>"); scanf("%d", &d[0]);
for(i=1; i<n; ++i) scanf("%d", &d[i]);
printf("range=%d\n",range(d,n));
}
return 0;
}
004340
2006/06/25(日) 17:21:07ありがとうございます。助かりました。
0044デフォルトの名無しさん
2006/06/25(日) 18:44:380045デフォルトの名無しさん
2006/06/25(日) 19:30:40[2] 問題文(含コード&リンク): 任意の数nとrを入力して、
nCrを求めてその結果を表示するプログラムを作成せよ
[3] 環境
[3.1] OS:Windows XP
[3.2] コンパイラ名とバージョン:Borland
[3.3] 言語: C
[4] 期限: 6/26午前5時
0046デフォルトの名無しさん
2006/06/25(日) 20:07:51gcc で確認。
#include <stdio.h>
int fact(int) ;
int choose(int,int) ;
int main(void) {
int n,r ;
printf("N?") ;
scanf("%d",&n) ;
printf("R?") ;
scanf("%d",&r) ;
printf("Choose!%d\n",choose(n,r)) ;
return(0) ;
}
int fact(int n) {
return((n==0)? 1:n*fact(n-1)) ;
}
int choose(int n,int r) {
int res ;
if(r==1) res=n ;
else if(r==n || r==0)res=1 ;
else res = (fact(n)/(fact(r)*(fact(n-r)))) ;
return(res) ;
}
範囲のチェックとかしてないから、大きな数になると落ちる(^^;
そこら辺は対応ヨロシコ。
0047デフォルトの名無しさん
2006/06/25(日) 21:31:44[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2186.txt
network1.txt
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2187.txt
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 月曜の18:00まででお願いします
[5] その他の制限: なし
どなたかよろしくお願いいたします。
0048デフォルトの名無し
2006/06/25(日) 21:47:53「2」問題文
ハノイの塔を解くボトムアップ方式のプログラムを作り上げよ。
分割統治法アルゴリズムの動作解析
それに基づくボトムアップ方式の設計
「3」
「3.1」 OS :windowsXP
「3.2」 コンパイラ名:gcc3.3.2
「3.3」 言語 C
「4」期限 月曜日の23:59までです。どうかおねがいします。
「5」その他の制限:ありません。
0049デフォルトの名無しさん
2006/06/25(日) 22:17:44【環境】Visual Stdio.NET2003
【OS】Windows XP
【提出期限】6月26日
【課題内容】ある年の月間平均気温、月間降水量が以下の通りであった
標柱のデータを構造体の配列に格納したあと、年間平均気温、年間平均気温
年間平均降水量を求めるプログラムを作成せよ
月 1 2 3 4 5 6 7 8 9 10 11 12
平均気温 3.6 4.3 7.5 13.5 18.0 21.7 25.6 26.8 22.8 16.9 11.4 6.2
降水量 50 61 98 153 162 210 218 170 209 121 74 48
例答)年間平均気温14.9 年間平均降水量131.17
0050デフォルトの名無しさん
2006/06/25(日) 22:40:40なんか変な問題だな。
年間平均気温はΣ((月間平均気温)*(月の日数))/(年の日数)で出せばいいのかな。
降水量は明らかに出ている数値が年間平均降水量じゃ無いところが。
年間平均降水量なら月ごとの平均降水量の和のはずだろ。
0051デフォルトの名無しさん
2006/06/25(日) 23:20:35コロ助懐かしい…。
0052デフォルトの名無しさん
2006/06/25(日) 23:21:170053デフォルトの名無しさん
2006/06/25(日) 23:43:15[2] 問題文(含コード&リンク):main関数内で0〜10までの5個のランダムなint型整数値を1元配列data1に格納するものとする。
又、0〜10までの10個のランダムなdouble型実数値を1元配列data2に格納するものとする。
この時、int型のデータnとint型の1元配列dataを引数として、データのdouble型平均値を返す関数averageを作成し、
この関数を多重定義することによりdouble型1元配列の平均値も算出できるようにせよ。
最後に、main関数でdata1とdata2の平均値を出力するようなプログラムをトップダウン方式で作成せよ。
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: Borland
[3.3] 言語:C++
[4] 期限:明日の午後六時まで
[5] その他の制限: 特にありません。
夜分遅くに申し訳ありませんが、もし解いて下さる方がいたら宜しくお願いします。
0054デフォルトの名無しさん
2006/06/25(日) 23:47:22構造体使う意味が分からんのだが、こういうこと?
#include <stdio.h>
#define MONTH 12
typedef struct {
double temperature ;
int precipitation ;
}Weather ;
double temperature[] = {3.6,4.3,7.5,13.5,18.0,21.7,25.6,26.8,22.8,16.9,11.4,6.2} ;
int precipitation[] = {50,61,98,153,162,210,218,170,209,121,74,48} ;
int main(void) {
Weather data[MONTH] ;
int i ;
double tmp,pre ;
tmp=pre=0 ;
for(i=0;i<MONTH;i++) {
data[i].temperature = temperature[i] ;
data[i].precipitation = precipitation[i] ;
}
for(i=0;i<MONTH;i++) {
tmp += data[i].temperature ;
pre += data[i].precipitation ;
}
printf("temperature avg:%lf,precipitation avg:%lf\n",tmp/MONTH,pre/MONTH) ;
return(0) ;
}
それとも問題文の理解ミス?
0055デフォルトの名無しさん
2006/06/26(月) 00:00:38ということで、「月間平均降水量」の間違いかと思ってググったら、
そのような言葉はどうも無いようです。
0056デフォルトの名無しさん
2006/06/26(月) 00:06:49[2] 問題文(含コード&リンク): このプログラムを変更して、摂氏から華氏への変換をユーザ定義関数として定義して,これを使うようにせよ.
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2021.c
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: Visual Studio 2003
[3.3] 言語: C
[4] 期限: 6月27日
[5] その他の制限: よろしくお願いします。
0057デフォルトの名無しさん
2006/06/26(月) 00:18:34K&R
0058デフォルトの名無しさん
2006/06/26(月) 00:30:0016進数を表現するときは0xをつけますが
2進数ってどうやって表現するんでしたっけ?
0059デフォルトの名無しさん
2006/06/26(月) 00:35:330060デフォルトの名無しさん
2006/06/26(月) 00:36:300xが16進数で
0oが8進数で
0bが2進数のようですね
0061デフォルトの名無しさん
2006/06/26(月) 00:55:52「わかって」よかったね。
つか、6分で「わかる」ような質問すなヴォケ。
しかもスレ違いじゃ
0062デフォルトの名無しさん
2006/06/26(月) 01:06:48おいおい、何キレてんだよ?これだから 低レベル 低俗 な 低学歴 は困るぜ・・・ヤレヤレ
0063デフォルトの名無しさん
2006/06/26(月) 01:07:420064デフォルトの名無しさん
2006/06/26(月) 01:14:36double CtoF(double temperature) {
return(temperature*9/5+32) ;
}
あとは該当個所で呼び出せばおk。
0065デフォルトの名無しさん
2006/06/26(月) 01:23:29基本構造
while(TRUE){
type_prompt();
read_command(command);
if((pid=fork())==0){
//Act as a child process
//commandからパイプの切り出し、コマンド名とパラメータの切り出し
//exec*によるコマンド実行
}else if(pid != -1){
//error
}else{
//Act as a parent process
waitpid(&status);
}
}
キーワード
.pathの読み取り-open,close,resd…
プロセス生成(fork)-終了待ち(wait,waitpid),ゾンビプロセス、シグナル処理(sigaction)
プロセスイメージの置き換え(exec*)-環境変数の新規設定(getenv,setenv)
パイプによるプロセス間通信(pipe,due/due2)-標準入出力の切り替え
006665
2006/06/26(月) 01:24:26[1] 授業単元: オペレーティングシステム
[2] 問題文(含コード&リンク):
fork,exec*システムコールを用いて簡単なコマンドインタープリタ
(mysh)を作成せよ。但し、作成するコマンドインタープリタは以下の
昨日をサポートすること。
・設定ファイル(.path)にコマンドサーチパスを指定することが出来る。
なお、ファイル内のパスの指定方法は、各自が考え定義すること。
(パスにないコマンドを入力した場合には、見つからない旨のエラー
メッセージを出力すること。)
・パイプを利用して複数(可変個)のコマンドの入出力を結合する
ことができる。
・コマンド実行中にCtrl-Cを入力すると、現在のコマンドの実行を
中断する
・exitを入力すると、myshを終了する。
[3] 環境
[3.1] OS: windowsXP,cygwin
[3.2] コンパイラ名とバージョン: gcc 3.4
[3.3] 言語:C言語
[4] 期限: ([2006年06月26日23:59まで]
[5] その他の制限: ファイル入出力、プロセス制御、パイプ生成に
関してはシステムコールを用いること。
006765
2006/06/26(月) 01:26:26$./mysh
myprompt>
myprompt> ←エンターキーのみの入力なら単なる改行
myprompt>ls -l ←単一コマンドの実行
……………
myprompt>hoge
myprompt>hoge:Command Not Found ←コマンドパスにないコマンドを実行しようとした
myprompt>ls -l|grep aaa ←パイプによる入出力結合
………..
myprompt>exit ←exitを入力するとmysh終了
期限ぎりぎりまで考えましたがわかりませんでした。
できればプログラムの説明も簡単に入れてくれると理解しやすくて助かります。
よろしくお願いします。
0068デフォルトの名無しさん
2006/06/26(月) 01:36:24double CtoF(double temperature) {
return(temperature*9/5+32) ;
}
これは、どこにつけたらいいのでしょうか?
該当個所で呼び出すとはどういう意味でしょうか?理解力がなくてすみません・・。
0069デフォルトの名無しさん
2006/06/26(月) 01:36:57[2] 問題文(含コード&リンク):
第1引数、第2引数ともにchar型の1元配列であり、
これら2つの配列(文字列)を連続して表示する関数catstringがあるものとする。
但し、第2引数にはデフォールトの文字列、”お疲れさん”が設定されているものとする。
main関数からキーボード入力により、2つの文字列を取得し、
catstringの第1引数のみに文字列が渡される場合と第1、及び第2引数に文字列が与えられる場合の
動作確認を行うプログラムを作成しなさい。
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: Visual Studio2005
[3.3] 言語:C++
[4] 期限:明後日まで
[5] その他の制限: 特にありません。
こんな時間に申し訳ありませんがお願いします。
0070デフォルトの名無しさん
2006/06/26(月) 01:44:04#include <iostream>
#include <string>
using namespace std;
void catstring(char const* s1,char const* s2="お疲れさん"){
cout << s1 << s2 << endl;
}
int main(void) {
string s1,s2;
cout << "Input string1";
cin >> s1;
cout << "Input string2";
cin >> s2;
catstring(s1.c_str());
catstring(s1.c_str(),s2.c_str());
}
0071デフォルトの名無しさん
2006/06/26(月) 02:30:370072デフォルトの名無しさん
2006/06/26(月) 02:32:46ありがとうございます。それを元に自分で少しいじってみようと思います。
本当に助かりました!
0073超初心者
2006/06/26(月) 03:00:11下記の課題をやっているのですが、うまく動きません、、どこがおかしいのでしょうか?
どなたか助言をお願いします。
アメリカへの船便小包の郵便料金は、1000g まで1800 円、1000g を越え10000g までは1000g ごとに550 円
ずつの割増し、10000g を越え20000g まではさらに1000g ごとに350 円ずつの割増しになる。小包の重さ
を読み込み、その郵便料金を計算するプログラムを作りなさい。ただし、船便小包の重量制限は20kg であ
る。
(例: 3000g → 2900 円、3001g → 3450 円、20000g → 10250 円)
#include <stdio.h>
main()
{
int n, m, o;
printf("重さあたりの郵便料金を計算します\n重さ=");
scanf("%d", &n);
m = 1800+((n-1)/1000*550);
o = 6750+((n-10001) / 1000*350);
if(1000>=n>0){
printf("1800円\n");
}
if(10000>=n>1000){
printf("%d円\n",m);
}
if(20000>=n>10000){
printf("%d円\n",o);
}
if(n>20000){
printf("重量オーバーです\n");
}
}
0074デフォルトの名無しさん
2006/06/26(月) 03:03:17以下同様
0075デフォルトの名無しさん
2006/06/26(月) 03:04:07ttp://homepage2.nifty.com/aito/cpp/node3.html
関数の多重定義を理解すりゃすぐにできるっしょ?
0076デフォルトの名無しさん
2006/06/26(月) 03:23:24http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2188.txt
std::accumulateを使うのが違反だってのなら自前で。
0077デフォルトの名無しさん
2006/06/26(月) 06:59:06あんなに速答してくださってありがとうございます。
おかげさまで出来ました。ありがとうございました。
0078降水量の人
2006/06/26(月) 09:29:23一切改変してません
年間降水量は全部の月間をたして12でわるのかな
0080デフォルトの名無しさん
2006/06/26(月) 10:40:40#include <string.h>
typedef struct Item_{
char Name[10]; unsigned int Day; char Client; int Order;
}Item;
Item InputItem(){
Item I={"\0",0,"\0",0};
char buf[256];
puts("発注内容を入力します。");
puts("品物の名前は?");
scanf("%s",buf);
strncpy(I.Name,buf,10);
puts("いくつ発注しますか?");
scanf("%d",&I.Order);
puts("クライアント");
scanf("%s",buf);
I.Client = buf[0];
puts("日にち");
scanf("%d",&I.Day);
return I;
}
0081デフォルトの名無しさん
2006/06/26(月) 10:40:55printf("品物の名前は[%s]\n発注数は[%d]\n発注日[%d]\n依頼主
[%c]",I.Name,I.Order,I.Day,I.Client);
}
int main(){
Item I;
I = InputItem();
OutputItem(I);
return 0;
}
InputItemのながおかしいのですが
どうすれば直るでしょうか?やってみたけどわかりませんでした
008281
2006/06/26(月) 11:04:100083VC++初心者
2006/06/26(月) 11:09:56[2] 問題文(含コード&リンク):
"abc.txt"ファイルを読込み、読込み数値 + 1を
"abc.txt"ファイルにセット(書込み)する。
[3] 環境
[3.1] OS:WindowsXP
[3.2] VC++5.0
[3.3] 言語:C++
[4] 期限:6月26日 夕方
[5] その他の制限:VC++の初心者です。
基本的な事ですみません。
よろしくお願いします。
0084デフォルトの名無しさん
2006/06/26(月) 11:34:43#include<iostream>
#include<fstream>
using namespace std;
int main(){
int n = 0;
{
ifstream fin("abc.txt");
fin >> n;
}{
ofstream fout("abc.txt");
fout << n+1;
cout << n+1 << endl;
}
}
0085デフォルトの名無しさん
2006/06/26(月) 11:35:39#include <iostream>
#include <fstream>
using namespace std;
int main(void){
char s[30];
int num;
ifstream fin("abc.txt");
if (fin.fail()){
cout << "file open error\n";
} else {
fin >> s;
ofstream fout("abc.txt");
if (!fout){
cout << "file open error\n";
} else {
sscanf(s, "%d", &num);
sprintf(s, "%d", num+1);
fout << s << "\n";
fout.close();
}
fin.close();
}
return 0;
}
0086デフォルトの名無しさん
2006/06/26(月) 11:44:19#include <iostream>
#include <fstream>
main()
{
int n;
std::ifstream ifs("abc.txt");
if(!ifs){
std::cerr << "file open error" << std::endl;
}
ifs >> n;
ifs.close();
std::ofstream ofs("abc.txt");
ofs << (n + 1) << std::ends;
}
0087デフォルトの名無しさん
2006/06/26(月) 11:49:07間違っちゃ無いが気になるとこが結構あった。
一応指摘しておくけど、もしすでに分かっていたら適当に聞き流しておいてください。
わざわざcloseを自分で呼ぶのが冗長。
closeはstreamのデストラクタで自動的に呼ばれる。
ただ、ofstreamを開く前にifstreamのcloseを呼び出す場合なら意味はある。
しかし、今回のコードだと、そうでないので、まったくもって無意味。
入力を文字列で受け取って変換するのは冗長。
operator>>(ifstream&,int)があるから変換する必要はない。
さらに言えば、入力長のチェックもしていないのでバッファオーバーフローの脆弱性がそれには存在する。
同様に、出力を文字列に変換するのも冗長。
同じようにoperator<<(ofstream&,int)があるから自分で変換する必要は無い。
008886
2006/06/26(月) 11:49:090089デフォルトの名無しさん
2006/06/26(月) 11:51:00【環境】Visual Stdio.NET2003
【OS】Windows XP
【提出期限】6月29日
【課題内容】2つの実数を文字として取り込み、数値に変換後、
それらの和・積・差・商を求めるプログラムを作成せよ
0090デフォルトの名無しさん
2006/06/26(月) 11:51:05ありがとうございます
非常に勉強になりました
0091デフォルトの名無しさん
2006/06/26(月) 12:01:42[2] 問題文(含コード&リンク):税込みの値段(消費税5%)を入力した時、税別の値段と消費税率を表示せよ。
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:Borland Cpad
[3.3] 言語:C++
[4] 期限:2006年6月27日12:00まで
[5] その他の制限:まだ基本部分しかできてません。お願いします。
009283
2006/06/26(月) 12:05:46>>84、>>85、>>86、>>87、>>88
回答ありがとう御座います。
ひとつ教えて下さい。
"abc.txt"をオープンや書込みする際、
場所の指定がないですが、
指定する方法などはありますか?
0093デフォルトの名無しさん
2006/06/26(月) 12:21:570094デフォルトの名無しさん
2006/06/26(月) 13:33:33[2] 問題文(含コード&リンク):実行してabcdezと入力したらbcdefa、01239と入力したら12340と出力されるようなプログラム。
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン:Visual Studio2005
[3.3] 言語: C言語
[4] 期限: 6/27
[5] if文とwhile文を用いよとのことです。
0095デフォルトの名無しさん
2006/06/26(月) 13:41:36[2] 問題文(含コード&リンク):
三角形の3辺a,b,cで三角形が形成できる場合にはヘロンの公式(下記)で計算した三角形の面積Sを戻り値とし,三角形が形成できないなら
エラーを示す値を戻り値とする関数を作成せよ.
ヘロンの公式は,三角形の面積をSとすると,
S2 = x(x-a)(x-b)(x-c) ただし,x = (a+b+c)/2
三角形の3辺の長さa,b,c(いずれも整数)をキーボードから入力し,この作成したユーザー定義関数を用いて三角形の面積Sを表示するプログラムを作成せよ.
ただし,三角形が形成できない場合には再度a,b,cの入力を促すようにし,三角形の面積Sが計算できるまで繰り返すようにすること.
[実行結果]
三角形の3辺 <a, b, c> : 3 4 10
*** 三角形にならないよ!もう一度入れなおして.
三角形の3辺 <a, b, c> : 3 4 7
*** 三角形にならないよ!もう一度入れなおして.
三角形の3辺 <a, b, c> : 3 4 5
*** 三角形の面積 = 6.000000
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: VisualStudio2003
[3.3] 言語: C
[4] 期限: 6月29日
[5] その他の制限: お願いします!!
0096デフォルトの名無しさん
2006/06/26(月) 13:51:55#include <stdio.h>
#include <string.h>
const char *alphabet = "abcdefghijklmnopqrstuvwxyza";
const char *number = "01234567890";
int main()
{
char buf[128];
int i = 0;
printf("Input phrase : ");
gets(buf);
while (buf[i] != '\0') {
if ('a' <= buf[i] && buf[i] <= 'z') {
putchar(alphabet[buf[i] - 'a' + 1]);
} else if ('0' <= buf[i] && buf[i] <= '9') {
putchar(number[buf[i] - '0' + 1]);
}
i++;
}
return 0;
}
0097デフォルトの名無しさん
2006/06/26(月) 14:04:03#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
double x,y;
char buf[1024];
do
{
printf("実数1を入力してください: ");
fgets(buf,1024,stdin);
}while((sscanf(buf,"%lf",&x))!=1);
do
{
printf("実数2を入力してください: ");
fgets(buf,1024,stdin);
}while((sscanf(buf,"%lf",&y))!=1);
printf("和: %lf\n",x+y);
printf("差: %lf\n",x-y);
printf("積: %lf\n",x*y);
printf("商: %lf\n",x/y);
system("PAUSE");
return 0;
}
0098デフォルトの名無しさん
2006/06/26(月) 14:19:43#include <stdio.h>
#include <math.h>
#include <stdlib.h>
double helon(int a, int b, int c)
{
double x,s;
x = (a + b + c) / 2.0;
s = x * (x - a) * (x - b) * (x - c);
if(s > 0)
return sqrt(s);
else
return -1;
}
int main(int argc, char *argv[])
{
int a,b,c;
char buf[1024];
double s;
while(1){
do{
printf("三角形の3辺 <a, b, c> : ");
fgets(buf,1024,stdin);
}while((sscanf(buf,"%d %d %d",&a,&b,&c))!=3);
if((s = helon(a,b,c)) > 0)
break;
printf("\n*** 三角形にならないよ!もう一度入れなおして.\n\n");
}
printf("\n*** 三角形の面積 = %lf\n",s);
return 0;
}
0100デフォルトの名無しさん
2006/06/26(月) 14:27:21#include <stdio.h>
int main(int argc, char** argv)
{
int n, m, o;
printf("重さあたりの郵便料金を計算します\n重さ=");
scanf("%d", &n);
m = 1800+((n-1)/1000*550);
o = 6750+((n-10001) / 1000*350);
if(n <= 1000)
printf("1800円\n");
else if(n > 1000 && n <= 10000)
printf("%d円\n",m);
else if(n > 10000 && n <= 20000)
printf("%d円\n",o);
else
printf("重量オーバーです\n");
return 0;
}
0101デフォルトの名無しさん
2006/06/26(月) 14:37:00[2] 問題文:引数が素数なら1を、素数でなければ0を返す関数を作り、2から20までの結果を表示するプログラムを作ってください
[3] 環境
[3.1] OS:Windows XP
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:c言語
[4] 期限:今日15:30まで
[5] その他の制限:お願いです(;_;)できるだけ早くお願いします・・・forを使うんですが
0102デフォルトの名無しさん
2006/06/26(月) 14:55:46int func(int num)
{
int i, flag = 0;
for(i = 2; i <= (num - 1); i++){
if(num % i == 0){
flag=1;
break;
}
}
return flag;
}
int main(void){
int flag, i;
for (i = 2; i <= 20; i++){
flag = func(i);
if (flag != 1) printf("%d ", i);
}
return 0;
}
0103デフォルトの名無しさん
2006/06/26(月) 15:03:42#include <stdio.h>
int func(int num)
{
int i, flag = 1;
for(i = 2; i <= (num - 1); i++){
if(num % i == 0){
flag=0;
break;
}
}
return flag;
}
int main(void){
int flag, i;
for (i = 2; i <= 100; i++){
flag = func(i);
if (flag != 0) printf("%d ", i);
}
return 0;
}
0104デフォルトの名無しさん
2006/06/26(月) 15:07:43さらに訂正
for (i = 2; i <= 100; i++){
↓
for (i = 2; i <= 20; i++){
010547
2006/06/26(月) 15:11:210106デフォルトの名無しさん
2006/06/26(月) 16:31:35し,入力される文字列が3文字以上であることは仮定して良い。をお願いします。。
0107デフォルトの名無しさん
2006/06/26(月) 16:44:36[1] 授業単元:c言語
[2] 問題文(含コード&リンク): 長さが3文字以上の文字列を入力として受け付けて,先頭と最後の文字を除いた文字列を出力せよ。ただ
し,入力される文字列が3文字以上であることは仮定して良い
[3] 環境
[3.1] OS: (Windows
[3.2] コンパイラ名とバージョン: (gcc )
[3.3] 言語: (C/C++/どちらでも可)
[4] 期限: ([2006年2月27日
[5] その他の制限: 特にないと思います。。
おねがいします。
0108デフォルトの名無しさん
2006/06/26(月) 16:45:44#include <stdio.h>
main() {
int i;
char* st;
printf("Input Charactors > ");
scanf("%s",st);
for(i=1; st[i+1] != '\0'; i++)
printf("%c",st[i]);
}
0109デフォルトの名無しさん
2006/06/26(月) 16:47:31文字列を扱い慣れてない未熟なソースですまそ。
0110デフォルトの名無しさん
2006/06/26(月) 16:48:51#include <stdio.h>
main() {
int i;
char st[256];
printf("Input Charactors > ");
scanf("%s",st);
for(i=1; st[i+1] != '\0'; i++)
printf("%c",st[i]);
}
0111デフォルトの名無しさん
2006/06/26(月) 16:50:03答えてくださった、>>75>>76の御二方、本当にありがとうございました。
0112デフォルトの名無しさん
2006/06/26(月) 16:55:02ここがよくわからないのですが。。。
for(i=1; st[i+1] != '\0'; i++)
0113デフォルトの名無しさん
2006/06/26(月) 16:57:36移動元に回答があるよ。つーか、なんつう期限だよ。
0114デフォルトの名無しさん
2006/06/26(月) 17:08:51配列の2番目から文字を表示して行き
文字列の最後 \0 を検出する1つ前まで表示ってことだが
まぁ、まだ文字列の最初のところだろうし、どこまで習ったか分からんので
初歩的だと思えるやり方でやってみたが・・・
0115デフォルトの名無しさん
2006/06/26(月) 17:10:47文字列の最後 \0 を検出する2つ前まで表示 ってなるかな。
0116デフォルトの名無しさん
2006/06/26(月) 17:17:30st[i+1] != '\0'
がわからないです。
すいません。。。。。
0117デフォルトの名無しさん
2006/06/26(月) 17:20:39[4] 期限: ([2006年2月27日
どう考えてもとっくに期限は過ぎてます、ありがとうございました
>>116
だから文字列を入れた配列の終わりを検出するまでfor文をiをインクリメントしながら続けて
文字列の終わりの2つ前まで文字の表示を繰り返すってことなんだが
分からないもなにも、授業で何を習ったかこっちも分からんのじゃ、可能な手段を選んで
ソースを書くくらいしかしてやれんよ。もっと良く教科書を読んだら?
0118デフォルトの名無しさん
2006/06/26(月) 17:28:16まぁ、この辺も参考にして。ここは丸投げに対して適当なレスしかせんスレやし。
ttp://homepage3.nifty.com/mmgames/c_guide/14-03.html#S5
0119デフォルトの名無しさん
2006/06/26(月) 17:28:57もう受け取ってもらえないかな??
できました。。。。。。。。。。。。。
いろいろありがとうございます
0120デフォルトの名無しさん
2006/06/26(月) 17:30:47っつか、2月だったら明らかに年度が違うと思うんで
最近出された課題なら6月27日でしょ・・・w
0121デフォルトの名無しさん
2006/06/26(月) 17:43:046月27です。そのとうりです。わたしがわるかったです・
0122デフォルトの名無しさん
2006/06/26(月) 18:13:34あんたが先に書き込んでいたスレにも回答があるよってこと。
移動したときには移動元にもレスがあることがあるからきちんとフォローしなさいよ。
0123デフォルトの名無しさん
2006/06/26(月) 18:34:28[2] 問題文(含コード&リンク): 以下の処理を行うプログラムを作成しなさい.
(1) 80 字以内の英文をgets()を用いて入力し,putchar()を用いて出力する.また,文
字の並びを逆向きにputchar()で出力する.
(2) 80 字以内の英文をgetchar()を用いて入力し,puts()を用いて出力する.
ただし,関数(strcpy(), strcat(), strlen()等)は使用しないこと.ま
た,(1),(2)に対しては,それぞれ文字列へのポインタを仮引数とする関数(例
えば,process1(char *p),process2(char *p))を各自定義し,それら内部で処理させる
こと.処理の流れは以下に示す仕様に従って下さい.
<仕様>
1.メニューを表示し,上記処理(1)か処理(2)のどちらを実行させるか選ば
せる.これは「1」または「2」の入力によって選択させる.
2.上記ステップにおいて,「1」,「2」以外の不適切な入力がなされたときは,再
度メニューを表示し,正しい選択を求める.
3.「1」または「2」の適切な入力がなされたときは,それによって指示される
関数が文字列を処理する.[3] 環境
[3.1] OS: linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C
[4] 期限: 6月28日
[5] その他の制限: よろしくおねがいします
012447
2006/06/26(月) 19:01:05なんとか今日の24:00までにどなたかお願いいたします・・・。
0125デフォルトの名無しさん
2006/06/26(月) 19:29:02#include<stdio.h>
main()
{
printf("キタ━━━━━━(゚∀゚)━━━━━━ !!\n");
}
0126デフォルトの名無しさん
2006/06/26(月) 20:59:00[1] 授業単元:
[2] 問題文(含コード&リンク):
2つの整数n,kを引数として,組み合わせの数nCkを返すユーザー定義関数を用いて,キーボードから非負整数nを入力して(a+b)nを展開するプログラムを作成せよ.
ただし,
(a+b)n = Σi=0n nCi an-ibi
[実行結果1]
何乗?:3
(a+b)^3 = 1 a^3 b^0 + 3 a^2 b^1 + 3 a^1 b^2 + 1 a^0 b^3
[実行結果1]
何乗?:0
(a+b)^0 = 1 a^0 b^0
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: Visual Stdio.NET2003
[3.3] 言語: C
[4] 期限: 6月30日
[5] その他の制限: ヨロシクお願いします
0127デフォルトの名無しさん
2006/06/26(月) 21:21:11#include<stdio.h>
int C(int n,int r){
int a = 1,i;
for(i=1;i<=r;++i)a = a*n/r;
return a;
}
int main(){
int n,i;
printf("何乗?:");scanf("%d",&n);
printf("(a+b)^%d = ",n);
for(i=0;i<=n;++i)
printf("%d a^%d b^%d%s",C(n,i),n-i,i,i==n?"\n":" + ");
return 0;
}
0128デフォルトの名無しさん
2006/06/26(月) 21:23:09あ、テスト用のコードを張ってしまった。
a = a*n/rをa = a*n--/iと置き換えてくれ
0130デフォルトの名無しさん
2006/06/26(月) 21:51:51[2] 問題文(含コード&リンク):
1)任意の貨幣体系(ただし自然数で、価値1の貨幣をふくむ)に対して、与えられたおつりの金額に対して貨幣の総数ができるだけ少なくなるようにそれぞれの貨幣の枚数を計算するプログラムを作成せよ。
2)任意の貨幣体系(ただし自然数で、価値1の貨幣をふくむ)に対して、与えられたおつりの金額に対して貨幣の総数が最小になるようにそれぞれの貨幣の枚数を計算するプログラムを作成せよ。
【実行例】
最初に貨幣を定義する。つまり、86円玉でも952円玉でも、好きなように入力。
その後、価格を入力して、実行結果を出す。
[3] 環境
[3.1] OS:Mac OSX
[3.2] コンパイラ名とバージョン:x code
[3.3] 言語:C
[4] 期限:今週中
[5] その他の制限:できるだけシンプルにする。
if分でできるようなのですが、いまいちわかりません。よろしくお願いします。
0131デフォルトの名無しさん
2006/06/26(月) 21:58:531)と2)の違いって何?
俺頭悪いのかな。何度読み直してもよくわからなかった。
0132デフォルトの名無しさん
2006/06/26(月) 22:02:282) で重複はどうするの?
1 円玉から99円玉まであって、 100円を表すのに 1+99 から50+50 まで 50 通り
の最小解があるけど、どうやって表示するの?
013347
2006/06/26(月) 22:37:05ありがとうございました。
0134デフォルトの名無しさん
2006/06/26(月) 22:39:57ちゃんと噛んで含めるように説明しないとここの連中には荷が重いって。
#漏れも含めてね。
0135デフォルトの名無しさん
2006/06/26(月) 22:45:41[2]問題文:与えられたmain関数の中で呼び出される関数を完成させプログラムを実行させる。(別のファイルに適当な番号と名前、点数を3つで1つのセットをいくつか用意し、それをソートや二分探索して結果を表示する。)
struct student{
int num;
char name[10];
int score;
};
main(){
if((Num=read_file("ファイル名"))==0)
exit(0);
quick_sort(Student,0,Num-1);
while(1){
printf("番号を入力してください。");
if(scanf("%d",&key)==EOF)
break;
if((i=bi_search(key))!=-1)
prinf("番号=%d,名前=%s,点数=%d\n",Student[i].num,Student[i].name,Student[i].score);
else
printf("データがありません。\n");
}
}
[3]環境:
[3.1]OS:Linux
[3.2]コンパイラ名とバージョン:バージョンは分からないのですが、gccでお願いします。
[3.3]言語:Cでお願いします。
[4]期限:2006年7月4日でお願いします。
[5]その他の制限:Cはだいたい習ったのですが、今いち理解できてなくて(TωT)構造体やファイルのことなどがよく分からないので誰かお願いします\(。´□`・。\)
013647
2006/06/26(月) 22:49:06prim法は授業でやっていないので、あまりくわしくはわかりませんでした。
なので、問題文まるまる載せたつもりでしたが、確かにわかりにくいですね。
0137デフォルトの名無しさん
2006/06/26(月) 22:52:46優先キューを使ってはいけないとなると、なかなか見つからないな。
ずっとぐぐって探してるんだが。
0138前スレ949
2006/06/26(月) 23:46:18教えて頂いたプログラム、動作確認し、なんとか期間までに提出できました。
提出を怠ると、問答無用で単位落ちなので、本当に助かりました。
本当にありがとうございました。
0139130
2006/06/27(火) 00:50:48ありがとうございます。(1)は最小ではなくてもよくて、とにかく、できるだけ少なくするようなプログラムで(2)は最少になるプログラムということです。わかりにくい文章で申し訳ございません。
>>132
ありがとうございます。基本的に全検索でしか解けない問題といわれているそうです。貴方がおっしゃっている場合は、どちらでも可です。∵どの通りでも最少になっているため。
すみませんが、よろしくお願いいたします。
0140デフォルトの名無しさん
2006/06/27(火) 01:20:25実行例を、詳しく書いてみて。
0141デフォルトの名無しさん
2006/06/27(火) 01:21:48#include <stdio.h>
#include <stdlib.h>
int cmp(const void *a1, const void *a2){
return (*(int*)a2 - *(int*)a1);
}
int main(){
int i, j, kahe[50], m;
printf("貨幣定義(負値で終了) : \n");
for(i = 0; i < sizeof(kahe) / sizeof(kahe[0]); i++){
scanf("%d", &kahe[i]);
if(kahe[i] < 0)break;
}
qsort(kahe, i, sizeof(int), cmp);//降順に一応ソート
printf("価格 : \n");
scanf("%d", &m);
for(j = 0; j < i; m %= kahe[j], j++)
if(m / kahe[j])printf("%d円%d枚\n", kahe[j], m / kahe[j]);
return 0;
}
0142デフォルトの名無しさん
2006/06/27(火) 02:05:430143デフォルトの名無しさん
2006/06/27(火) 02:06:51#include <stdio.h>
#define NUM 20
int main(){
int value[NUM],cnt=0,i,a,b,w,money,kazu[NUM];
for(i=0 ; i<NUM ; i++)kazu[i]=0;
printf("貨幣(0で終了)?");
scanf("%d",&a);
while(a!=0 && cnt<NUM){
value[cnt] = a;cnt++;printf("貨幣(0で終了)?");
scanf("%d",&a);
}
/* ソート */
for(a=0 ; a<=cnt-2 ; a++){for(b=a+1 ; b<=cnt-1 ; b++){
if(value[a]<value[b]){
w = value[a];value[a] = value[b];value[b] = w;
}}}
printf("金?");scanf("%d",&money);
for(i=0 ; i<cnt ; i++){if(money >=value[i]){
kazu[i]=money/value[i];money-=value[i]*kazu[i];
}}
for(i=0 ; i<cnt ; i++){if(value[i]>0)
printf("%dを%d枚\n",value[i],kazu[i]);
}return 0;}
0144デフォルトの名無しさん
2006/06/27(火) 02:08:130145デフォルトの名無しさん
2006/06/27(火) 02:12:100146デフォルトの名無しさん
2006/06/27(火) 02:12:32市販の本をしっかり読んでりゃできるものばかりだよね?
中にはモロに本の中に書かれているソースを書いて提出してもいける課題もあったぞな
0147デフォルトの名無しさん
2006/06/27(火) 02:13:440148デフォルトの名無しさん
2006/06/27(火) 02:15:46えーと、その話はどこに持って行きたいの?
0149デフォルトの名無しさん
2006/06/27(火) 02:16:36分からないお前に答える必要もなかろう。もっと幅広い文献に目を向けりゃ
程度の低い課題だけでなく、ちょっと厄介なものも解決策が見つかるってことよ。
0150デフォルトの名無しさん
2006/06/27(火) 02:16:410151デフォルトの名無しさん
2006/06/27(火) 02:17:44ふんふん、それでどう話を展開したいのかな?
0152デフォルトの名無しさん
2006/06/27(火) 02:18:04全部 1 円玉で出しても採点側は文句が言えないんじゃないかな?
0153デフォルトの名無しさん
2006/06/27(火) 02:18:59探し出せるということも、スキルの一つだからな。
探し出せない奴がいたって何の不思議も無い。
0154デフォルトの名無しさん
2006/06/27(火) 02:20:26-A;
0155デフォルトの名無しさん
2006/06/27(火) 02:22:45まぁ、それもそうだな。けど、ここでおバカな課題を出す奴は、今後も頼り続けるだろうね。
それで他人が書いたソースを提出して単位取得・・・妙な世の中になったな。
実力のない奴が世に出てくる、まぁ、そいつはいつまでも下っ端だから良いけどなw
0156デフォルトの名無しさん
2006/06/27(火) 02:23:22じゃないのか?
出題ミスか、問題の写し間違えじゃないか?
0157デフォルトの名無しさん
2006/06/27(火) 02:24:46いや、昔からそうだし。
0158デフォルトの名無しさん
2006/06/27(火) 02:25:05A=~A+1
0159デフォルトの名無しさん
2006/06/27(火) 02:26:28下っ端でよかったぢゃないか。どうせのさばれんから問題なし。
0160デフォルトの名無しさん
2006/06/27(火) 02:28:00まぁどうでもいいけど。
0161デフォルトの名無しさん
2006/06/27(火) 02:29:430162デフォルトの名無しさん
2006/06/27(火) 02:30:200163デフォルトの名無しさん
2006/06/27(火) 02:35:400164デフォルトの名無しさん
2006/06/27(火) 02:38:12つい、つっこみたくなるから。
0165デフォルトの名無しさん
2006/06/27(火) 02:42:52http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2189.c
貨幣体系が1 10 25のとき44を計算させると、例えば>>141とは異なる結果になる。
日本語として正しいかはともかく、出題者が意図しているのはこういうことじゃないかと。
0166デフォルトの名無しさん
2006/06/27(火) 02:45:42ファイルのダンプでさえあったしな。っつーわけで、もちっと幅広い観点から
物事を見る目と、情報を得る姿勢を持とうね
>怠け者&何かと他人の意見に自分の意見を押し付けようと口を挟んで否定するキチガイ
0167デフォルトの名無しさん
2006/06/27(火) 02:50:33うーん、貨幣を大きい順に並べて、おつりを超えないもっとも大きな貨幣を
まず選ぶ、っつーのがそもそも納得いかないんだけど、そういわれれば
そういう気もしますな。
0168タロウ
2006/06/27(火) 04:17:06[2] 問題文(含コード&リンク):
・ネピアの定数(e)を少数以下20000桁まで求めるプログラムを作成し、
19991桁から20000桁の10個の数字を表示しなさい。
・以下の公式を使用せよ。
http://img142.imageshack.us/img142/6717/3d669b70f520df87086101fd8490ae.png
・実効時間を低減するための工夫を行い、実効時間がどれだけ低減したか示しなさい。プログラムの解説もつけること。
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: Borland C++Compiler5.5 または Visual Stdio.NET2003
[3.3] 言語: C++
[4] 期限: 6月29日
67代目609でものってました。全然わからないのでやってもらえませんか?
0169デフォルトの名無しさん
NGNG#include<stdio.h>
#include<stdlib.h>
int main(void){char tmp[100];int A;fgets(tmp,sizeof(tmp),stdin);A=atoi(tmp);
printf("%d\n",0-A);return 0;}
0170デフォルトの名無しさん
2006/06/27(火) 04:57:01ttp://www.elc.ees.saitama-u.ac.jp/ProgrammingI/kadai/kadai1.html
これだねぇ。まだ解けないの?
0171デフォルトの名無しさん
2006/06/27(火) 05:03:03ネイピア数の概要
0172デフォルトの名無しさん
2006/06/27(火) 07:48:06http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2190.txt
0173デフォルトの名無しさん
2006/06/27(火) 09:18:26[2] 問題文(含コード&リンク):
名簿管理システム。データの格納にはリスト構造を用いること。 名簿管理システムは以下の機能を持つこと。
1. メンバの追加
2. メンバの削除
3. メンバリストを名前順(アルファベット昇順)で表示
4. メンバリストのファイル出力
5. 引数としてファイルパスを指定することによるメンバ初期データの読込
メンバ情報としては、最低限、名前と学生番号を持つこと。システムの拡張は自由に行ってよい。
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン: BCC
[3.3] 言語: C
[4] 期限: 6月27日まで。
[5] その他の制限: 特になし
リスト構造のサンプルはあるのですが、リスト構造の中にどうやって名前を含めたらいいのかわかりません。
どうかよろしくお願いします。
ttp://www.katsakuri.sakura.ne.jp/src/up14054.txt.html
こちらがサンプルです。
0174デフォルトの名無しさん
2006/06/27(火) 09:41:01その問題は誰かが解いてたが・・・
0175デフォルトの名無しさん
2006/06/27(火) 11:47:46[2]構造体を用い、簡単な複素数の計算をするプログラムを作りなさい。
複素数 x=a + ib y=c + id とし、
それぞれxyを構造体変数として宣言し、数値を入力し、
x+yの値を表示するようにせよ
[3]OS:Linux コンパイラ:gcc 言語:C
[4]期限: 明日です
よろしくお願いします
0176デフォルトの名無しさん
2006/06/27(火) 11:49:39>>168 は作ってもらったプログラムが気に入らないって言っているだけ。
0177デフォルトの名無しさん
2006/06/27(火) 13:13:32#include <stdio.h>
typedef struct tagComplex{
double real;
double image;
}Complex;
Complex add(Complex x , Complex y){
Complex z;
z.real = x.real + y.real;
z.image = x.image + y.image;
return z;
}
int main(int argc, char** argv)
{
Complex x,y,z;
x.real = 3.24;x.image = -1.8;
y.real = 1.92;y.image = 0.4;
z = add(x,y);
printf("x + y = %g + %gi\n",z.real, z.image);
return 0;
}
つくづくこういうのはC++のほうがいいなー、と思う
構造体にもメンバ関数定義できるとはいえ
0178デフォルトの名無しさん
2006/06/27(火) 13:18:01どもです、
いまいち不明瞭なところもなんとなく理解できました。
ありがとうございます。
0179タロウ
2006/06/27(火) 13:55:17どうもありがとうございました。すごく助かります。答えがわかったので、過程は自分でがんばって見ます。
0180デフォルトの名無しさん
2006/06/27(火) 15:59:45[1] 授業単元: 情報プログラミング�T
[2] 問題文(含コード&リンク):
HTTPプロトコルによりウェブサーバと接続し、ウェブコンテンツをキャラクタ端末
(ktermなど)に表示するクライアントプログラムを作成せよ。
ただし、コマンドラインでURLを与えることにより、結果を標準出力に表示するようにする。
もっとも簡易的には、HTMLのタグを削除して<body>〜</body>の間の地のテキストのみを出力するものでよい。
ヘッダ部の<title>タグ、<h1>, <h2>, <h3>, <p>, <br>などのタグ程度は適切に処理できることを期待する。
余力のある場合には、日本語のコード変換などを実装して、複数の日本語サイトでの検証を行うこと。
[3] 環境
[3.1] OS: Vine Linux 2.6
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C言語
[4] 期限: 2006年07月頭ごろ
[5] その他の制限: 特になし。
キャラクタ端末をブラウザにしちゃう系の問題です。
よろしくお願いします。
0181デフォルトの名無しさん
2006/06/27(火) 16:23:45[2] 問題文(含コード&リンク):
10個の数字を入力し,それらを小さいものから順に表示するバブルソートのプログラムを作成せよ.
但し,2つの数字の比較・入れ替えを行う関数 void swap( int flag, int *x, int *y )を作成し,
比較・入れ替えはこの関数を用いて行うこと.
void swap( int flag, int *x, int *y )
引数1: int flag = 1 : x > y なら入れ替える. = 2 : x < y なら入れ替える
引数2: int *x 1つ目の値xへのポインタ
引数3: int *y 2つ目の値yへのポインタ
[3] 環境
[3.1] Windows XP
[3.2] borland C + cpad
[3.3] 言語: C
[4] 期限: 本日中
[5] その他の制限: 特にありません
よろしくお願いします。
0182デフォルトの名無しさん
2006/06/27(火) 16:26:01> ブラウザにしちゃう系
この言葉遣いでやる気0
0183デフォルトの名無しさん
2006/06/27(火) 16:28:42もともとやる気なんかないくせにw
0184デフォルトの名無しさん
2006/06/27(火) 16:32:340185デフォルトの名無しさん
2006/06/27(火) 16:44:06http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2192.c
0186デフォルトの名無しさん
2006/06/27(火) 16:47:28[2] 問題文(含コード&リンク):
0と1が300~400ほど並んだ乱数列をLempel-Ziv符号化せよ。
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: borland C
[3.3] 言語: C
[4] 期限: 3日以内
[5] その他の制限: 特にないです
0188デフォルトの名無しさん
2006/06/27(火) 16:55:00あと締め切りが曖昧。解くのには関係ないけど。
0189デフォルトの名無しさん
2006/06/27(火) 16:58:59HTTP1.1 の実装って結構へこたれるんだけど、
永続的な接続とか、Transfer-Encoding の chanked とか対応しないと
まずいんだよね?
0190デフォルトの名無しさん
2006/06/27(火) 17:00:14Lempel-Ziv符号化の方法は
http://yougo.ascii24.com/gh/14/001433.htmlのスライド辞書法です
0191デフォルトの名無しさん
2006/06/27(火) 17:45:28[2] 問題文(含コード&リンク):
文字列を反転させるプログラムを作成せよ。半角英数字のみに対応したものでよい。
[3] 環境
[3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン: borland C
[3.3] 言語: C
[4] 期限: 29日まで
[5] その他の制限:
配列は一つまで。逆から出力させるのではなく、ちゃんと交換してから出力すること
初めてのご依頼です。条件がきつくて作れませんでした。ポインタは習ってません
0192デフォルトの名無しさん
2006/06/27(火) 18:01:570193デフォルトの名無しさん
2006/06/27(火) 18:07:51#include <stdio.h>
#include <string.h>
int main()
{
char buf[128];
int i, len;
char c;
printf("Input string: ");
gets(buf);
len = strlen(buf);
for (i = 0; i < len / 2; i++) {
c = buf[i];
buf[i] = buf[len - i - 1];
buf[len - i - 1] = c;
}
printf("%s\n", buf);
return 0;
}
0194デフォルトの名無しさん
2006/06/27(火) 18:21:28prot 80でコネクション張って、GETコマンド発行すればいいだけじゃね?
別にブラウザ作れっていってるわけじゃなさそうだし。
0195デフォルトの名無しさん
2006/06/27(火) 18:22:18#include <string.h>
int main(){
int i,len;
char w;
char a[128];
printf("文字?");
gets(a);
len = strlen(a);
for(i=0; i<len/2 ; i++){
w = a[i];
a[i] = a[len-i-1];
a[len-i-1] = w;
}
printf("%s",a);
return 0;
}
0196デフォルトの名無しさん
2006/06/27(火) 18:35:54void swap( int flag, int *x, int *y ){
int w;
if((flag==1 && *x > *y ) || (flag==2 && *x < *y)){
w = *x ;
*x = *y ;
*y = w ;
}
return;
}
int main(){
int i,j,t[10];
for(i=0 ; i<10; i++){
printf("Number[%d]?",i);
scanf("%d",&t[i]);
}
for(j=9 ; j>=0 ; j--){
for(i=0; i<j ; i++){
swap(1,&t[i],&t[i+1]);
}
}
for(i=0 ; i<10 ; i++)
printf("%d\n",t[i]);
return 0;
}
0198デフォルトの名無しさん
2006/06/27(火) 19:26:43C初心者の俺が書いたらもの凄くめちゃくちゃなソースになりました。
#include<stdio.h>
#include<string.h>
int main(void)
{
char buf[128],buf2[128],temp;
int i,j=0;
printf("Input strings:");
gets(buf);
for(i=(int)strlen(buf);i>=0;i--){
temp=buf[i];
buf2[j]=temp;
j++;
}
for(i=1;i<(int)strlen(buf)+1;i++){
printf("%c",buf2[i]);
}
printf("\n");
return 0;
}
0199デフォルトの名無しさん
2006/06/27(火) 19:27:360200デフォルトの名無しさん
2006/06/27(火) 19:28:350201デフォルトの名無しさん
2006/06/27(火) 19:30:12#include<stdio.h>
#include<string.h>
int main(void)
{
char buf[128],buf2[128];
int len,i,j=0;
printf("Input strings:");
gets(buf);
len=(int)strlen(buf);
for(i=len;i>=0;i--){
buf2[j]=buf[i];
j++;
}
for(i=1;i<len+1;i++){
printf("%c",buf2[i]);
}
printf("\n");
return 0;
}
0202デフォルトの名無しさん
2006/06/27(火) 19:30:15>配列は一つまで
0203デフォルトの名無しさん
2006/06/27(火) 19:31:030204デフォルトの名無しさん
2006/06/27(火) 19:31:35色々破綻しました。。
0205デフォルトの名無しさん
2006/06/27(火) 19:37:49[2] 問題文(含コード&リンク):
[3] 環境
[3.1] OS: (Windowsxp)
[3.2] コンパイラ名とバージョン: [3.3] 言語: C++)
[4] 期限: 今夜中
課題1 配列a[5]={1,5,6,-1,-3}が入っているとき、最小値と最大値を求めて出力するプログラムを作成すること。ポインタを使
った場合と使わない場合の両方でプログラムをつくること!
0206デフォルトの名無しさん
2006/06/27(火) 19:41:270207デフォルトの名無しさん
2006/06/27(火) 19:46:55ポインタ(演算)を全く使わないで作れるのなら漏れも教えて欲しい。
それにしても「配列...が入っている」って、斬新な表現だな。
#配列aに初期値何がしが入っていると言う意味なんだろうけど。
0208デフォルトの名無しさん
2006/06/27(火) 20:00:58int main(){
int a[5]={1,5,6,-1,-3}, max, min, i;
max = min = a[0];
for(i=1; i < 5; i++){
if (min > a[i]) min = a[i];
if (max < a[i]) max = a[i];
}
printf("最小値%d 最大値%d\n", min, max);
return 0;
}
#include <stdio.h>
int main(){
int a[5]={1,5,6,-1,-3}, max, min, i;
int *p = a;
max = min = *p++;
for(i = 1; i < 5; i++, p++){
if (min > *p) min = *p;
if (max < *p) max = *p;
}
printf("最小値%d 最大値%d\n", min, max);
return 0;
}
0209デフォルトの名無しさん
2006/06/27(火) 20:03:26class A{
private:
int a[5],MAX,MIN;
public:
A(){
a[0]=1; a[1]=5; a[2]=6; a[3]=-1; a[4]=-3;
}
int MAX_OUT(void); int MIN_OUT(void);
};
int A::MAX_OUT(){
MAX=a[0];
for(int i=1; i<5;i++)
if(a[i]>MAX)MAX=a[i];
return MAX;
}
int A::MIN_OUT(){
MIN=a[0];
for(int i=1; i<5;i++)
if(a[i]<MIN)MIN=a[i];
return MIN;
}
int main(){
A a;
std::cout << "最大値" << a.MAX_OUT() << std::endl; std::cout << "最小値" << a.MIN_OUT() << std::endl;
}
0210デフォルトの名無しさん
2006/06/27(火) 20:08:58#include <algorithm>
#include <iostream>
int main()
{
int a[] = {1, 5, 6, -1, -3};
std::cout << "最小値" << * std::min_element(a, a + sizeof(a) / sizeof(*a)) << std::endl;
std::cout << "最大値" << * std::max_element(a, a + sizeof(a) / sizeof(*a)) << std::endl;
return 0;
}
0211191
2006/06/27(火) 20:21:07けど見たこと無い関数ばっかりだ。なんも習ってないことがわかった。
ちょっとずつ解明していきます。
0212デフォルトの名無しさん
2006/06/27(火) 20:27:31解答する気ないなら来なくていいよ。
0213デフォルトの名無しさん
2006/06/27(火) 20:29:38#include<iostream>
#include<algorithm>
#include<numeric>
#include<limits>
#include<utility>
using namespace std;
pair<int,int> f(const pair<int,int>&v,int n){
return make_pair(min(v.first,n),max(v.second,n) );
}
int main(){
int a[5]={1,5,6,-1,-3};
pair<int,int> v = accumulate(a,a+5,
make_pair(numeric_limits<int>::max(),numeric_limits<int>::min()),f
);
cout << "min = " << v.first << endl;
cout << "max = " << v.second << endl;
}
0214デフォルトの名無しさん
2006/06/27(火) 20:34:05なるほど。
accumulateをそういう風に使えるとは考えもしなかった。
0215超初心者
2006/06/27(火) 20:51:01[2] 問題文:順列・組合せ
キーボードから2つの整数値nとmを入力し、n個の中から
m個取り出すときの順列と組合せを求めるプログラムを作成
してください。ただし、nとmの入力処理は、処理可能な範
囲が入力されるまで繰り返すようなアルゴリズムにしてくだ
さい。
[3] 環境
[3.1] OS:XP
[3.2] コンパイラ名とバージョン:よくわかりません。
[3.3] 言語:C
[4] 期限:28日水曜日午後5時
[5] その他の制限:最近defineやdo〜while文を習った。
0216デフォルトの名無しさん
2006/06/27(火) 22:49:53[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2193.txt
のプログラムを改良して、文字列を読み込んで以下すべて出力するプログラムを作成せよ
読み込んだ文字列の長さ
読み込んだ文字列中のスペースの数
大文字と小文字を区別しないときの各アルファベットの数
上記の数の比率
大文字と小文字を区別しないときの27種類の文字(スペースとアルファベット)各2文字組みの出現回数。
例
abAb c13cB
[a or A][b or B]の2文字組は2個、
[b or B][a or A]の2文字組は1個、
↑この2つは区別
[b or B][スペース]の2文字組は1個
[スペース][c or C]の2文字組は1個
[c or C][c or C]の2文字組は0個 間に他の文字が入ってるときは、並びとみなさない
[c or C][b or B]の2文字組は1個
[3] 環境
[3.1] OS:Xp
[3.2] コンパイラ名とバージョン: Borland
[3.3] 言語: C
[4] 期限: 金曜日
[5] その他の制限:なし
よろしくお願いします!
0217デフォルトの名無しさん
2006/06/27(火) 22:53:03#include <stdio.h>
int main (void)
{
float n,m,flg1=0,flg2=0;
int a,b,c=1,d=1,i=0,e;
while((flg1!=1)||(flg2!=1))
{
if(flg1!=1)
{
printf("nの値を入力-->");
scanf("%f",&n);a=n;
if((n<1)||(n-a!=0))
{
printf("1以上の整数を入力して下さい。\n");
continue;
}
flg1=1;
}
printf("mの値を入力-->");
scanf("%f",&m);b=m;
if((m<1)||(m-b!=0))
0218デフォルトの名無しさん
2006/06/27(火) 22:53:47{
printf("1以上の整数を入力して下さい。\n");
continue;
}
flg2=1;
for(b=1;b<=m;b++)
{
c*=(n-i);
i++;
}
i=1;
for(e=1;e<=m;e++)
{
d*=i;
i++;
}
printf("n個の中からm個取り出すときの順列と組合せは%d通り\n",c/d);
}
return 0;
}
0219前スレ609
2006/06/28(水) 00:10:52[2] 問題文(含コード&リンク):
・ネピアの定数(e)を少数以下20000桁まで求めるプログラムを作成し、
19991桁から20000桁の10個の数字を表示しなさい。
・以下の公式を使用せよ。
ttp://img142.imageshack.us/img142/6717/3d669b70f520df87086101fd8490ae.png
・実効時間を低減するための工夫を行い、実効時間がどれだけ低減したか示しなさい。プログラムの解説もつけること。
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: Borland C++Compiler5.5 または Visual Stdio.NET2003
[3.3] 言語: C++
[4] 期限: 6月29日
調べた結果結局良くわからない始末で、、どうかよろしくお願いいたしますm(_ _)m
プログラム:ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2194.txt
のプログラムの実効時間を計ろうとしたら以下のようなエラーが出てしまいました。。
どこがいけないのか分かりません。よろしくお願いします。
警告 W8004 q1.cpp 50: 'millisec' に代入した値は使われていない(関数 main(int,char * *) )
警告 W8004 q1.cpp 50: 'sec' に代入した値は使われていない(関数 main(int,char * *) )
警告 W8057 q1.cpp 50: パラメータ 'argc' は一度も使用されない(関数 main(int,char * *) )
警告 W8057 q1.cpp 50: パラメータ 'argv' は一度も使用されない(関数 main(int,char * *) )
エラー E2451 q1.cpp 201: 未定義のシンボル timebuffer(関数 to_decimal(unsigned int *,unsigned int *) )
エラー E2451 q1.cpp 202: 未定義のシンボル sec(関数 to_decimal(unsigned int *,unsigned int *) )
エラー E2451 q1.cpp 203: 未定義のシンボル millisec(関数 to_decimal(unsigned int *,unsigned int *) )
エラー E2451 q1.cpp 205: 未定義のシンボル elapsed_time(関数 to_decimal(unsigned int *,unsigned int *) )
*** 4 errors in Compile ***
[2] 問題文(含コード&リンク):
・適当な標準ライブラリ関数を見つけて
キーボードから文字列を順次読み込んで、それが文字列quitと一致するまで
その入力を繰り返す簡単なプログラムを作れ
・関数は呼び出しで使用されるが、ソースコード上で呼び出される箇所より
前の箇所に関数定義もしくはプロトタイプ宣言が無ければ
コンパイルエラーとなる。しかし、標準ライブラリ関数はユーザが関数定義も
プロトタイプ宣言も明示的に記述していないのも関わらず呼び出して
使用することができる、この理由を、ライブラリ関数定義もしくは
プロトタイプ宣言の実体がどこにあるかを踏まえて説明せよ。
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C++
[4] 期限: 7月4日
[5] その他の制限:関数定義、関数呼び出し、プロトタイプ宣言、
標準ライブラリ関数をちょっと習い始めました。
私用している参考書は高橋麻奈著やさしいC++です。
よろしくお願いします。
0221デフォルトの名無しさん
2006/06/28(水) 01:28:16errorの変数群は関数内で宣言されてるわけでも、グローバルな
わけでも、引数として渡されているわけでもない。
0222デフォルトの名無しさん
2006/06/28(水) 01:29:09#include <iostream>
using namespace std;
main() {
char* str;
do {
cout << "Input > ";
gets(str);
}while(str=="quit");
}
0223デフォルトの名無しさん
2006/06/28(水) 01:30:260224デフォルトの名無しさん
2006/06/28(水) 01:38:29#include<stdio.h>
int kaijou(int x){ //階乗を求める関数
int i;
int sum=1;
for(i=x;i>0;i--) sum = sum*i;
return sum;
}
int main(void){
int n, m, i;
int junretu;
int kumi;
do{
printf("nを入力->");
scanf("%d", &n);
}while(n == 0); //0以外が入力されるまでnの入力を求める
do{
printf("mを入力->");
scanf("%d", &m);
}while(n < m); //n>m となるmが入力されるまでmの入力を求める
junretu = kaijou(n)/kaijou(n-m);
kumi = kaijou(n)/(kaijou(n-m)*kaijou(m));
printf("%dP%d=%d\n", n, m, junretu);
printf("%dC%d=%d\n", n, m, kumi);
return 0;
}
0225デフォルトの名無しさん
2006/06/28(水) 01:40:39#include<iostream>
#include<string>
using namespace std;
int main(){
std::string str1,str2 = "quit";
do{
std::cin >>str1;
}
while(str1 != str2);
}
0226デフォルトの名無しさん
2006/06/28(水) 01:42:36本当にC++だよな?
0227デフォルトの名無しさん
2006/06/28(水) 01:47:04#include <iostream>
using namespace std;
main() {
char* str;
do {
cout << "Input > ";
cin >> str;
}while(strcmp(str,"quit"));
}
0228デフォルトの名無しさん
2006/06/28(水) 01:52:12>>220には
>私用している参考書は高橋麻奈著やさしいC++です。
って書いてあるガーナが負けてもうた・・・
0229デフォルトの名無しさん
2006/06/28(水) 01:57:28てか2点目の線審はありえない
0230デフォルトの名無しさん
2006/06/28(水) 01:58:35もっとがんばれ
0231デフォルトの名無しさん
2006/06/28(水) 02:03:08悪い事は言わないから、std::string str;にしとけ。
比較部分は if (str == "quit") で。
0232デフォルトの名無しさん
2006/06/28(水) 02:03:51#include<iostream>
using namespace std;
main(){
string str1;
do{
cout << "Input > ";
cin >>str1;
}while(str1 != "quit");
}
0233デフォルトの名無しさん
2006/06/28(水) 02:14:21#include<string>
using namespace std;
int main() {
std::string str1,str2 = "quit";
do{
std::getline(cin,str1,'\n');
}
while(str1 != str2);
}
標準関数使ってましぇーん
0234デフォルトの名無しさん
2006/06/28(水) 02:16:37でいいじゃん
0235デフォルトの名無しさん
2006/06/28(水) 02:42:450236デフォルトの名無しさん
2006/06/28(水) 02:49:28[2] 問題:
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2195.txt
↑の問題を自分なりに解いた結果↓
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2196.txt
コンパイルしてみたら、無限ループしたり、コアダンプしたりでまったく
うまく動きません。いったいどこをどのように直せばよいか、教えてください。
[3] 環境
[3.1] OS:UNIX
[3.2] コンパイラ名とバージョン:Borland
[3.3] 言語: C
[4] 期限:明日の昼ごろですが、早ければ早いほど嬉しいです。
[5]その他の制限 : 構造体を3つ使う、ファイルは3つ使う。
よろしくお願いします。
0237デフォルトの名無しさん
2006/06/28(水) 03:43:53Use fread and fwrite, Luke.
0238デフォルトの名無しさん
2006/06/28(水) 04:00:47ちらっとしかコード見てないけど、そのコード、コンパイル通ってないでしょ。
少なくともコンパイルできるコードをアップするか、いちから解答を求めて
ください(そのほうが楽)。
まぁひとついえることは、fputsに渡すバッファはヌルターミネートしてないと駄目。
あとスペルミスは恥ずかしいので修正するように。cordじゃなくてcodeね。
0239デフォルトの名無しさん
2006/06/28(水) 04:05:37所属コードのバイト数はそれでいいのかな?
0240デフォルトの名無しさん
2006/06/28(水) 04:22:52【2】問題文
練習問題6
まずはこのプログラムがどういった動きであるものかを見る。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2197.txt
これはポインタ,ないしは配列を用いて数値を画面に表示するプログラムである。
このように格納されている数値を参照する場合は複数の表現が同じ事柄を示す。
このプログラムの動作の各表現の意味を解説し、
各変数のメモリ上での割り当て(どのアドレスがどの変数の格納位置に相当するか)を
実際の実行時の表現と合わせて簡単な表にして示せ。
プログラムを作成する課題ではないのですが、
いまいち良く分からなくて…。 よろしくお願いします。
0241デフォルトの名無しさん
2006/06/28(水) 04:40:52http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2198.txt
0242デフォルトの名無しさん
2006/06/28(水) 05:02:13>>220に対する回答とか。
0243デフォルトの名無しさん
2006/06/28(水) 05:10:44std::がなくてもええんしょ?
0244デフォルトの名無しさん
2006/06/28(水) 05:21:21#include<string.h>
int main(void)
{
char str[256];
do{
printf("Input:");
gets(str);
}while(strcmp(str,"quit"));
return 0;
}
0245デフォルトの名無しさん
2006/06/28(水) 05:22:04自分のソース内でusing namespace std;した上で省略するのは構わないと思うよ。
0246242
2006/06/28(水) 05:25:02それは俺に対するコメントかな?
>>220に対する回答のほかにも、>>198とかもそう。
稚拙なコードを示して、レビューしてもらうスレではない。
同じような内容の回答が既に複数出ているのに、なぜ新たに稚拙なコードを貼るのか?
それにコメントする奴も出てきて、スレが無駄に伸びるだけ。
0247デフォルトの名無しさん
2006/06/28(水) 05:29:07自治厨ウザイ
0248デフォルトの名無しさん
2006/06/28(水) 05:33:42いや、stdに関してはお前へのレスじゃないよ。
稚拙なコードとかは明らかに「お前の判断基準」になるんで
何が稚拙とかは議論せず。ぐだぐだ言うくらいならお前がソースを提出しろ!
ってのが、過去の言い争いでの結論だからw
出さないなら「黙ってろ」ってことで、俺もこれ以上無駄レスせんから。
>それにコメントする奴も出てきて、スレが無駄に伸びるだけ。
わかってんならお前も無駄レスしないこと、そしてオレモナー
0249デフォルトの名無しさん
2006/06/28(水) 05:34:35うざい
0250デフォルトの名無しさん
2006/06/28(水) 05:35:39前もこんなやついたなw
0251242
2006/06/28(水) 05:36:19(特に)君とはやりあう気は全くないが、>>198などは特に見苦しい。
書いた本人がそういってるじゃない。初心者が書いたらめちゃくちゃになったコードだと。
まあ、自重してくれとお願いするしかないわけだけど。
0252242
2006/06/28(水) 05:39:40その前の奴は俺じゃないがな。
このスレで特にひどくなった気がしたので書いた。>>191などは、もう
同じような回答がいくつもいくつも。
俺からは、この件ではもう何も書かない。
また回答生活に戻る。
0253デフォルトの名無しさん
2006/06/28(水) 05:43:52それが一番いいと思われ
0254デフォルトの名無しさん
2006/06/28(水) 05:53:52明らかに稚拙なコードは存在するよ
0255デフォルトの名無しさん
2006/06/28(水) 05:56:57お前がレスしないことが、スレが無駄に間延びしない一番の方法なんだがなw
0256デフォルトの名無しさん
2006/06/28(水) 06:03:45自分のコードに自信があるなら他人のコードに興味なんてないだろうからな。
#尤も、漏れみたいに他人のコードに突込みどころを探すためにここにいるのもいるけどな。
0257デフォルトの名無しさん
2006/06/28(水) 06:05:23何このサンドバック
0258デフォルトの名無しさん
2006/06/28(水) 06:07:09見苦しい。無駄レスするなって言われたばかりだろ・・・
お前らもソースだせYO!
0259デフォルトの名無しさん
2006/06/28(水) 06:15:250260デフォルトの名無しさん
2006/06/28(水) 06:19:46自分のコードには自信あるよ。プロだし。
他人の稚拙なコードが気になるのは、俺がプロだから。
他人のコードに突っ込んだことは、宿題スレでは過去に一度しかない。
ゴミコードにアドバイスしたって無駄だし。
それに、プロでも仕事じゃないから解答するとしてもゆるいコード書くだろうし。俺がそうだ。
0261デフォルトの名無しさん
2006/06/28(水) 06:30:45たとえそうだとしても、そのレス自体が無駄だって気づいてね。
そしてお前はプロだと思っているのは、自分が書いたものではなく
プロが書いたものを真似ただけのものだと気づくであろう
0262デフォルトの名無しさん
2006/06/28(水) 06:33:58まあお前のレスも無駄レスだからお互い様だな。
後半2行は意味不明。
0263デフォルトの名無しさん
2006/06/28(水) 06:42:56あるぇ〜〜、プロがこんなところに何の用だ?自称プロか。
お前の書いたソースで出来上がったプログラムはバグだらけだろうね・・・
所詮、他人のソースを真似て勉強した口だろ?だからプロの真似をしただけで
お前がプロじゃないんだよw
0264デフォルトの名無しさん
2006/06/28(水) 06:52:160265デフォルトの名無しさん
2006/06/28(水) 06:56:11まあ何とでもほざけ。
プロになれなかったのが悔しいのかな?
0266デフォルトの名無しさん
2006/06/28(水) 07:27:40ま た お 前 か
0267デフォルトの名無しさん
2006/06/28(水) 07:39:12>>190
お願いしますorz
0268デフォルトの名無しさん
2006/06/28(水) 09:47:13[2] 問題:文字を引数として、その文字がアルファベットの何番目の文字であるか返し、英文字ではない場合-1を返す整数型の関数abc(ch)を使ったプログラムを作成してください
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C
[4] 期限: 今日中
[5] その他の制限:なるべく早くお願いします
0269デフォルトの名無しさん
2006/06/28(水) 10:12:55大文字小文字区別する?
0270デフォルトの名無しさん
2006/06/28(水) 10:18:250271デフォルトの名無しさん
2006/06/28(水) 10:18:52int abc(char ch);
int main(void)
{
char ch=getchar();
printf("%d",abc(ch));
return 0;
}
int abc(char ch)
{
int i=ch,j;
for(j=65;j<=90;j++){
if(j==i) return i-64;
}
for(j=97;j<=122;j++){
if(j==i) return i-96;
}
return -1;
}
0272デフォルトの名無しさん
2006/06/28(水) 10:19:49[2] 問題
名前と点数を格納するデータ部を持つ自己参照型構造体を定義し、
線形リストを実装しなさい。
構造体の名前は struct grade とし、新たに glist 型として定義する。
構造体のメンバは、char name[40]、int score、及びポインタnext。
ノードは3つ作成し、それぞれキーボードからデータを入力する。
ポインタに値を代入し、ヘッダhdと3つのノードの間を繋ぐ。
読み出し用のポインタpを使って、リストのデータを順に画面に出力する。
【ヒント】
実習時間中にスライドの指示に沿って作成したコードを提出しても良い。
余力のある人は、ノードを作成する際に動的にメモリを確保するコードを作成すること
(より効率的なコーディングが可能となる)。
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン:visual studio.2003
[3.3] 言語: C
[4] 期限: 今日中
[5] その他の制限:なるべく早くお願いします
0273デフォルトの名無しさん
2006/06/28(水) 10:22:510274デフォルトの名無しさん
2006/06/28(水) 10:29:38[2] 問題文
1、各データ型(char,int,float,double)の変数とポインタ変数をそれぞれ宣言し、各データ型変数のアドレスを同じデータ型の
ポインタ変数に代入した上で、各データ型変数とポインタ変数の内容と各変数アドレスを表示せよ。ただし、同じ値と思われる
ものを一行で表示する。
2、char a[9]={65,66,69,70,71,72,73,0},*p;と宣言し、p=&a[4];とすると、文字配列aの各要素のアドレスとポインタ変数pの内容
を表示し、また、++*p,(*p)++,--*p,(*p)--の値も表示せよ。この時、括弧をつけない場合の*p++,*p--の結果も表示して確認する。
3、int a[9]={10,15,20,25,30,35,40,45,50},*p;を宣言し、p=&a[4];文の後に、p++,++p,--p,p--の各実行文を実行した場合、*p
の結果を出力せよ。また、p=&a[0];文の後に、*(p+1),*(p+2),*(a+1),*(a+2)の値を出力せよ。
4、文字列の長さを求める標準ライブラリ関数strlen()の自作版関数int mystrlen(char *)を作成せよ。
[3] 環境
[3.1] OS: windowsXP
[3.2] cygwin
[3.3] C言語
[4]期限 午後13時までです。(今日)
0275216
2006/06/28(水) 10:51:070276デフォルトの名無しさん
2006/06/28(水) 14:19:15[2] 問題文: 階乗を計算するdouble型の関数を使い、1から10までの階乗を表示するプログラムを作成してください。引数を使わないで、外部変数を使って、main関数からユーザー関数に、1から10までの値を送ってください。
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 今日
[5] その他の制限:お願いします。なるべく早く・・・
0277デフォルトの名無しさん
2006/06/28(水) 14:37:44どこをどう読んだら>>263がプロになれなかったという憶測ができるのやら
お前がプロかどうかなんて、こんなスレに来ているようじゃ明らかに
ありえねぇーってのはバレバレだから、痛々しい自慢にもならねー
クソソース貼り付けてプロ気取ってんじゃねーよw
0278デフォルトの名無しさん
2006/06/28(水) 14:38:58まだトーマス氏の方が難しそうな数学の公式を使ったプログラムでは
プロっぽいと思えるけどw
0279デフォルトの名無しさん
NGNG0280デフォルトの名無しさん
2006/06/28(水) 14:56:42double型に指定して宣言するのやら・・・引数もなくその型すらdoubleでなくても良いし。
double型の値を返す関数でもなさそうだし・・・
#include <stdio.h>
int i,x=1;
double kaijo() {
printf("%2d! = %d\n",i,x*=i);
return 0;}
main() {
for(i=1; i<=10; i++)
kaijo();}
0281デフォルトの名無しさん
2006/06/28(水) 14:57:22頭大丈夫?
0282デフォルトの名無しさん
2006/06/28(水) 14:58:33君何度もバーチャル人格を捨ててるつもりなんだろうけど、
全く変わってないからバレバレなんだけど。
0283デフォルトの名無しさん
2006/06/28(水) 14:59:30まぁ、自分が知っているのは一例しかないけど
フィボナッチのは効率の良さがはっきりしてたかと。
課題の趣旨は満たしていなかったが、それは課題を無視して
効率の良いプログラムとしては十分な結果をだせていたし。
しかし、妙な課題が多いスレだね・・・
そんなスレに来て自分はプロって、プロならこんなところで油売ってねーよなw
自分は趣味程度でやっているけど、まだまだだし、プロを目指す気はないがw
0284デフォルトの名無しさん
2006/06/28(水) 15:00:26君何度もバーチャルパーソナルを捨ててるつもりなんだろうけど、
短時間で複数を装う自作自演がバレバレなんだけど。
0285デフォルトの名無しさん
2006/06/28(水) 15:02:21>>256
自分のコードには自信あるよ。プロだし。
他人の稚拙なコードが気になるのは、俺がプロだから。
260 名前:デフォルトの名無しさん 投稿日:2006/06/28(水) 06:19:46
>>256
自分のコードには自信あるよ。プロだし。
他人の稚拙なコードが気になるのは、俺がプロだから。
とても恥ずかしくてこんなスレでプロなんて言えないね・・・
こんなレベルの低いスレで、自分より下だと思う奴を前の前にしか
でけぇ面ができない小心者だろ?プロ?クソなプログラムを作って
ユーザのコンピュータを困らせるなよ
0286デフォルトの名無しさん
2006/06/28(水) 15:03:29ああ、そういう返ししかもう出来ないんだね。
いつもそうだ。困ったらそういう返しする。
>>281=>>282ってあたりまえじゃん。なんかおかしい?日本語大丈夫?
0287デフォルトの名無しさん
2006/06/28(水) 15:04:16ここで「プロフェッショナル」として「無償」でソースを書いてやってんのか?
職業としてやってないのに「プロ」ってありえねぇ〜からw
プロフェッショナルの意味も理解していない低学(ry乙
0288デフォルトの名無しさん
2006/06/28(水) 15:04:47低学歴ニートだから、そうやって社会人をこきおろすことでしか、
アイデンティティを保てないんだよね。
かわいそうに。
0289デフォルトの名無しさん
2006/06/28(水) 15:05:28君いつも昼間からいるよね?
何してる人?
0290デフォルトの名無しさん
2006/06/28(水) 15:08:17君さー、以前大学に関してありえない妄想書いて大恥かいたの忘れちゃったの?
プロがここにいてもおかしくないじゃん。ああ嫉妬心というやつか。
0291デフォルトの名無しさん
2006/06/28(水) 15:15:24よっぽど市販の本の課題をこなしていた方がレベルアップにもなるよ
っつか、何お前ら噛み付いてきてんの?
>>290
>大学に関してありえない妄想
知らんガニ。お前が勝手に相手を勘違いしているだけだな
少なくともオレは大学について何か勝手なことを言った覚えはないが?
あとさぁ、このスレに来て自分の書くソースはプロだって、アホじゃね?
ろくにプロと言えるソースも出さない奴が多いのがバレバレなのにw
http://dictionary.goo.ne.jp/search.php?MT=professional&search_history=%A5%D7%A5%ED%A5%D5%A5%A7%A5%C3%A5%B7%A5%E7%A5%CA%A5%EB&kind=je&kwassist=0&ej.x=50&ej.y=11&ej=%B1%D1%CF%C2&mode=0
プロフェッショナルの意味も理解しておいてね。
まぁ、専門で毎日やっているからって、そいつがまともなソースを書くとも限らない。
世に出るプログラムで欠陥が多くサポートするものが多いし
バグや不具合の少ないメーカーに所属しているなら、どこに所属しているか書けよ?
0292デフォルトの名無しさん
2006/06/28(水) 15:20:450293デフォルトの名無しさん
NGNGdoubleの方が扱える値の範囲が広いので、戻り値をdoubleにするのはアリ。
戻り値が32bit整数だと、せいぜい21!くらいまでしか計算できない。
>>283
効率つーか、一般項を求める漸化式があるなら使うのは常識つーか。
級数の計算をプログラムで書くときにはまず数学的に一般化しないかな?
0294デフォルトの名無しさん
2006/06/28(水) 15:33:19あれは再帰の項目でフィボナッチを使ってみよー!って課題だったみたいだし
別にそれについてはどうこう言わないけどね
0295デフォルトの名無しさん
2006/06/28(水) 15:36:13ヒント:頭のおかしい人の相手はしないようにしましょう
0296デフォルトの名無しさん
NGNGつーか、無限級数を再帰で実装するという課題の意味が分からん…
そういう用途には再帰は向いてないことを確認する課題なんだろか。
0297デフォルトの名無しさん
2006/06/28(水) 15:40:24なんかしらんがお前が「プロ」に噛み付いてるんだろ。
まぁ、俺もプロなんだがw
来ちゃいけないか?プロが。
0298デフォルトの名無しさん
2006/06/28(水) 15:42:19>そういう用途には再帰は向いてない
そうかもね。ソートでもバブルソートから習って、まずは効率の悪いプログラムを知って
それじゃ、どうしたら効率が良くなるか?って流れもあるかもね。
そこで、高校、大学で習った数学を適用しようかと。
マクローリンは大学の講義で聞いた覚えがあるけど、自分はもう忘れとった・・・
0299デフォルトの名無しさん
NGNGそういや、自己参照構造体でスタックを実装するなんて課題もあったな。
実装実験つーか、SMプレイみたいな趣だ。
0300デフォルトの名無しさん
2006/06/28(水) 16:56:52自己を慰めるスレなんだよ。
0301デフォルトの名無しさん
NGNG0302デフォルトの名無しさん
2006/06/28(水) 17:01:38この板は少なくとも半数以上はプロだと思っていたが、俺の認識違いだったか。
0303デフォルトの名無しさん
2006/06/28(水) 17:06:53回答者の勉強にはなるやろ。
0304デフォルトの名無しさん
2006/06/28(水) 17:09:05このスレは少なくともプロなんていないと思っていたが、一人くらいはいそうだ。
0305デフォルトの名無しさん
2006/06/28(水) 17:09:50質問者の為になるのかどうかは知ったこっちゃないが。
引きこもりニートなんで、時間はたっぷりあるんだ orz
0306デフォルトの名無しさん
2006/06/28(水) 17:11:262,3人はいると思うよ。たまにプロの匂いがするコードがある。
0307デフォルトの名無しさん
2006/06/28(水) 17:11:33お世辞にもプロとは言えない回答ばっかりじゃん。
プロだったらサクッとまともなソースを出すだろ。そんな奴はほとんどいない。
要するにこのスレにはプロは来ない。他のまともなスレで議論しているだろ。
数学の話が出たとたん、自称プロが黙ってしまったのにはワラタ。
専門 学校に通っていることをプロ(専門)と勘違いしたようだw
0308デフォルトの名無しさん
NGNG丸投げに回答しても、質問者の能力が向上するわけではない。
丸写しで単位がもらえるなら能力に不相応な評価を得るだけなので利益にはならない。
したがって、純粋に質問者の利益を考えるなら回答するべきではない。
0309180
2006/06/28(水) 17:31:46>>194
遅くなりました。
.htmlを取得して、<body></body>内をタグを消したテキストにし、
キャラクタ端末に表示する仕様です。
なので一時的な接続による取得だと思われます。
いまさら遅いかもしれませんが・・・。
0310デフォルトの名無しさん
2006/06/28(水) 17:32:09>>165,241はプロっぽい。あくまで「ぽい」だけどな。
別にプロが解答しててもいいだろ?何が気に入らないの?
>数学の話が出たとたん、自称プロが黙ってしまったのにはワラタ。
これ前にも書いた気がするけど、高校や専門学校、大学を出て何年も
たてば忘れるんだって。それに教科書に載ってたり、webに載ってることを
知ってる知らないなんて水掛け論しても面白くないし。
ちなみにプロ(w)である俺のコードは>>96,193。暇つぶしに書いてるだけ。
0311デフォルトの名無しさん
2006/06/28(水) 17:53:07質問者の消費するであろう時間を肩代わりするという意味で「利益がある」ってことだよ。
その後、結果的に質問者が不利益をこうむろうがどうしようが知ったこっちゃない。
0312デフォルトの名無しさん
2006/06/28(水) 17:58:150313デフォルトの名無しさん
2006/06/28(水) 18:01:05ttp://www.bohyoh.com/
ネット上でも市販の本でも探せばプロっていえるソースなんざ
ごまんと見つけられる罠
それをパクってちょちょっと課題向けに書き直してプロ?
ここで出される課題なんて、既に答えの分かりきったもの。
それができたくらいで自分がプロって思えるなら、どんだけ視野が狭く
世間を知らない井の中の蛙だよ・・・
0314デフォルトの名無しさん
2006/06/28(水) 18:06:17わかってないなぁ。怠惰、傲慢、短気こそがプログラマの美徳だよ。
著作権的に問題ないコードがあるなら、それをパクっても、そりゃ普通のことだ。
わざわざWebから元ネタ検索して、書き換えてここにアップするような面倒くさい
ことやるプロがいるかどうかは知らんがな。
んで、なんでそんなにプロに敵対心を燃やしてるの?
0315デフォルトの名無しさん
2006/06/28(水) 18:07:09今の時期って課題少ないの?
0316デフォルトの名無しさん
2006/06/28(水) 18:10:40HTTPクライアントの奴とか。
0317デフォルトの名無しさん
NGNG#include<stdio.h>
#include<stdlib.h>
#define N 3
typedef struct grade{char name[40];int score;struct grade* next;} glist;
typedef glist* pglist;pglist hd=NULL;
pglist addnode(const char* name,int score){pglist hp=hd,
newitem=(glist*)malloc(sizeof(glist));strncpy(newitem->name,name,40);
newitem->score=score;newitem->next=NULL;if(hp){while(hp&&hp->next)
hp=hp->next;hp->next=newitem;}else hd=newitem;return newitem;}
int main(void){char name[40],tmp[40];int i,score;pglist hp;
for(i=0;i<N;i++){printf("名前(%d):",i);fgets(tmp,sizeof(tmp),stdin);sscanf(tmp,"%s",name);
printf("点数(%d):",i);fgets(tmp,sizeof(tmp),stdin);score=atoi(tmp);
addnode(name,score);}hp=hd;while(hp){printf("名前:%s\n点数:%d\n",hp->name,hp->score);
hp=hp->next;}return 0;}
0318デフォルトの名無しさん
2006/06/28(水) 18:18:07ネイピアの定数の19991〜20000桁の値を求めるやつとか
0319デフォルトの名無しさん
2006/06/28(水) 18:18:35>>186>>190
くらいじゃねえの
0320デフォルトの名無しさん
2006/06/28(水) 18:18:51おいおい、上のURLチラ見したけど、それプロのコードじゃないだろ。
プロなら絶対にmainで「return;」などとはしない。譬えmainが10行でも。
ただそれだけで、そのサイトは信用ならん。
0321デフォルトの名無しさん
NGNG質問者も回答が来るまで待ってるわけだから時間は変わらないかと。
0322デフォルトの名無しさん
2006/06/28(水) 18:22:54を標準出力に表示するということなら10分で書けるが、非難されそうなのでしないw
0323デフォルトの名無しさん
NGNG多倍長数とか複素数はクラス化されてないとやる気にならねえw
>HTTPクライアント
system("GET")じゃダメ?
>レンペルジブ
LHAのソース見れ
0324271
2006/06/28(水) 18:24:25自分のコードが罵りあいにまきこまれているわけですが。
完全な第三者です
0325デフォルトの名無しさん
2006/06/28(水) 18:25:13おやおや、君がそんなこと言うとは意外だな。君は即効で解答してあげてるじゃない。
俺は、直近の解答していない問題で、なおかつ10分くらいで書けるものを解答してる。
君もそんな感じかと思ってたけど。
0326デフォルトの名無しさん
2006/06/28(水) 18:26:45ありがと
0327デフォルトの名無しさん
2006/06/28(水) 18:26:54マルチはスルーすべき
http://pc8.2ch.net/test/read.cgi/tech/1149349035/154
0328デフォルトの名無しさん
2006/06/28(水) 18:26:55[2] 問題文(含コード&リンク):
10行10列の行列を考える。
各要素に0〜99の範囲で乱数を入力する。
各行の要素の値について、合計値を表示する。
各列の要素の値について、合計値を表示する。
例) 0 5 3 2 10
3 8 6 0 17
2 3 6 4 15
1 4 7 9 21
6 20 22 15
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 7月4日
[5] その他の制限: 乱数はrand()をつかって発生させる。
forを使用する。
よろしくお願いしますm(_ _)m
0329デフォルトの名無しさん
NGNG俺もそんな感じだけど。
2ch開いてスレ探してテンプレ書いて回答待ってる時間あれば書けるような回答しか
書いてないから。
0330デフォルトの名無しさん
2006/06/28(水) 18:30:39それで全部解決してたらこのスレの存在意義なんて(ry
0331デフォルトの名無しさん
2006/06/28(水) 18:38:07> んで、なんでそんなにプロに敵対心を燃やしてるの?
彼はこのスレのお山の大将でいたいんだよ。
過去の発言見てない?相手があきらめるまで絶対に叩くの止めないから。
0332デフォルトの名無しさん
2006/06/28(水) 18:38:29お前らのプロの定義、意義がおかしいから話にならね
ここで書いているくらいでプロなら金稼ぎのソースを書けば?
プロって金を稼ぐ意味も入ってるよ
0333デフォルトの名無しさん
2006/06/28(水) 18:40:21>過去の発言見てない?相手があきらめるまで絶対に叩くの止めないから。
それは>>314。未だに自分がプロだ!っつってんだろ。
こっちはプロに対して敵対した覚えはなし。こんなところにいてプロってのが
片腹痛いだけ。しかも、書いたと思われるソース(過去ログ)を見た?
どう考えてもプロとは言えないユーザーインターフェースの悪いプログラムだったよ・・・
0334デフォルトの名無しさん
NGNG#include<stdio.h>
#include<stdlib.h>
#define N 10
int main(void){int i,j,r,cs[N],rs;
for(j=0;j<N;j++)cs[j]=0;for(i=0;i<N;i++){rs=0;
for(j=0;j<N;j++){r=(100.0*rand()/(RAND_MAX+1.0));
rs+=r;cs[j]+=r;printf("%4d ",r);}printf("|%d\n",rs);}
rs=0;for(j=0;j<N;j++){printf("%4d ",cs[j]);rs+=cs[j];}
printf("|%d\n",rs);return 0;}
0335デフォルトの名無しさん
2006/06/28(水) 18:41:540336デフォルトの名無しさん
2006/06/28(水) 18:42:53>>>165,241はプロっぽい。あくまで「ぽい」だけどな。
プロ ぽい って書いてあるら?だからこいつの勝手な判断基準なんだって気づけよw
>ちなみにプロ(w)である俺のコード >>96 >>193
どう見ても幼稚なソースです、昼間っから自分はプロプロって言いに
レベルの低い奴が集まるスレでお山の大将になりたくていきがっているだけだな
0337デフォルトの名無しさん
NGNGこのスレで解決すべき問題はただ一つ。
「 丸 投 げ 厨 を 余 所 の ス レ に 漏 ら さ な い 」
だけなので、それ以外のことは割とどうでも良かったり。
0338デフォルトの名無しさん
2006/06/28(水) 18:43:29http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2189.c
0339デフォルトの名無しさん
2006/06/28(水) 18:43:32なんで、このスレにはプロがいないと思いたいの?
0340デフォルトの名無しさん
2006/06/28(水) 18:44:31参考にしたいから、不毛な争いだけでなく
具体的に技術的な点を指摘して欲しい。
0341デフォルトの名無しさん
2006/06/28(水) 18:44:49>だけなので、それ以外のことは割とどうでも良かったり。
激しく同意。自分はやれるという変な自身を持ってここに来たへんな厨房が増えたな。
昼間っから学校からここを見て罵倒している暇があるガキが騒いでいるみたいだ。
0342デフォルトの名無しさん
2006/06/28(水) 18:45:150343デフォルトの名無しさん
2006/06/28(水) 18:45:25#include <stdlib.h>
int main(void){
int i,j,r,rsum;
int m[10][10];
int csum[10];
for (i=0;i<10;i++) {
for (j=0;j<10;j++) {
for (r=rand();r>99;r=rand()) ;
m[i][j]=r;
}
csum[i]=0;
}
for (i=0;i<10;i++) {
rsum=0;
for (j=0;j<10;j++) {
printf("%3.3d ",m[i][j]);
csum[j]+=m[i][j];
rsum+=m[i][j];
}
printf("%3.3d\n",rsum);
}
for (j=0;j<10;j++) {
printf("%3.3d%1.1s",csum[j]," \n"+(j==9));
}
return 0;
}
0344デフォルトの名無しさん
2006/06/28(水) 18:45:37>このスレにはプロがいない
こんなスレで出される課題に答えたくらいで プロ ってのが片腹痛いし
プロって言えるソースはほとんど出ていないって
過去ログとソースを見れば分かるよ・・・お前2ch初心者だな?
半年ROMってろよ
0345デフォルトの名無しさん
2006/06/28(水) 18:46:48お前がこのスレには、プロなんかいないとかいうから反応してるだけなんだけど。
なんでそう思いたいの?
0346デフォルトの名無しさん
2006/06/28(水) 18:48:43論理がめちゃくちゃだなあ。
どんな問題に答えるかなんてことはどうでもよくて、プロが書けばそれは
プロのコードなんだけど。
>プロって言えるソースはほとんど出ていないって
多分君はプロじゃないから、プロの匂いがわからないだけなんだよ。
0347デフォルトの名無しさん
2006/06/28(水) 18:52:40話しそらさないで、技術的に論理的に>>320の内容にコメントして欲しいなあ。
0348デフォルトの名無しさん
2006/06/28(水) 18:53:450349デフォルトの名無しさん
2006/06/28(水) 18:54:24>論理がめちゃくちゃだなあ。
それはお前。
>プロが書けばそれは プロのコードなんだけど。
このスレで調子ぶっこいているだけのプロになりきれなかったクズだろ
そんな誰にでもなれる奴は世の中にごまんといるんだよ
0350デフォルトの名無しさん
2006/06/28(水) 18:55:18できれば洋式でウォシュレット付が好ましいのですが!
0351デフォルトの名無しさん
2006/06/28(水) 18:55:29srand()に適当な種を入れてやらんと毎回同じ乱数で計算することになるぞ
0352デフォルトの名無しさん
2006/06/28(水) 18:57:05\  ̄ ̄`i /|/ ヽ ,-┼/-、 ,-┼/-、 ,-┼/-、 ,-┼/-、 ,-┼/-、 ,-┼/-、 ,-┼/-、 ,-┼/-、 /
\ _/ | ノ ヽ__レ ノ ヽ__レ ノ ヽ__レ ノ ヽ__レ ノ ヽ__レ ノ ヽ__レ ノ ヽ__レ ノ ヽ__レ ノ/
.,ノ';`′,, |.゙ュ r'゚'= ,,,,..ぃ―-、,,,_
,/ .. .|`ヽ ,l゙.l゙ .ム / ̄`''''"'x、 r'く.l゜| ,,.、 ゙ヽ
../ 、`.ヽv-イ/ /.,! ,-=''"`i, ,x'''''''v'" ̄`x,__,,,_ | ゙l.゙l | .l゙.゙l .‐ .ヽ
.,/ .゙li、 .!、゛.,テ'" _,,/ i! i, ̄\ ` 、 ..゙l,レヘ-,i´ 、.シ \
.,i´ ,,,i´ l゙ . ゙̄"⌒ - " | /ヽ /・l, l, \ `゙_'{ .',,,/ .__,ィ" ゙‐ ヽ
.,ノ 、,「.゙ . .| /( 1 i・ ノ く、ノ | i i゙ .`゙゙゛ :| . .゙l,
./ ,l゙ .l゙ | i {, ニ , .| { { .| .'i、 ゙l、
l゙ ,l゙ .,ノ l, i, } 人 ノヽ | . } | | :゙'ii、 ゙l
,l゙ .゙l .,iン‐'"゙゙゙゙゙''i、 }, | Tヽ.|lF-―-ヵl|\__,/ } i .| ゙l .゙l
,i´ ′ .ヾ″ ヽ. ヽ.} , |.  ̄`/} {.ト、_ノ} i /―i、、.,-.| ,}゙゙'-、 ゙l _゙ .|
l゙ .、 . .''、,. . | ,i_,iJヘヽ `x, ヾ┴┴'ソ x=‐'''~ .゙-| ,} 、 ‘\.` `." ゙l
.l゙ ‥‐r- "゙.!゙゙'^ '. ./ ヽヽ ` ニ ´ ノ l.゜ iiJi_,ノ.'(二 . ヽ . .、゙l
0353デフォルトの名無しさん
2006/06/28(水) 18:57:550354デフォルトの名無しさん
2006/06/28(水) 18:58:26話をそらしてんのはお前。何がプロか定義を述べよ。
自分勝手な判断基準や価値観でプロって言っているならそれで良いよ。
別にお前がプロじゃないとは言ってないなから。
こんな答えの分かりきった課題が出されるスレで
あたかも自分が書いた!みたいな喜びを感じたいならどうぞご自由に。
本当のプロの世界を知りな。そんなのができても雇ってくれる企業はほとんどないよ。
未知なるものの開発に携わることもあるんだし。視野が狭すぎ。
0355デフォルトの名無しさん
2006/06/28(水) 18:58:35だから俺はプロなんだって。俺がいちゃいけないのか?
まぁ君から見たら>>96 >>193は幼稚なコードなんだろうけど、
はっきり言ってこのコードには自信があるよ。仕事では絶対に
書かないやりかただけどね。
0356デフォルトの名無しさん
2006/06/28(水) 18:59:00そうだな、それがプロの意見か、片腹痛いわっw
0357デフォルトの名無しさん
2006/06/28(水) 19:01:200358デフォルトの名無しさん
2006/06/28(水) 19:02:280359デフォルトの名無しさん
2006/06/28(水) 19:02:54「2.0は変数じゃない。お前の変数の定義を述べよ」式の論理のすりかえだな。
0360デフォルトの名無しさん
2006/06/28(水) 19:04:41他人は「視野が狭い」と言いたいだけなんだろ。
こいつと議論しても無駄だよん。
なんだかわけわかんなくなって、奴が勝利宣言出して終わりってのがいつものパターン。
0361デフォルトの名無しさん
2006/06/28(水) 19:07:09過去のコードどうのこうの言うよりも、これから書くコードみてやろうぜ
0362デフォルトの名無しさん
2006/06/28(水) 19:07:420363デフォルトの名無しさん
NGNGコーディング能力と学歴もあまり関係ない。
コーディング能力と職業も実は関係ない。
コーディング能力と年齢は全く関係ない。
0364デフォルトの名無しさん
2006/06/28(水) 19:15:24今回の原因は・・・>>242のようだな。
毎度ながらくだらんことで言い合いするのが好きだよな、お前ら。
気に入らないレスはスルーしろよ。
0365デフォルトの名無しさん
2006/06/28(水) 19:18:16>プロなら絶対にmainで「return;」などとはしない
そこはプロかどうかの判断する点でも基準でもなし。
しかも、C言語なら問題なし。何か問題ならオレじゃなくて「書いた人に」言ってきな。
ttp://www.futatsugi.net/develop/cpp/memo.html#memo004
0366デフォルトの名無しさん
2006/06/28(水) 19:19:060367デフォルトの名無しさん
2006/06/28(水) 19:20:40まぁそうだが、プロは毎年1000〜2000時間ずつ経験を蓄積させていくからな。
20〜30行程度じゃ変わらないだろうけど、200〜300行程度書かせれば、まともな
プロなら一味違ったコードを書くと思うよ。
素人同然(もしくはそれよりひどい)プロがゴロゴロしてるのが、この業界の実態
だから、プロだから良いコードを書くとは言えないけどね。
0368デフォルトの名無しさん
2006/06/28(水) 19:23:160369デフォルトの名無しさん
2006/06/28(水) 19:23:170370デフォルトの名無しさん
2006/06/28(水) 19:24:32意味不明。そんな議論持ち出した覚えなし。
そもそも2.0は定数だよ?変数でもなし。どこのスレの話だ?
お前、あちこち回って荒らしている奴だな?暇人め・・・
0371デフォルトの名無しさん
2006/06/28(水) 19:24:43#include <stdlib.h>
int main()
{
system("cal");
return 0;
}
0372デフォルトの名無しさん
2006/06/28(水) 19:26:34hahaha...
0373デフォルトの名無しさん
2006/06/28(水) 19:27:44マ イ リ マ シ タ
0374デフォルトの名無しさん
2006/06/28(水) 19:30:39書きたい人が書けば
初心者でもプロでも
つーか本当にプロならこんなところこないだろ
とか学生が言ってみるテスト
0375デフォルトの名無しさん
2006/06/28(水) 19:31:42あらら、C/C++関連スレで読んでないスレあったんだ。
お前と似た奴が暴れてたぞ。
327 名前:デフォルトの名無しさん[] 投稿日:2006/06/18(日) 21:14:06
>>303
>2.0がdoubleじゃない
お前バカ?定数と型の指定のある変数の意味もわかってないのが露呈されただけ
専 門 学 校 は こ の 程 度 ( プ
0376デフォルトの名無しさん
2006/06/28(水) 19:32:03変数を用いる数式があるし、よく y=x^2+2とかあるじゃん。
x,yは変数にしても2は定数。まさか、yも変数ならその数式にある2も変数とか言うなよ。
値が定まっているからだが・・・なんでオレがここでプロについておかしな理論を押し付ける奴に
変数や定数の議論のすり替えをつきつけられなきゃならねーんだよ?
何が言いたいんだ?バカじゃねーの、しばらくここを離れるわ。マジでもうこねーよ、カス共。
0377デフォルトの名無しさん
2006/06/28(水) 19:32:59>お前と似た奴が暴れてたぞ。
それはお前だろ、なに責任転嫁してんだよ。お前、被害妄想をする癖があるんだな
よっぽどお前の学歴が良いのか悪いのか知らんが、学歴って言葉に敏感なんだなw
0378デフォルトの名無しさん
2006/06/28(水) 19:33:23専門学校生乙。恥ずかしいからもう黙ってな。
筋の通った理論に基づいて話してなく、自分がバカだと思う奴がバカって
言っているだけだな。ご愁傷様。
2.0は 変数 ではなく 定数 なので、変数に使う型は関係ない。
問題は変数同士と、代入する変数の型だよ。
あの数式を見れば一目瞭然。さすがに初心者だからといって
理解力のないバカまで指導するスレじゃないんで、俺はこれで失礼するよ。
低俗な人間の問題煮まで相手にしてたら、こっちがバカになるw
0379デフォルトの名無しさん
2006/06/28(水) 19:35:59一生2.0が何型か?について議論してなさい。
とりあえず答えたけど?自分(質問者)はバカですが何か?って質問に対して
あ〜そうですね?って俺に答えさせただけだな。恥ずかしいね
本当に頭の弱い人って。お願いだから浅はかな考えで社会に出て
犯罪を犯さないでくれ。いつまでもあんたらみたいな「低俗な人間」に
入れ知恵をするつもりはないし、お前らもその程度じゃ賢くはなれんよ。
何でもかんでも答えてもらえる、自分の思った通りに答えない人は嫌いになる
みたいな感情まで持ち込んでどうすんだよ?プログラムは感情なんて当てにしてくれないぞw
0380デフォルトの名無しさん
2006/06/28(水) 19:38:35君さー、いつも昼間っから常駐してるけど、何してる人?
0381デフォルトの名無しさん
2006/06/28(水) 19:40:340382デフォルトの名無しさん
2006/06/28(水) 19:44:05回答するときに、元発言へのリンクを必ず付けてね。
回答済みかどうかわかりづらいから。
0383377
2006/06/28(水) 19:44:55それはお前だろ、なに責任転嫁してんだよ。お前、被害妄想をする癖があるんだな
よっぽどお前の学歴が良いのか悪いのか知らんが、学歴って言葉に敏感なんだなw
0384382
2006/06/28(水) 19:48:180385デフォルトの名無しさん
2006/06/28(水) 19:49:29まぁ、今回もそろそろ鎮火する頃だろう、多分。
0386デフォルトの名無しさん
2006/06/28(水) 19:57:16http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2202.c
0387 ◆qvf.IClkDc
2006/06/28(水) 19:58:16[1] 授業単元:コンピュータグラフィックス�T
[2] 問題文(含コード&リンク):
ttp://blog.youty.jp/blog_user_top.php/7802/
このブログに書き込んでおきました。
[3] 環境
[3.1] OS:WindowsXP Pro
[3.2] Borland C++ 5.5.1
[3.3] 言語:C
[4] 期限:2006年06月30日12:00まで
[5] その他の制限:特になし
0388デフォルトの名無しさん
NGNG荒れてるかどうかというなら、今は平和そのもの。
丸投げ厨が余所のスレに漏れるようになったら「荒れている」ということで。
0389デフォルトの名無しさん
2006/06/28(水) 21:08:33[2] 問題文:関数 sasho は第1引数と第2引数の数値(実数)の差と商を計算し,
差を第3引数で与えられる場所に,商を第4引数で与える場所に格納し,
第2引数が 0 の場合は 0,その他の場合は 1 を返す関数である
(第2引数が 0 の場合は,商の計算はしない).関数 sasho を定義し,
main 関数では,2つの実数を入力して,sasho を利用して,2数の差と商を表示する
(sasho の帰り値が 0 の場合は差のみを表示)プログラムを作成せよ.
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:2006年6月30日(金)8:40まで
[5] その他の制限:ポインタの単元をやっているところです。
よろしくおねがいします
0390デフォルトの名無しさん
2006/06/28(水) 21:17:24#include <stdio.h>
int sasho(double a,double b,double *c,double *d){
*c=a-b;
if (b) {
*d=a/b;
return 1;
} else return 0;
}
int main() {
double a,b,c,d;
int f;
printf("input a>");
scanf("%lf",&a);
printf("input b>");
scanf("%lf",&b);
f=sasho(a,b,&c,&d));
printf("a-b=%lf\n",c);
if (f) printf("a/b=%lf\n",d);
return 0;
}
0391デフォルトの名無しさん
2006/06/28(水) 21:18:33f=sasho(a,b,&c,&d));
->
f=sasho(a,b,&c,&d);
0392デフォルトの名無しさん
2006/06/28(水) 21:27:11[2] 問題文(含コード&リンク):
文字列を読み込んでその中の文字をASCIIコード順に並び替えて出力するプログラムをつくれ
[3] 環境
[3.1] OS: Windows2000
[3.2] コンパイラ名とバージョン: gcc 3.4
[3.3] 言語: C
[4] 期限: 明日
[5] その他の制限: 特になし
お願いします!
0393デフォルトの名無しさん
2006/06/28(水) 21:39:41#include <stdio.h>
#include <string.h>
int c[256];
char buf[1024];
int main() {
int i;
printf("input string>");
fgets(buf,1024,stdin);
i=strlen(buf);
if (buf[i-1]=='\n') buf[i-1]='\0';
for (i=0;buf[i];i++) c[buf[i]]++;
for (i=0;i<256;i++)
while (c[i]--) {
putchar(i);
}
putchar('\n');
return 0;
}
0395デフォルトの名無しさん
2006/06/28(水) 22:01:00[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2203.zip
問題文、プログラムの例など含めて長くなるのでローダーにアップさせてもらいます。
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ名とバージョン:
[3.3] 言語: C++
[4] 期限: [2006年6月29日18:00まで]
[5] その他の制限: 設問どおりに作成すること…だそうです。
窓口が1つの場合は例題を少しいじれば作れるのですが、
2つになるとどうにもなりません…。
0396デフォルトの名無しさん
2006/06/28(水) 22:07:08平均到着時間って何?
0397デフォルトの名無しさん
2006/06/28(水) 22:24:49【2】練習課題6
n個の文字列を読み込み,
読み込んだ文字列を縦に読むプログラムを作成しなさい。
実行例は以下のようにしなさい
文字列の個数を入力しなさい
4
1:takeda
2:ootsuka
3:murakami
4:ogi
1 tomo
2 aoug
3 ktri
4 esa
5 duk
6 aka
7 am
8 i
[3]OS:LINUX コンパイラ:GCC 言語:C
[4]「ポインタのポインタ」を必ず使用すること
0398デフォルトの名無しさん
2006/06/28(水) 22:27:02[4]期限:次の]金曜日
[5]制限:「ポインタのポインタ」を必ず使用する事。
習っている部分はポインタまでで、来週から構造体といった感じです。
よろしくお願いします。
0399216
2006/06/28(水) 23:01:330400デフォルトの名無しさん
2006/06/28(水) 23:38:03>>216 なら解答でてるじゃん
>>217,218 じゃだめなの?
0402デフォルトの名無しさん
2006/06/28(水) 23:47:49次のお客が列に並ぶまでの間隔の平均時間みたいです。
0403デフォルトの名無しさん
2006/06/28(水) 23:54:12あせらずに待つがよろしい
0404403
2006/06/28(水) 23:59:36誰かのとばっちりだからごめんね。
俺がやんなくても誰かやってくれるかもしれないし。
0405デフォルトの名無しさん
2006/06/29(木) 00:00:48あっちのスレですよね。なんか荒れてしまったみたいでもうしわけないっす
0406403
2006/06/29(木) 00:02:44じゃ6/29 23:59までにやっとくから待ってて。
0407デフォルトの名無しさん
2006/06/29(木) 00:32:37http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2204.txt
せこいプログラムだ。ダブルポインタの使い方も不安だ・・・。
0408497
2006/06/29(木) 00:38:38は明らかに変だな。
str = malloc(sizeof(char *) * num);
とかすればいいのか?意味的に。
(ポインタのサイズはどうせ同じだろうけど・・・)
いろいろ、突っ込んでいただけると助かります。
0409デフォルトの名無しさん
2006/06/29(木) 01:45:23エヴァンジェリンの見えない部分の手とか適当でワロタ。
0410デフォルトの名無しさん
2006/06/29(木) 01:46:240411デフォルトの名無しさん
2006/06/29(木) 02:10:51ここはアニヲタも紛れ込む場所だったのか(ニヤニヤ
0412デフォルトの名無しさん
2006/06/29(木) 02:12:24(2)演習問題6−a
3つの自然数x y zの値とx × y行列Aとy × z行列B の行列の要素を読み込む。
そして行列の積C = A Bを計算し、その行列要素を出力するプログラムを作成しなさい。
但し、行列A、Bの要素は配列要素として読み込み、
行列A, B, Cの要素は動的メモリ領域に割り当てる。
また、指定の3つ関数を作成し、main関数ではこれらの関数を呼び出すようにしなさい。
A: 行列要素を読み込むための関数
B: 行列の積を計算するための関数
C: 結果を表示するための関数
以下に簡単な実行例を記す。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2207.txt
[3]環境:Vine Linux gcc C言語
[4]期限:本日中
よろしくお願いします
0413デフォルトの名無しさん
2006/06/29(木) 02:12:34[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2205.txt
[3] 環境
[3.1] OS:unix
[3.2] コンパイラ名とバージョン:
[3.3] 言語: C+
[4] 期限: [2006年6月29日]
[5] その他の制限:
よろしくお願いします。
0414デフォルトの名無しさん
2006/06/29(木) 02:13:47×言語: C+
○言語: C
0415デフォルトの名無しさん
2006/06/29(木) 02:18:139割がアニオタエロゲオタだよ
今さら何言ってんの
0416デフォルトの名無しさん
2006/06/29(木) 04:08:54こっちが本スレでしたので書き込ませてもらいます。
[1] ポインタと配列
[2]試験の点数データ配列を用いて、10点間隔ごと及び満点(100点)にいくつのデータがあるか
書き出すプログラムhistgram.cを
書きなさい。
点数データ:int grade〔12〕={100、95、47、88、86、92、75、89、81、70、55、80};
出力
0−9:0
10−19:0
20−29:0
30−39:0
40−49:1
50−59:1
60−69:0
70−79:2
80−89:5
90−99:2
100 :1
[3] 環境
[3.1] OS windowsXP: (Windows/Linux/等々)
[3.2] Borland c++ compiler 5.5
[3.3] 言語:C
[4] 期限: 今週の金曜日
[5] 今のところfor文とかポインタ配列程度の知識で
構造体とかそっちのほうは習っていません
お願いします
0417笹井奈琴
2006/06/29(木) 06:49:34void h( int* sum, int* grade, int n ) {
int i;
for( i=0; i<n; i++ )
sum[ grade[i] / 10 ]++;
}
int main( int argc, char** argv ) {
int grade[12] = { 100, 95, 47, 88, 86, 92, 75, 89, 81, 70, 55, 80 };
int sum[11] = {0};
int i;
h( sum, grade, 12 );
for( i=0; i<10; i++ )
printf( "%d-%d:%d\n", i*10,i*10+9,sum[i] );
printf( "100:%d\n", sum[10] );
}
0418デフォルトの名無しさん
2006/06/29(木) 08:23:15すいません
コンパイルしたらパラメータargc とargvはどちらも使用されない関数とかってエラー
がでたんですけど。
0419デフォルトの名無しさん
2006/06/29(木) 08:27:00無視すればよい。
0420デフォルトの名無しさん
2006/06/29(木) 08:41:080421デフォルトの名無しさん
2006/06/29(木) 08:50:21http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2208.lzh
0422デフォルトの名無しさん
2006/06/29(木) 09:11:090423デフォルトの名無しさん
NGNG0424デフォルトの名無しさん
2006/06/29(木) 13:31:58#include <stdio.h>
#include <stdlib.h>
int grade[12]= {100,97,47,88,86,92,75,89,81,70,55,80};
int main(int argc, char *argv[])
{
int histgram[11]={0};
int i;
for(i=0; i<12; i++)
histgram[grade[i]/10]++;
for(i=0; i<10; i++)
printf("%2d-%2d:%d\n",i*10,(i+1)*10-1,histgram[i]);
printf("%3d:%d\n",i*10,histgram[i]);
return 0;
}
なんで全角なんだよボケが
0425デフォルトの名無しさん
2006/06/29(木) 14:06:10http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2209.txt
0426デフォルトの名無しさん
2006/06/29(木) 14:17:28> いろいろ、突っ込んでいただけると助かります。
もう解答するな。
0427デフォルトの名無しさん
2006/06/29(木) 14:33:10http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2210.txt
(1)のほう
04281/3
2006/06/29(木) 14:52:16[2] fortranで書かれたプログラムをC言語でお願いします。
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: bcpad
[3.3] 言語: C
[4] 期限:7月3日
C*** report2
C*** gakusekibangou
DIMENSION YA(30),VA(30),YS(30),VS(30),YR(30),VR(30)
OPEN(UNIT=16,FILE="dy.d")
OPEN(UNIT=17,FILE="dv.d")
G=9.8
R=0.3
CANALYTIC SOL.
DO 10 K=1,30
T=K
EP=EXP(-R*T)
VA(K)=G/R*(1.0-EP)
YA(K)=G/R*T-G/R/R*(1.0-EP)
04292/3
2006/06/29(木) 14:52:56YS0=0.0
YS1=0.0
YS0=0.0
YS0=0.0
YR0=0.0
VR0=0.0
H=0.01
DO 20 K=1,3000
CSABUN
T=0.01*K
YS2=2.0*YS1-YS0+G*H*H-R*(YS1-YS0)*H
VS2=(YS2-YS1)/H
CRUNGE-KUTTA
BK1=VR0
BM1=G-R*VR0
BK2=VR0+H*BM1/2.0
BM2=G-R*(VR0+H*BM1/2.0)
BK3=VR0+H*BM2/2.0
BM3=G-R*(VR0+H*BM2/2.0)
BK4=VR0+H*BM3
BM4=G-R*(VR0+H*BM3)
YR1=YR0+H*(BK1+2.0*BK2+2.0*BK3+BK4)/6.0
YR1=YR0+H*(BM1+2.0*BM2+2.0*BM3+BM4)/6.0
IF(MOD(K,100).NE.0) GO TO 30
04303/3
2006/06/29(木) 14:53:56YS(KK)=YS2
VS(KK)=VS2
YR(KK)=YR1
VR(KK)=VR1
30 YS0=YS1
YS1=YS0
VS0=VS0
VS1=VS2
YR0=YR1
VR0=VR1
20 CONTINUE
WRITE(17,100)
DO 40 K=1,30
WRITE(17,150) K,VA(K),YS(K),VR(K)
40 CONTINUE
WRITE(16,200)
DO 50 K=1,30
WRITE(16,150) K,YA(K),YS(K),YR(K)
50 CONTINUE
100 FORMAT(5X,"T",5X,"VA",11X,"VS",11X,"VR")
150 FORMAT(2X,T3,3X,F10.5,3X,F10.5,3X,F10.5)
200 FORMAT(5X,"T",5X,"YA",11X,"YS",11X,"YR")
STOP
END
0431デフォルトの名無しさん
2006/06/29(木) 15:06:31http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2211.txt
(2)
0432デフォルトの名無しさん
2006/06/29(木) 15:14:08[2] 問題文(含コード&リンク):
・整数の配列 data[10] に正整数が書かれているときm=maxx(data,10);
でmに最大値を戻す関数を作成する。
・data[10]に20〜60の乱数を書き込んだとき関数maxx()を用いて最大値を表示する。
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:できればすぐ!
[5] その他の制限:特にありません。宜しくお願い致します。
0433デフォルトの名無しさん
2006/06/29(木) 15:17:06#include <stdlib.h>
int maxx(int a[],int n){int max=a[0],i;for(i=1;i<n;i++)if(max<a[i])max=a[i];return max;}
int main(void){int a[10],i;for(i=0;i<10;i++)a[i]=rand()%41+20;printf("%d\n",maxx(a,10));return 0;}
0434デフォルトの名無しさん
2006/06/29(木) 15:22:390435デフォルトの名無しさん
2006/06/29(木) 15:22:430436デフォルトの名無しさん
2006/06/29(木) 15:28:400437デフォルトの名無しさん
2006/06/29(木) 15:32:00typedef struct node *Tree;
というのに思いっきり違和感を感じました。
えと、ただそれだけの感想です・・・
0438デフォルトの名無しさん
2006/06/29(木) 15:35:100439デフォルトの名無しさん
2006/06/29(木) 15:41:43capitalizeしているところに違和感を感じたということです・・・
0440デフォルトの名無しさん
2006/06/29(木) 15:41:44広めるなよ
0441デフォルトの名無しさん
2006/06/29(木) 15:45:21[2] 問題文(含コード&リンク):
以下のプログラムを完成させよ
文字列を読み込む。
その中の文字をASCIIコード順にクイックソートで並び替えて、出力する
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: Borland
[3.3] 言語: C
[4] 期限:明日
[5] その他の制限: 特にないです
よろしくですm(_ _)m
0442デフォルトの名無しさん
2006/06/29(木) 15:48:17多分元の fortran のプログラムが間違っているのでちゃんと動かないと思うけど。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2212.c
化け文字のコメントの入っている部分が多分元の fortran のプログラムでおかしい
部分。
コンパイルエラーしか取ってないので動くかどうかは保証しない。
0445デフォルトの名無しさん
2006/06/29(木) 15:54:50なるほど、納得。
0446デフォルトの名無しさん
NGNG#include<stdio.h>
#include<stdlib.h>
int charcmp(const void* a,const void* b){return *(const char*)a-*(const char*)b;}
int main(void){char tmp[100];int len;fgets(tmp,sizeof(tmp),stdin);len=strlen(tmp);
tmp[--len]='\0';qsort(tmp,len,sizeof(char),charcmp);
printf("%s\n",tmp);return 0;}
0447428
2006/06/29(木) 16:05:05Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
report2.c:
警告 W8070 report2.c 71: 関数は値を返すべき(関数 main )
警告 W8004 report2.c 71: 't' に代入した値は使われていない(関数 main )
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
ありがとうございます。
実行したらこういうエラーが出たんですけど、どうしたらいけますかね?
0448デフォルトの名無しさん
NGNG0449デフォルトの名無しさん
2006/06/29(木) 16:13:12俺が書いたとこの批判は多々あるだろうが
原文ママのところに違和感を感じられてもな
0450デフォルトの名無しさん
2006/06/29(木) 16:19:25[2] 問題文:人対人の簡単な対戦型オセロを作れ。
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ: ビジュアルスタジオ2003
[3.3] 言語: Cのみ!
[4] 期限: 2006年7月2日まで
[5] その他の制限:ポインタくらい、できれば標準ライブラリのみ
0451デフォルトの名無しさん
2006/06/29(木) 16:37:00正直すまんかった。
left_subtree, right_subtreeって何だよ!とかも思った(汗
0452グルド
2006/06/29(木) 17:09:42[2] 問題文(含コード&リンク):
http://briefcase.yahoo.co.jp/bc/guld11_27/lst?&.dir=/&.src=bc&.view=l
ここにあるC2006.pdfの<コンテスト課題>というところです。
[3] 環境
[3.1] OS: Windows
[3.2] cygwinを使ってます。
[3.3] 言語: C
[4] 期限: 2006年6月30日10:00までです。。
最短経路数を求める問題です。
期限が迫っていて誠に申し訳ないんですが、
力を貸してください。
0453デフォルトの名無しさん
2006/06/29(木) 17:36:32・・・・ごめんなさい、こういうときどんな顔すればいいのか、わからないの
0454デフォルトの名無しさん
2006/06/29(木) 18:00:13ありがとうございます。アルゴリズムを説明していただけるとうれしいです
0455デフォルトの名無しさん
2006/06/29(木) 18:08:03過去ログ嫁
0456デフォルトの名無しさん
NGNG断る。
0457デフォルトの名無しさん
2006/06/29(木) 18:22:39qsort(tmp,len,sizeof(char),charcmp);
のqsortがどこから出てくるか不明なんです・・・・
0458デフォルトの名無しさん
2006/06/29(木) 18:26:23そういうときはね、このスレ以外の場所で質問するといいお ⊂( ^ω^)⊃
0459デフォルトの名無しさん
NGNGスレ違い。
0460デフォルトの名無しさん
2006/06/29(木) 18:42:20じゃんじゃん細かい内容の質問をしてきたまえ
恐れていたほかのスレへの流出を自ら招くとは・・・さすがだ
0461デフォルトの名無しさん
NGNG余所のスレで丸投げするのが問題なわけで。
0462デフォルトの名無しさん
2006/06/29(木) 18:47:21http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2213.txt
0463デフォルトの名無しさん
2006/06/29(木) 18:51:08内容理解しようとするのはえらいじゃん
0464デフォルトの名無しさん
2006/06/29(木) 18:53:50[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2201.txt
[3] 環境
[3.1] OS:windows XP
[3.2] コンパイラ名とバージョン:visual studio
[3.3] 言語: C++
[4] 期限:6/30まで
[5] その他の制限:ポインタを使う
0465デフォルトの名無しさん
2006/06/29(木) 18:59:16#include <stdlib.h>
0466デフォルトの名無しさん
2006/06/29(木) 19:02:11入力された文字列の改行コードをchopする必要があるよ。
0467デフォルトの名無しさん
NGNG省略部分上から順に。
void array_comp(int* peven,int* pminus,int* array,size_t size);
array_comp(&even,&minus,x);
void array_comp(int* peven,int* pminus,int* array,size_t size){int t;size_t i;
for(i=0;i<size;i++){if(array[i]<0)*pminus++;if(!(array[i]&1))*peven++;if(i<(size/2)){
t=array[size-i-1];array[size-i-1]=array[i];array[i]=t;}}}
0468デフォルトの名無しさん
2006/06/29(木) 19:16:01>>462
ありがとうございます。こちらも参考にします
>>466
chopってなんでしょうか?入力データの改行コードはCRのみを用います
0469デフォルトの名無しさん
NGNGスレ違いだってば。
0470デフォルトの名無しさん
2006/06/29(木) 19:20:450471デフォルトの名無しさん
2006/06/29(木) 19:22:01error C2660: 'array_comp' : 関数に 3 個の引数を指定でき
ません
ってなってしまいます。
0472デフォルトの名無しさん
NGNGだから何?
0473デフォルトの名無しさん
NGNGこれか。
array_comp(&even,&minus,x,sizeof(x));
0474デフォルトの名無しさん
2006/06/29(木) 19:34:00だそうです。っつか、さすがにトーマス氏もこれまでか・・・
少しはできる人だと思ったが、他人をけなす態度からして、ただの厨房か
0475デフォルトの名無しさん
2006/06/29(木) 20:47:31http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2214.txt
0476グルド
2006/06/29(木) 21:28:58ありがとうございます><
本当に助かりました!!
0477462
2006/06/29(木) 22:48:14うほほ、普段getsと書いているところを、なんとなくfgets使ってみようかと
思ったのが間違いだった。
>>462の
fgets(buf, sizeof buf, stdin);
を
gets(buf);
に修正してくれ。>質問者
0478デフォルトの名無しさん
2006/06/29(木) 22:52:18[2]要素数nScores=13の配列scores〔〕={65,0,95,0,0,79,82,0,84,94,86,90,0}から0を
除去して要素数nScores=8の配列〔〕={65,95,79,82,84,94,86,90)を求める関数
RemoveZeroElements(array,n)を書きなさい
main()では実行文により、0を除去した配列の要素数を求めて、ファイルにnScores,scores〔〕
を書き出すこと。
nScores=RemoveZeroElements(scores,nScores);
[3] 環境
[3.1] OS windowsXP: (Windows/Linux/等々)
[3.2] Borland c++ compiler 5.5
[3.3] 言語:C
[4] 期限: 明日の朝
[5] 6月からC始めてちょうどポインタやったとこであまり深い知識
などはぜんぜんありません。よろしくお願いします。
0479デフォルトの名無しさん
2006/06/29(木) 23:41:170480デフォルトの名無しさん
2006/06/29(木) 23:43:34[2] 問題文(含コード&リンク):N個(マクロを使って特定の値に設定)の任意の整数の列を入力し、
最大値と最小値を求めるプログラムを作成すること。
ただし、配列を入力し、最大値と最小値を求める関数を作ること。
main()関数の中ですべて行ってはいけない。
[3] 環境
[3.1] OS:Linux/
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限: 土曜日の12時
[5] void func()
{
}
int main(void)
という形かつポインタ、swapを使うようなのですがよくわからないです。
よろしくお願いします
0481デフォルトの名無しさん
2006/06/29(木) 23:44:14http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2215.txt
文章が分かりにくい以前の問題だな
0482デフォルトの名無しさん
2006/06/29(木) 23:44:56元の配列を書き替えるのか新しく配列を作って写すのか
0483デフォルトの名無しさん
2006/06/29(木) 23:49:48ポインタとswapをどう有効に使えばいいのか分からん
void minmax(int* array)
{
int i,min,max;
min = max = array[0];
for(i=1;i<N;i++)
{
min = (min > array[i])?array[i]:min;
max = (max < array[i])?array[i]:max;
}
printf("MIN = %d\n",min);
printf("MAX = %d\n",max);
}
0484デフォルトの名無しさん
2006/06/29(木) 23:57:01{
int i,*min,*max;
min = max = array;
for(i=1;i<N;i++)
{
min = (*min > *(array+i))?array+i:min;
max = (*max < *(array+i))?array+i:max;
}
printf("MIN = %d\n",*min);
printf("MAX = %d\n",*max);
}
無理矢理ポインタを使うとこうかな
ソートしないならswapなんて不要じゃ?
0485デフォルトの名無しさん
2006/06/30(金) 00:01:530486デフォルトの名無しさん
2006/06/30(金) 00:16:10void swap(int* i, int* j)
{
int temp = *i;
*i = *j;
*j = temp;
}
int* minmax(int* array)
{
int i,j;
for(i=0;i<N;i++)
{
for(j=i+1;j<N;j++)
{
if(array[i] > array[j])
swap(array+i, array+j);
}
}
printf("MIN = %d\n",array[0]);
printf("MAX = %d\n",array[N-1]);
return array;
}
0487デフォルトの名無しさん
2006/06/30(金) 00:54:11[2] 問題文(含コード&リンク):
graph.txtにて表現されるグラフに対し、任意の2点間の道を
深さ優先探索により求めるプログラムを作成せよ
・始点はs、木の状態を保存するためにはfather[]配列を用いる
・辺の情報は、隣接行列adjacent[][]として記憶すること。また2次元ポインタとして定義すること
[3] 環境
[3.1] OS: windows
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 土曜日の12:00までです
[5] その他の制限: なし
graph.txtは↓です
0488487
2006/06/30(金) 00:57:098
4 3
4 1
3 2
1 0
1 2
2 5
0 5
0 6
6 7
7 5
0 7
6 5
5 1
2 0
3 0
4 5
//1行目は点の数
//2行目以降は両端の点番号
どなたかよろしくお願い致します。
0489デフォルトの名無しさん
2006/06/30(金) 03:24:46#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int maxx(int data[],int num)
{
int i,j=0;
for(i=1;i<num;i++){
if(j<data[i]) j=data[i];
}
return j;
}
int main(void)
{
int data[10],i,m,min=20,max=60;
srand((unsigned)time(NULL));
for(i=0;i<10;i++) data[i]=min+(int)(rand()*(max-min+1.0)/(1.0+RAND_MAX));
m=maxx(data,10);
printf("%d",m);
return 0;
}
0490デフォルトの名無しさん
2006/06/30(金) 03:33:57for(i=1;i<num;i++){
if(j<data[i]) j=data[i];
}
data[0]が最大の場合、正しくない
0491デフォルトの名無しさん
2006/06/30(金) 03:48:56#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int maxx(int data[],int num) {
int i,j=data[0];
for(i=1;i<num;i++){
if(j<data[i]) j=data[i];
} return j; }
int main(void) {
int data[10],i,m;
srand((unsigned)time(NULL));
for(i=0;i<10;i++) {
data[i]=rand()%41+20;
printf("%d ",data[i]); // 配列を表示(不要ならこの行を消すこと)
}
printf("\n");
m=maxx(data,10);
printf("%d",m);
return 0; }
0492デフォルトの名無しさん
2006/06/30(金) 03:52:26#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int asort(const void *i,const void *j)
{
return *(char*)i-*(char*)j;
}
int main(void)
{
char str[256];
int len;
gets(str);
len=(int)strlen(str);
qsort(str,len,sizeof(char),asort);
printf("%s\n",str);
return 0;
}
0493デフォルトの名無しさん
2006/06/30(金) 03:54:51>>491
ありがと
0494デフォルトの名無しさん
2006/06/30(金) 10:26:350495デフォルトの名無しさん
2006/06/30(金) 12:05:41[2] 問題文(含コード&リンク):http://wakabadou.ddo.jp/~shioya/cgi-bin/wikif/wiki.cgi?page=%B8%A1%BA%F7%B2%DD%C2%EAC%2B%2B6%2F30
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン:ヴィジュアルスタジオ2003
[3.3] 言語: C++
[4] 期限: 7/1 12:00
[5] その他の制限: 2分探索を用いる
よろしくお願いします
0496デフォルトの名無しさん
2006/06/30(金) 13:35:230497ジャック
2006/06/30(金) 13:59:19私にはまったくりかいできませんでした。
課題:自分で定義した立体図形の透視投影像を描き、これを印刷する。
課題説明
・立体図形は頂点および稜線を定義し、線図形として描く (ワイヤーフレームモデル)。
―頂点の定義
1,(x1,Y1,Z1)
2,(x2,Y2,Z2)
―稜線の定義
稜線1,(1,2)
稜線2,(2,3)
・立体図形は世界座標系の原点の近傍で定義する。
・支店を適当な世界座標(x,Y,Z)に置き、ここから世界座標の原点を見る。
・投影面の始点からの距離Dおよび投影面のサイズSは適当に決める。
・世界座標系による立体のデータを視点座標系に変換し、これを透視投影し投影図を求める。
・隠線処理、ビューボリューム、3次元クリッピングの処理は行わなくてよい。ただし、
データが画像からはみださないように注意する。ビューポートのサイズを位置は任意に決める。
・プログラムはC言語で作成し、実行する。
課題補足
・対象3次元図形の定義データ(頂点表、稜千表)をプログラム中に埋め込まず、別のファイルからデータとして読み込むようにすること。
・必ず、斉次座標系、行列による座標変換・幾何変換の考え方を使うこと。(ビューイング変換と透視投影変換を行列を使って表現しプログラムすること。
そうしないと一般的なプログラムにならない。)
・座標変換・幾何変換の処理は「関数」としてプログラムする。変換の合成は、それぞれの「変換行列の積」としてプログラムする。
・プログラムは理解しやすいように書く。
(コメントを入れる。変数の定義をわかりやすくするなど)
0498デフォルトの名無しさん
2006/06/30(金) 14:14:570499ななつさん
2006/06/30(金) 14:54:25他言語の音節構造との違いを示しながら説明してほしいんですけど・・
あと、拍(モーラ)という音節構造の成立に大きな影響を及ぼした現象についても
おしえてくださーーい!!!
切羽詰まってます。
誰かお願いします。
0500デフォルトの名無しさん
2006/06/30(金) 15:31:39[2] 問題文(含コード&リンク):2 次方程式ax2+bx+c=0 の解を求めるプログラムを作成しなさい.ただし,プログラムは,main()に加えて次の4関数で構成されるものとします.
・判別式を計算する関数(戻り値なしの型で,参照渡しによって引数を与えること).
・判別式が0 の場合の解を計算する関数(戻り値ありの型で,解はmain()で出力させる.参照渡しによって引数を与えること).
・判別式が正の場合の解を計算する関数(戻り値なしの型で,解はmain()で出力させる.参照渡しによって引数を与えること).
・判別式が負の場合,「解無し」と表示する関数.
<入出力例>
Please input coefficients!
a=2
b=-10
c=12
Solutions of (2.000000)*x^2+(-10.000000)*x+(12.000000) are calculated.
Double solutions
First solution: x=3.0000
Second solution: x=2.0000
Please input coefficients!
a=3
b=18
c=27
Solutions of (3.000000)*x^2+(18.000000)*x+(27.000000) are calculated.
Single solution: x=-3.0000
Please input coefficients!
a=1
b=1
c=9
Solutions of (1.000000)*x^2+(1.000000)*x+(9.000000) are calculated.
No solutions due to negative discriminant value!
[3] 環境 [3.1] OS: linux [3.2] コンパイラ名とバージョン:gcc[3.3] 言語: C
[4] 期限: 7/4 [5] その他の制限:特にありませんよろしくおねがいします
0501デフォルトの名無しさん
2006/06/30(金) 16:15:53ひょっとして C 言語と比較すればおっけ?
0502デフォルトの名無しさん
2006/06/30(金) 16:54:09君いつも昼間からいるよね?何してる人?
0503デフォルトの名無しさん
2006/06/30(金) 17:09:48[2] 問題文(含コード&リンク): 簡易データベース
http://briefcase.yahoo.co.jp/gavagava12のa.htmlです。
[3] 環境
[3.1] OS: UNIX
[3.2] gcc バージョンは分かりません。m(_ _)m
[3.3] 言語: C
[4] 期限: 2006/7/14 17:00
[5] その他の制限: ないです。。
構造体のメンバー数を可変にするとこと、コマンドを読み込むところで
手詰まってます。
よろしくお願いします。
0504デフォルトの名無しさん
2006/06/30(金) 17:38:11[2] 問題文(含コード&リンク):
コマンドライン引数にオプションを指定して、-を除いた文字を返す関数を作れという問題です。
例えば、
% ./work.exe -h
と入力するとhと表示したいです。
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc(バージョンはわかりません)
[3.3] 言語: C
[4] 期限: 無期限
[5] その他の制限:
ポインタを使った文字列操作の課題です。
main関数:int main(int argc, char **argv);
-を除いた引数を戻す関数:char get_option(char *)
と指定されています。
自分でやってみてもセグメントエラーが出まくって、もうワケわかめです。
どうかお願いします。
0505デフォルトの名無しさん
NGNG#include<stdio.h>
#include<string.h>
char get_option(char* opt){size_t i;
for(i=0;i<strlen(opt);i++)if(opt[i]!='-')return opt[i];return 0;}
int main(int argc,char* argv[]){size_t i;
for(i=1;i<argc;i++)printf("%c\n",get_option(argv[i]));return 0;}
0506デフォルトの名無しさん
2006/06/30(金) 17:59:19[2] 問題文(含コード&リンク):
次のプログラムはfloat型の二点の座標をx座標、y座標を表すメンバーとしてもつ構造体を前提としたものである。
二点を与えてその2点間の距離を求めるプログラムを関数distance()を定義することにより完成させなさい。
# include <stdio.h>
# include <math.h>
typedef struct point {
float x;
float y;
} point_t;
float distance(point_t point1, point_t point2) {
/* この部分を作成する */
}
int main(void) {
point_t p1, p2;
p1.x = 10; p1.y = 20;
p2.x = 10; p2.y = 30;
printf("%f\n", distance(p1, p2));
}
HINT: sqrt(x) は xの平方根を値として返す関数である。
また、コンパイル時には gcc xx.c –lm –o xx のようにする
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン:コンパイラって何?いつもemacsでソースコードを書いて、「gcc o- プログラム名 プログラム名.c」ってやってコンパイルしています。
[3.3] 言語: C言語
[4] 期限: もう過ぎてます(出てるの知らなかった)。減点になりますが出さないと単位もらえません。少しでも早いほうが良いです
[5] その他の制限:特になし。 よろしくお願いします。
0507デフォルトの名無しさん
2006/06/30(金) 18:03:48ありがとうございます!
1つ質問いいですか?
int main(int argc, char *argv[]);
と
int main(int argc, char **argv);
って同じものですか。
char **argvというのは初めて見る形で、教科書にも載ってないのです・・
0508デフォルトの名無しさん
2006/06/30(金) 18:04:13return sqrt((point1.x-point2.x)*(point1.x-point2.x)+(point1.y-point2.y)*(point1.y-point2.y));
0509デフォルトの名無しさん
2006/06/30(金) 18:05:35http://www.google.com/search?num=50&hl=ja&q=%E3%83%9D%E3%82%A4%E3%83%B3%E3%82%BF%E3%81%A8%E9%85%8D%E5%88%97%E3%81%AE%E9%81%95%E3%81%84&lr=lang_ja
0511デフォルトの名無しさん
2006/06/30(金) 18:35:42ひどい仕様だな
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2216.txt
0512デフォルトの名無しさん
2006/06/30(金) 19:13:53週末の土日でまた色々と質問が出ると思ったので
プログラムが見やすくなるよう、こんなものを作ってみました。
回答プログラムを貼る時やプログラムの質問をする時など、
ここを介してやっていただけると幸いです。
0513デフォルトの名無しさん
2006/06/30(金) 19:19:33[2] 問題文:速度に比例する抵抗がある場合の落下の式
d^2y/dt^2=g-rdy/dt
を(i)解析的に(�A)2階の差分近似で(�B)ルンゲ・クッタ公式
で解け。ただし、g=9.8 r=0.2〜0.3とおき、初期条件はt=0のとき
y=0、dy/dt=0とする。
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:Borland
[3.3] 言語: C/C++
[4] 期限:7/8
難しいとは思うのですがお願いしますm(_ _)m
0514デフォルトの名無しさん
2006/06/30(金) 19:32:05ほぉ、ご丁寧に半角スペースをHTMLでも使われるnbspに変換してくれるスクリプトを
ご用意して下さったわけね。ご苦労さま。
ちとテスト
0515デフォルトの名無しさん
2006/06/30(金) 19:46:11お、こりゃいいね
プログラムにおいて見やすさって重要だからね
これでちゃんと変換して貼れば無駄なミスが減るだろう
俺はよくTABキー使ってプログラム組んでるんだが
ここに貼った時に文字がくっついちゃって
プログラム自体を手直ししないと使えない、という事態に陥ったからなあ
0516デフォルトの名無しさん
2006/06/30(金) 19:47:180517デフォルトの名無しさん
2006/06/30(金) 19:51:25[2] 問題文(含コード&リンク):
かなりの量なので↓にまとめています。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2217.zip
中に入っているquiz.txtと問題文.txtのエンコードは違いますので注意してください。
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C言語
[4] 期限:7月3日12時まで
[5] その他の制限:制限は特にありません。
量が非常に多くて恐縮ですが、よろしくお願いします。
0518487
2006/06/30(金) 20:16:210519デフォルトの名無しさん
2006/06/30(金) 21:51:17:%s/ / /g
0520519
2006/06/30(金) 21:52:110521デフォルトの名無しさん
2006/06/30(金) 21:53:36サーバは、複数のクライアントの要求を同時に受け付けなきゃいけないの?
それとも、1対1でOK?
0523デフォルトの名無しさん
2006/06/30(金) 22:09:200524デフォルトの名無しさん
2006/06/30(金) 22:28:10CPUのアーキテクチャが異なるため、直接添付のLMを実行できないんだけど、
このサーバは終了しても各ユーザの正解数を保持してる?
それとも起動するごとにリセットされる?
0525デフォルトの名無しさん
2006/06/30(金) 22:47:00使ってる2chブラウザによっては、そのコメントをコピペするとスペースがスペースじゃ
なくなる場合があるから、やらないほうがまし。
0527デフォルトの名無しさん
2006/06/30(金) 22:52:39取るのに苦労するんだが・・・
0528デフォルトの名無しさん
2006/06/30(金) 22:59:26クソ面倒くさいけど
0529デフォルトの名無しさん
2006/06/30(金) 23:07:08あ
自分にレス付けてこうすりゃいいんじゃね?
>>529
0530デフォルトの名無しさん
2006/07/01(土) 00:02:12:s/ / /g
0531デフォルトの名無しさん
2006/07/01(土) 00:13:54>>531
0532デフォルトの名無しさん
2006/07/01(土) 00:33:01[2] 問題文(含コード&リンク):ttp://www.uploda.org/uporg430792.pdf
[3] 環境
[3.1] WindowsXP
[3.2] gcc
[3.3] C
[4] 期限:7月3日の早朝まで
[5] その他の制限:特にありませんが、
問題文に明記されている関数を使わなければいけないらしいです。
2問と多いですが、どうか宜しくお願いしますm(_ _)m
0533デフォルトの名無しさん
2006/07/01(土) 01:05:471つめ
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2219.c
2つめはちと時間を置いてからうpしまつ
0534デフォルトの名無しさん
2006/07/01(土) 01:07:582つめ
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2220.c
0535デフォルトの名無しさん
2006/07/01(土) 01:33:490536デフォルトの名無しさん
2006/07/01(土) 01:35:07[2] 問題文(含コード&リンク):以下にうpしました。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2221.txt
[3] 環境
[3.1] UNIX
[3.2] gcc
[3.3] C
[4] 期限:7月3日昼12時まで
[5] その他の制限:(どこまで習っているか、標準ライブラリは使ってはいけない等々)
今年の5月からスタートしたばかりなので今まで習っているところは
基本の四則計算、変数宣言とかの基礎の基礎、floatとかキャスト、if文、
while文、switch文、for文、配列と二次元配列です。
で、今習っているのが関数の最初の部分で関数の初歩の部分が課題になっています。
2問あるのですが自分ではどうしても出来ませんでした。
どなたかご教授頂けると幸いです。
0537デフォルトの名無しさん
2006/07/01(土) 01:52:12(1)
#include <stdio.h>
void d2b(int n)
{
int i;
for(i=7; i>=0; i--)
printf("%d ",(n>>i)%2);
putchar('\n');
}
int main(int argc, char** argv)
{
int c;
char buf[128];
while(1)
{
printf("2進数に直したい10進数の正の整数を入れてください\n"
"負の数の場合は終了です\n");
scanf("%d",&c);
if(c < 0)
break;
d2b(c);
}
return 0;
}
シフトは駄目かな?
0538デフォルトの名無しさん
2006/07/01(土) 02:06:07(2)
#include <stdio.h>
#include <math.h>
int isprime(int n)
{
int i=2;
if(n%i == 0)
return 0;
for(i=3; i<=sqrt(n); i+=2)
if(n%i == 0)
return 0;
return 1;
}
int main(int argc, char** argv)
{
int i=2,n=1;
printf("%4d ",i);
for(i=3; i<1000; i+=2)
{
if(isprime(i))
{
printf("%4d ",i);
if(((++n)%10)==0)
putchar('\n');
}
}
return 0;
}
激遅アルゴリズム
0539デフォルトの名無しさん
2006/07/01(土) 02:18:04ありがとうございます。
えっとシフトというか習っていないものがちらほら…
charとか見たことないんですがどういう意味なのかちょっとぐぐってきます
0540デフォルトの名無しさん
2006/07/01(土) 02:25:38あちゃー
0541デフォルトの名無しさん
2006/07/01(土) 02:34:48http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2222.c
0542デフォルトの名無しさん
2006/07/01(土) 02:47:36http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2224.c
0543デフォルトの名無しさん
2006/07/01(土) 02:55:53よくよく考えたら、isprimeの戻り値はflagに0か1を入れんでも
素数でなきゃreturn 1、素数だったらreturn 0でいけたね。
0544デフォルトの名無しさん
2006/07/01(土) 02:56:53>>536が知らない内容を使っても特に問題ないだろ
教えてるほうは知ってるんだから
ぼくがりかいできるはんいでとうあんをつくってください
だと?ふざけろ
0545デフォルトの名無しさん
2006/07/01(土) 02:57:40http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2225.c
ちうわけで、他にも余計なものもあったんで削って訂正
0546デフォルトの名無しさん
2006/07/01(土) 02:58:570547デフォルトの名無しさん
2006/07/01(土) 03:00:34レスするのも任意だから、お前みたいなのは来なくて良いよ
それから、質問者もそうだが、自分の意見の押し付けも無意味だから
0548デフォルトの名無しさん
2006/07/01(土) 03:06:02なんか集中力が落ちてきたんでオレは今日はこの辺で落ちるっす。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2226.c
0549デフォルトの名無しさん
2006/07/01(土) 03:14:13思い出すな、あの頃を…
0550デフォルトの名無しさん
2006/07/01(土) 03:18:050551デフォルトの名無しさん
2006/07/01(土) 03:31:120552デフォルトの名無しさん
2006/07/01(土) 03:41:13まぁ、ヒントが出ているだけマシか
0553デフォルトの名無しさん
2006/07/01(土) 06:11:28[2] 問題文(含コード&リンク):
下記URLの最後のスライド14が問題で、
配列並べ替えの問題です。
http://www-it.sci.waseda.ac.jp/ITB1/class3/ITB1-2006-09.slide.pdf
[3] 環境
[3.1] Linux
[3.2] gcc
[3.3] C
[4] 期限:7月6日の早朝まで
[5] その他の制限:
1.スライド12の並べ替えプログラムの要点にそって作らなければなりません。
2.defineを使わなければなりません。
制限が多いのですが、どうか宜しくお願いします。
0554デフォルトの名無しさん
2006/07/01(土) 06:31:240555デフォルトの名無しさん
2006/07/01(土) 06:36:480556デフォルトの名無しさん
2006/07/01(土) 06:40:45説明の仕方もやり方もそれぞれやし。詰まらんところで楽をしていると
その生徒が危ないのではないか?という要らん心配をしてもわしゃ困らんから良いのだが。
0557デフォルトの名無しさん
2006/07/01(土) 11:15:56[2] 問題文(含コード&リンク)
・三次元座標空間内で、(x,y,z)=(0,0,0),(1,0,0),(0,1,0),(0,0,1)の
四点を頂点とする角錐の体積を計算してください。
角錐の内部と外部の境界は、x+y+zです。角錐の内部であるための条件はx+y+z≦1
・モンテカルロシミュレーションによって値を予測します。x,y,zをそれぞれ
0から1までの乱数とすると、3次元空間内の点(x,y,z)は(0,0,0),(0,1,0),(1,1,0),(1,0,0)
(0,0,1),(0,1,1),(1,1,1),(1,0,1)を頂点とする立方体の内部を「均等に」分布します。
角錐内の点の数/点の全数=角錐の体積/立方体の体積
・体積は1/6になるはずですが、どれだけ近づきますか。
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C
[4] 期限:2006年7月1日23:59まで
[5] その他の制限: 以前授業で作った円周率を求めるモンテカルロシミュレーションの
プログラム↓を修正して作成してください
0558デフォルトの名無しさん
2006/07/01(土) 11:18:57#include <stdio.h>
#define LAMBDA 843314861L
#define RANCONST 453816693L
#define RANDOM_INIT_VALUE 198313L
#define RAN2_32 4294967296.0
#define LOOPCOUNT 10000
#define LOOPSTEP 1000
main()
{
int i, CircleCount=0;
float x, y, random(void);
for (i=1; i<=LOOPCOUNT; i++) {
x = random(); y = random();
if (x*x + y*y <= 1.0)
CircleCount++;
if (i % LOOPSTEP == 0)
printf("%7d times pi=%f\n",i, 4.0*CircleCount/(float)i);
}
}
float random(void)
{
static unsigned long x = RANDOM_INIT_VALUE;
x = LAMBDA*x + RANCONST;
return (float)x / RAN2_32;
}
経済学部の選択必修の課題なんですが数学苦手なんで意味わかりません。
ボスケテ(;´д⊂)
0559デフォルトの名無しさん
2006/07/01(土) 11:20:580560デフォルトの名無しさん
2006/07/01(土) 11:38:29#include <stdio.h>
#define LAMBDA 843314861L
#define RANCONST 453816693L
#define RANDOM_INIT_VALUE 198313L
#define RAN2_32 4294967296.0
#define LOOPCOUNT 100000
#define LOOPSTEP 10000
int main(){
int i, CircleCount=0;
float x, y, z, random(void);
for (i = 1; i <= LOOPCOUNT; i++) {
x = random(); y = random(); z = random();
if (x + y + z <= 1.0)CircleCount++;
if (i % LOOPSTEP == 0)printf("%7d times V=%f\n", i, CircleCount / (float)i);
}
return 0;
}
float random(){
static unsigned long x = RANDOM_INIT_VALUE;
x = LAMBDA * x + RANCONST;
return (float)x / RAN2_32;
}
0561デフォルトの名無しさん
2006/07/01(土) 11:53:290562487
2006/07/01(土) 12:07:330563デフォルトの名無しさん
2006/07/01(土) 12:09:490564536
2006/07/01(土) 12:42:300565デフォルトの名無しさん
2006/07/01(土) 13:45:36最近こういう馬鹿が増えましたなぁ。
0566デフォルトの名無しさん
2006/07/01(土) 13:49:01最近こういう馬鹿が増えましたなぁ。
0567デフォルトの名無しさん
2006/07/01(土) 13:51:53これは酷いw
0568デフォルトの名無しさん
2006/07/01(土) 13:53:46554 -> 555:5分
566 -> 567:3分
0569デフォルトの名無しさん
2006/07/01(土) 13:57:170570デフォルトの名無しさん
2006/07/01(土) 13:58:400571デフォルトの名無しさん
2006/07/01(土) 14:03:22「高偏差値な学校の方は、学校名を隠して質問してください。
回答者の反感を買うおそれがあります」
0572デフォルトの名無しさん
2006/07/01(土) 14:04:16次の年からは同じものを出せばバレバレだよ
0574デフォルトの名無しさん
2006/07/01(土) 14:10:34http://pc8.2ch.net/test/read.cgi/tech/1147902222/
っつか、前スれで .ac ドメインで抽出してみ。
まぁ、ある程度ネタが揃ったら、その問題の答えを丸々貼り付ければ良い
学校を超えて全世界から答えがいただけるありがたいスレ、それがここさ
0575デフォルトの名無しさん
2006/07/01(土) 14:17:210576デフォルトの名無しさん
2006/07/01(土) 14:48:062次元ポインタって何?
0577487
2006/07/01(土) 14:59:09adjacent[][]は
int **adjacent
と定義するらしいです。
0578578
2006/07/01(土) 15:25:04487が2次元ポインタをわかってないじゃないかw
0579578
2006/07/01(土) 15:26:310580デフォルトの名無しさん
2006/07/01(土) 16:54:12後半やる気が失せたのでバグがあるかもしれん。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2227.txt
0581580
2006/07/01(土) 17:00:50sscanfで"n = "が抜けてるところがあるから補ってくれ。
0582デフォルトの名無しさん
2006/07/01(土) 17:06:39[2] 問題文(含コード&リンク): ttp://www.pref.fukushima.jp/pc-concours/common/2005yosen.pdf の問題01
[3] 環境
[3.1] OS: (WindowsXP
[3.2] コンパイラ名とバージョン: BCC5,5
[3.3] 言語: c++
[4] 期限:無期限
[5] その他の制限: c++を本格的に学び始めたのは今日から
お願いします。
0583デフォルトの名無しさん
2006/07/01(土) 17:13:540584デフォルトの名無しさん
2006/07/01(土) 17:15:010585デフォルトの名無しさん
2006/07/01(土) 17:15:22んじゃ指定した年月のカレンダーを表示するプログラムを作って。
デフォで固定されている祝日も表示されるとなお良い。
0586デフォルトの名無しさん
2006/07/01(土) 17:30:08お前の話はつまらん
0587デフォルトの名無しさん
2006/07/01(土) 17:31:30お前の話はおもしろい
0588デフォルトの名無しさん
2006/07/01(土) 17:36:55>>582の問題18とかどうよ。
0589デフォルトの名無しさん
2006/07/01(土) 17:39:58ってことだから、レベルの低いこいつにとってはその問題ですらつまらない
チャレンジして解ける見込みのある奴は面白いかもしれんが
ありきたりのプログラムを作っても飽きてくるでしょう
0590デフォルトの名無しさん
2006/07/01(土) 17:40:17この流れにワロタ
0591デフォルトの名無しさん
2006/07/01(土) 17:47:17こいつ同じようなことばっか繰り返してるよな
0592デフォルトの名無しさん
2006/07/01(土) 17:47:430593デフォルトの名無しさん
2006/07/01(土) 17:47:58[2] 問題文:自分で定義した立体図形の透視投影像を描き、これを印刷する。
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 7月4日
[5] その他の制限: 特にありませんがよろしくお願いします。
問題文が長かったので↓のところに貼り付けておきました。
めちゃめちゃムズくて出来ませんでした。よろしくお願いしますm(__)m
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.cgi?mode=thr&no=2124
ここのNo.2228の問題です。
めちゃめちゃムズくて出来ませんでした。
0594デフォルトの名無しさん
2006/07/01(土) 17:49:210595デフォルトの名無しさん
2006/07/01(土) 17:51:55こいつ同じようなことばっか繰り返してるよな
0596デフォルトの名無しさん
2006/07/01(土) 17:52:460597デフォルトの名無しさん
2006/07/01(土) 17:53:41くだらねぇボヤキしているくらいならソース書いて出せやボケ
0598デフォルトの名無しさん
2006/07/01(土) 17:56:15決まりきったアルゴリズム系とか数学的知識が絡むやつとか、
標準ライブラリ関数の再発明系とかな。
で、>>517のようなのをやってはみるのだが、途中で飽きちゃったりw
適度に面白みがあって、一時間以内で終わるものが俺の理想。
0599デフォルトの名無しさん
2006/07/01(土) 18:01:36ええ、そういうことです。まったくもって。
0600デフォルトの名無しさん
2006/07/01(土) 18:05:56まだやっているよ、この粘着厨房。
0601デフォルトの名無しさん
2006/07/01(土) 18:12:32お前が一番の粘着なんだが
0602デフォルトの名無しさん
2006/07/01(土) 18:13:43そうやっていちいち自分が気に食わない奴に噛み付いてくる
お前が一番の粘着なんだが?
いい加減うざい、能力が低い奴が自分より下の奴を見て取る態度だな。
お前はろくな学校に通ってなかった20代前半のガキだな
0603デフォルトの名無しさん
2006/07/01(土) 18:15:59Q.E.D.
0604デフォルトの名無しさん
2006/07/01(土) 18:16:45そうやって何かとレスしないと気が済まないんだよなw
いつまでもやってろ、カス
0605デフォルトの名無しさん
2006/07/01(土) 18:17:130606デフォルトの名無しさん
2006/07/01(土) 18:17:48Q.E.D.
0607デフォルトの名無しさん
2006/07/01(土) 18:21:17まだやっているよ、この粘着厨房。
0608デフォルトの名無しさん
2006/07/01(土) 18:23:440609デフォルトの名無しさん
2006/07/01(土) 18:31:060610デフォルトの名無しさん
2006/07/01(土) 18:33:38そういう余裕のない奴って、態度ですぐにバレるから笑えるw
0611デフォルトの名無しさん
2006/07/01(土) 18:35:24まだやっているよ、この粘着厨房。
0612デフォルトの名無しさん
2006/07/01(土) 18:38:43低学歴が釣れましたwwwwwwwww
いつまでもやってろ、粘着はお前。オレは誰にも噛みついてないしwww
垂らした釣り針が厨房に噛みつかれて困ってるよぉ〜〜〜wwww
0613デフォルトの名無しさん
2006/07/01(土) 18:39:040614デフォルトの名無しさん
2006/07/01(土) 18:39:320615デフォルトの名無しさん
2006/07/01(土) 18:39:440616デフォルトの名無しさん
2006/07/01(土) 18:40:17m9(^Д^)プギャー
ttp://puka-world.com/php/upload/ren/img-box/1151252373805.jpg
0617デフォルトの名無しさん
2006/07/01(土) 18:40:42まだやっているよ、この粘着厨房。
0618デフォルトの名無しさん
2006/07/01(土) 18:43:250619デフォルトの名無しさん
2006/07/01(土) 18:45:140620デフォルトの名無しさん
2006/07/01(土) 19:04:540621デフォルトの名無しさん
2006/07/01(土) 19:43:330622517
2006/07/01(土) 20:59:23こんなに早くありがとうございます!!
ただ、すぐには動作確認できませんので、月曜に改めて報告させていただきます。
本当にありがとうございました!
0623デフォルトの名無しさん
2006/07/01(土) 21:30:37∩`iWi´∩ λ,,,,λ グオー!
ヽ |m| .ノ∩`iWi´∩
|  ̄| ヽ |m| .ノ
| | | |
U⌒U U⌒U
0624デフォルトの名無しさん
2006/07/01(土) 22:37:150625デフォルトの名無しさん
2006/07/01(土) 23:07:350626557
2006/07/01(土) 23:46:53遅レスですが、ありがとうございました!
マジ助かりました( ´∀`)
0627デフォルトの名無しさん
2006/07/01(土) 23:47:02http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2229.txt
コードにコメントが必要なら、自分で書くように。
#俺も暇だよな
0628627
2006/07/01(土) 23:49:26#コンパイルしてないのがバレバレ
0629デフォルトの名無しさん
2006/07/02(日) 00:37:48ttp://www.ipsj.or.jp/07editj/promenade/4511.pdf
0630487
2006/07/02(日) 01:12:57どなたか>>487を・・・
0631デフォルトの名無しさん
2006/07/02(日) 01:17:17http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2230.txt
頑ななまでにfor文を使わないっつー男らしさに惚れた
あとパワポには心の底から笑わせてもらった
0632デフォルトの名無しさん
2006/07/02(日) 01:17:480633デフォルトの名無しさん
2006/07/02(日) 01:25:49えっと、OSはLinuxなんですが・・・
0634デフォルトの名無しさん
2006/07/02(日) 01:36:16このスレの中の人は
出題者がテンプレに従ってないとやらない人が9割
数百行を超えそうな(GUIとか)ものはめんどくさいのでやらない人が8割
知的欲求を刺激されるものだけを解く人が7割
数学的な知識を要するものは解けない人が6割
解けないけどやれるだけやって貼る人が1割
貼られた解答に難癖をつけるだけの奴が数名
なのでこんだけ長い期間放置されてるなら今後も放置されるよ
0635デフォルトの名無しさん
2006/07/02(日) 01:38:17そういう解説をしたがる奴が1名
ってのが抜けてるぞ、おいw
0636487
2006/07/02(日) 02:12:33そうですか・・・
グラフの知識?とめんどくささが駄目なんですかね・・・
0637デフォルトの名無しさん
2006/07/02(日) 02:16:34知的欲求が満たされないってやつ。
0638デフォルトの名無しさん
2006/07/02(日) 02:22:300639デフォルトの名無しさん
2006/07/02(日) 04:14:04>>190
期日過ぎてても一応提出はできるんでお願いします
0640デフォルトの名無しさん
2006/07/02(日) 04:16:41http://www.nifty.com/webapp/digitalword/word/014/01433.htm
0641デフォルトの名無しさん
2006/07/02(日) 04:25:07ダイクストラ法使った幅優先探索だったら最短経路が求まるのにな。
深さ優先探索だったら
グラフの頂点数をn としたら、最長 n までの経路を求めればいいんだから
・スタート地点からとりあえず n 歩進んでみる。
・途中に目的地がなかったらバックトラックする。
でいいんじゃないの?
一歩進む関数を作って再帰にして上の手続きができるようにすればいいと思うけど。
0642デフォルトの名無しさん
2006/07/02(日) 04:56:23そのページじゃ何も知らない人には無理ですよ・・・。
本屋に行って、Cのサンプル付のアルゴリズム本買ってきて、そのまま
丸写ししたほうが早いんじゃ・・・。
0643デフォルトの名無しさん
2006/07/02(日) 05:03:46ttp://www.cmagazine.jp/books/assyuku/
このページからサンプルプログラムがダウンロードできるんだけど、
元々のアルゴリズムがわからないから、目的のコードなのかどうか判断できない。
0644デフォルトの名無しさん
2006/07/02(日) 05:07:210645デフォルトの名無しさん
2006/07/02(日) 05:11:48それ、
>この仕様は、LZ77 アルゴリズムとハフマン符号化を組み合わせた圧縮データの可逆圧縮データフォーマットを定義するもので、
だよ?
0646デフォルトの名無しさん
2006/07/02(日) 05:18:25まさか君、>>190じゃないだろうね?
そんな態度じゃ誰も解答しないと思うよ。
0647デフォルトの名無しさん
2006/07/02(日) 05:23:250648デフォルトの名無しさん
2006/07/02(日) 08:54:56【質問テンプレ】
[1] 授業単元:本による独学
[2] 問題文(含コード&リンク): http://fhgi.2-d.jp/2-3.c.txt
[4] 期限: 無期限
計算機科学の基礎的な質問かもしれませんがこのプログラム実行させると
『0-01111110-10000000000000000000000』といった出力を得られます
何故こうなるのかが分からないです
if (l%2 == 1) の1行に全てが詰まっているはずなのですが、
l(小文字のL)はを2で割っていくと余りは全て0になる気がするのですが
あとmemcpy()関数でなぜ型の違う値を代入しているのですか?
unsigned longの符号無し整数型にfloatの符号有り浮動小数点型を代入してるのが意味不明です
0649デフォルトの名無しさん
2006/07/02(日) 09:37:28目が完全に逝っちゃってますが・・・。
http://up.mugitya.com/img/Lv.1_up42411.jpg
0650その1 ◆f0jFPqgkWg
2006/07/02(日) 09:37:54[2] 問題文:SQLもどきのコマンドを介して、データの追加・読込・削除等を行うことが出来る簡易データベースシステムをCプログラムにより作成する。
通常のデータベースでは、データはファイルに格納され、適宜メモリ上にロードして読み書き等が成されるが、
本課題では、メモリ上で構造体及びポインタによってテーブルを作成し、これに対してデータの追加・読込・削除等を行う。
[3] 環境
[3.1] OS: UNIX
[3.2] コンパイラ名とバージョン: cc か gcc
[3.3] 言語: C
[4] 期限: 2006年7月7日19:00まで
[5] その他の制限:
・各テーブルは、1つの テーブル定義レコード と0個以上の テーブル値レコード により、構成される。
・テーブル定義レコードは、テーブル名(文字列)、複数のフィールド名(文字列)、先頭のテーブル値レコードへのポインタから成る構造体であり、表の形式を規定するタイトル行に相当する。先頭のテーブル値レコードが存在しない場合は、ポインタはNULLとなる。
・テーブル値レコードは、各フィールドに対する値(文字列)と、次のテーブル値レコードへのポインタから成る構造体であり、表の各データ行に相当する。
・テーブル定義レコードも、テーブル値レコードも、必要に応じて動的にメモリ領域を確保し、不要になったら解放するものとする。
[必須基本機能]
・プログラム起動後はプロンプトが表示され、下記に示す必須コマンドを実行できること。
・フィールド名やフィールド値で扱う文字列は英数字に限定してよい。
0651その2 ◆f0jFPqgkWg
2006/07/02(日) 09:39:04「create」…新たなテーブルを作成する。
% create table テーブル名 (フィールド名1,フィールド名2,‥,フィールド名n)
また、既存の2つのテーブル(tab1,tab2)から新たなテーブル(tab3)を作成することも出来るものとする。
% create table テーブル名3 (tab1.フィールド名A = tab2.フィールド名B,tab●.フィールド名C,tab●.フィールド名D,‥)
ここで、tab●.フィールド名○は、テーブル「tab●」のフィールド名「○」を示す。
tab1.フィールド名A と tab2.フィールド名Bは両テーブルを関連付ける共通のフィールド名とし、tab3における主キーとなる。
「drop」…テーブルを削除する。
%drop table テーブル名
「insert」…既存のテーブルに対して、テーブル値レコードを追加する。
追加する場所は任意で構わない。
なお、フィールド値1は主キーなので、重複追加はできない。
% insert テーブル名 values (フィールド値1,フィールド値2,‥,フィールド値n)
「update」…テーブル値レコードを更新する。
where以下の条件を満たすレコードについて、フィールド名A、フィールド名B、‥の値を更新する。
% update テーブル名 set フィールド名A = フィールド値A,フィールド名B = フィールド値B, ‥ where フィールド名X = フィールド値X
「delete」…既存のテーブルから、テーブル値レコードを削除する。
% delete from テーブル名 where フィールド名 = フィールド値
この場合、「テーブル名」において「フィールド名」が「フィールド値」であるレコードが削除される。where以下を省略した場合には、全レコードを削除する。
0652その3 ◆f0jFPqgkWg
2006/07/02(日) 09:39:41% select フィールド名A,フィールド名B,‥ from テーブル名 where フィールド名X = フィールド値X
この場合、「テーブル名」において「フィールド名X」が「フィールド値」である全レコードのフィールド名A、フィールド名B、‥の一覧が表示される。
where以下を省略した場合には、「テーブル名」における全てのレコードが表示対象となる。
また、最終レコードの後に、表示レコード総数を表示するものとする。
また、フィールド名Xを「*」とした場合には、全フィールドが全て表示されるものとする。
% select * from テーブル名 where フィールド名X = フィールド値X
「sort」…指定したフィールド名について、レコードの並び替えを行う。並び替えは辞書順とし、ASCの場合は昇順、DSCの場合は降順とする。
% sort テーブル名 by フィールド名 ASC
「d」…存在する全てのテーブル情報を表示する。
「h」…実装したコマンド、関数、諸機能の使い方が簡潔に表示される。
「q」…プログラムを終了する。
期間がが短くて、すぐ出来るようなプログラムではないですが、出来たところだけでも早めにUPして貰えると大変助かります。
0653デフォルトの名無しさん
2006/07/02(日) 09:56:01丸投げ以外は他所へどうぞ。
memcpy()は代入ではなく、ビットパターンのコピーを行なっている。
0654デフォルトの名無しさん
2006/07/02(日) 10:16:57[2] 問題文:以下のプログラムについて、各自気になる点を指摘せよ
#include <stdio.h>
void process1(char *p);void process2(char *p);
int main(void){
char str[80];int i;
do {printf("MENU:\n1.Input characters by means of gets(), output themby means of putchar().");
printf("\n2.Input characters by means of getchar(), output themby means of puts().");
printf("\nPlease choose 1 or 2:");
scanf("%d%*c", &i);
switch (i) {
case 1:process1(str);break;
case 2: process2(str);break;
default:printf("Try again!\n");}
} while (i!=1 && i!=2);
return 0;}
void process1(char *p)
{int i=0;printf("Please input characters:");
gets(p);printf("You inputted the following:");
while (*p) { putchar(*p++);i++;}
printf("\nThe reversed characters is as follows:");
for ( ; i>=0; i--) putchar(*p--);
printf("\n");}
void process2(char *p){int i=0;
printf("Please input characters:");
do { *p++=getchar();i++;} while (*(p-1)!='\n');
*(p-1)='\0'; printf("You inputted the following:"); puts(p-i);
}
[3.1] OS: linux[3.2] コンパイラ名とバージョン: cc か gcc [3.3] 言語: C [4] 期限: 2006年7/5[5] その他の制限:自分では気になる点がわかりません、指摘お願いします
0655デフォルトの名無しさん
2006/07/02(日) 11:20:58ざっと見た感じ。
・getsはオーバーフローの危険性から、使うな。
・ポインタの演算のしかたが気持ち悪い。PBase[pos]の形の方が個人的には好きだな。
・関数名をもうちょっとひねってくれ。
・個人的な趣味だが、whileではなくforで何とかなるところがそれなりにある。
0656487
2006/07/02(日) 11:24:18(1)グラフから点を1つ選択し、始点とする
「探索済」ラベルをつける。連結成分数を1とする
(2)最も新しく「探索済」になった点を端点とする辺を選ぶ
(同様の辺がある場合は番号の小さい順)
(2-1)未探索の辺が存在する場合
その中から1つ辺を選択⇒「探索済」とする
もう一方の端点にラベルがついていなければ点に「探索済」ラベルをつける
(2-2)未探索の辺がない場合
(2-2-1)ラベルの付いていない点が存在⇒その中から1つ選択
⇒「探索済」ラベルを付ける⇒連結成分数を「+1」
(2-2-2)ラベルの付いていない点が無い⇒終了
(3)(2)を繰り返す
とのことらしいです。
0657654
2006/07/02(日) 12:56:02もしよかったら具体的にプログラム化してもらえませんか・・・?
0658デフォルトの名無しさん
2006/07/02(日) 13:18:50宿題だから、おもいっきり仕様を簡略化して、
・テーブル名は最大15文字
・フィールド名は最大15文字
・ひとつのテーブルの最大フィールド数は16個
・ひとつのフィールドの最大データ長は31文字
とかの制限を勝手に付けてもいいの?
# ちなみに、これ、作ります宣言じゃないから。
0659デフォルトの名無しさん
2006/07/02(日) 14:07:08違います
どうかお願いします
0660658
2006/07/02(日) 15:07:35* create table
* insert
* select
のみ実装。
最後のコメントから24時間以上音沙汰が無い場合は、飽きてしまった確率が高いので。。。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2231.txt
0661デフォルトの名無しさん
2006/07/02(日) 16:03:040662デフォルトの名無しさん
2006/07/02(日) 16:13:40[2] 問題文:微少区間の面積は
dS = ( f(x(i)) + f(x(i+1)) ) dx / 2
であるので、積分区間[a,b]での積分値は、この区間を n 等分し、x(0) = a,
x(n) = b として、微少区間毎に区分積分を行うことにすれば、
S = ( (f(a)+f(b))/2 + f(x(1)) + f(x(2)) + ... + f(x(n-1)) ) dx
となる。
ex.3 f(x) = 1.0/(1.0+x*x) について、区間[0,1]の積分値を求めよ。
プログラム名:daikei.c
次回までに作成し、解が求まることを確認すること。
正解は 0.785398163 (pi/4)
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ名とバージョン:cc
[3.3] 言語:C
[4] 期限:2006年7月4日まで
[5] その他の制限:とくになし
よろしくおねがいします
0663デフォルトの名無しさん
2006/07/02(日) 16:34:390665デフォルトの名無しさん
2006/07/02(日) 16:40:39スレ違い。
0666デフォルトの名無しさん
2006/07/02(日) 16:50:54#include <stdio.h>
#define STEP (0.000000001)
int main(){
double x;
double result=0.0;
for(x=0.0; x<1.0; x+=STEP){
result+=1.0/(1.0+x*x);
}
result/=1.0/STEP;
printf("%.9f", result);
return 0;
}
精度の問題で実行結果は 0.785398167 になる。
0667デフォルトの名無しさん
2006/07/02(日) 16:52:540668・∀・)っ-○◎● ◆toBASh....
2006/07/02(日) 16:55:420669666
2006/07/02(日) 16:57:29ってか俺悪魔の数字じゃね!?
0670デフォルトの名無しさん
2006/07/02(日) 17:13:48[1] 授業単元: オペレーティングシステム
[2] 問題文(含コード&リンク):
httpプロキシ(http_proxy)を作成せよ
・forkにより子プロセスを生成することでリクエストの並行処理をサポートすること
[3] 環境
[3.1] OS: windowsXP,cygwin
[3.2] コンパイラ名とバージョン: gcc 3.4
[3.3] 言語:C言語
[4] 期限: ([2006年07月16日23:59まで]
[5] その他の制限: ファイル入出力、プロセス制御、パイプ生成に
関してはシステムコールを用いること。
0671デフォルトの名無しさん
2006/07/02(日) 18:03:02(f(a)+f(b))/2 を引かないとだめだよ。
forの条件も x<=1.0 でないと。
0672デフォルトの名無しさん
2006/07/02(日) 18:04:06[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2233.txt
[3] 環境
[3.1] OS: windows
[3.2] コンパイラ名とバージョン:borland
[3.3] 言語:C言語
[4] 期限: 明日
[5] その他の制限: 特にありません。よろしくお願いします。
0673662
2006/07/02(日) 18:10:20+xやresult+やresult/や%.9fという表記は自分の授業ではやらないので、そこをどう変えたらいいのですか。
%.9fを%lfにするのはわかりますが・・・
0674デフォルトの名無しさん
2006/07/02(日) 18:21:52[2] 問題文:迷路の経路探索
1 迷路の形状を示すデータファイル名を引数とします.
2 迷路のサイズは10×10の固定とし,壁を1,通路を0,スタートを8,ゴールを9で与えます.
3 迷路の形状と経路が視覚的に分かるような出力をしなさい.
実行例
$ ./a.out maze.txt
**********
*G+++* * *
****+* *
* *++*** *
* *+** *
* ++* ***
**+** * *
* ++* * **
* *+++++S*
**********
データ ファイル: maze.txt
1 1 1 1 1 1 1 1 1 1
1 9 0 0 0 1 0 1 0 1
1 1 1 1 0 1 0 0 0 1
1 0 1 0 0 1 1 1 0 1
1 0 1 0 1 1 0 0 0 1
1 0 0 0 1 0 0 1 1 1
1 1 0 1 1 0 1 0 0 1
1 0 0 0 1 0 1 0 1 1
1 0 1 0 0 0 0 0 8 1
1 1 1 1 1 1 1 1 1 1
0675674
2006/07/02(日) 18:23:44迷路は2次元配列にすると簡単.
経路の情報を双方向リンクで記述すると探索しやすくなります.
struct r_tag {
int x ; /* x座標 */
int y ; /* y座標 */
/* 方向とか... */
struct r_tag preg ; /* 一歩前 */
struct r_tag next ; /* 一歩先 */
} route ;
3] 環境
[3.1] OS: Mac OS X
[3.2] コンパイラ名とバージョン: gcc 3.3
[3.3] 言語: C
[4] 期限: 7月4日
[5] その他の制限:ありません。
よろしくお願いします。
0676ぴょん♂
NGNGエラ〜内容:
mapfile.hpp: In constructor `MapFile::MapFile()':
mapfile.hpp:28: error: expected identifier before '{' token
mapfile.hpp:28: error: expected `(' before '{' token
ソ〜ス:
class MapFile {
public:
MapFile(void) :
data(NULL),
#ifdef HAVE_MMAP
mmap_fd(-1)
#elif defined(_WIN32)
hFile(0), hFileMap(0)
#endif
{ }
~MapFile();
bool open(const char *file_name, unsigned long file_size);
inline gchar *begin(void) { return data; }
private:
char *data;
unsigned long size;
#ifdef HAVE_MMAP
int mmap_fd;
#elif defined(_WIN32)
HANDLE hFile;
HANDLE hFileMap;
#endif
};
0677デフォルトの名無しさん
2006/07/02(日) 18:58:11ゴールまでの道順も表示しろってことかな?
0678デフォルトの名無しさん
2006/07/02(日) 19:00:09やってみた。
乱数列は自分で作ってくれ。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2234.c
0679デフォルトの名無しさん
2006/07/02(日) 21:02:31プロキシサーバの機能は?
0681650 ◆f0jFPqgkWg
2006/07/02(日) 21:24:36>・テーブル名は最大15文字
>・フィールド名は最大15文字
>・ひとつのテーブルの最大フィールド数は16個
>・ひとつのフィールドの最大データ長は31文字
このくらいの制限であれば何の問題もないです。
0683デフォルトの名無しさん
2006/07/02(日) 22:37:17最小限の機能とは、具体的に何と何?
0684デフォルトの名無しさん
2006/07/02(日) 22:44:52氏ねばいいと思うよ
0685デフォルトの名無しさん
2006/07/02(日) 22:52:10結構見てる人いたりするから、プログラムかぶって
落とされるっていうのは気をつけた方が良いと思うよ^^
0686デフォルトの名無しさん
2006/07/02(日) 22:58:380688デフォルトの名無しさん
2006/07/02(日) 23:00:38俺はTAやってるけど、俺が受け持ってる講義の問題なんて一つも見たことない。
0689デフォルトの名無しさん
2006/07/02(日) 23:02:43[2] 問題文(含コード&リンク):
整数の数字の合計を計算するプログラムを書きなさい。
例えば2155の数字の合計は2+1+5+5で13です。
つまり2155とタイプしたとき13と出てくるプログラムであればよろしい。
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
[3.3] 言語: C
[4] 期限: 火曜日
よろしくお願いします。
0690デフォルトの名無しさん
2006/07/02(日) 23:08:090691デフォルトの名無しさん
2006/07/02(日) 23:09:03氏ね
0692デフォルトの名無しさん
2006/07/02(日) 23:09:060693689
2006/07/02(日) 23:10:080694デフォルトの名無しさん
2006/07/02(日) 23:10:090695・∀・)っ-○◎● ◆toBASh....
2006/07/02(日) 23:11:450696デフォルトの名無しさん
2006/07/02(日) 23:14:22[2] 問題文(含コード&リンク):
浮動小数の計算ができる、ある種の電卓をつくる.電卓に与える指示は常に2つのパラメータからなり,
数 命令
という形式で与える.命令の種類は以下の通りである.
* S: 値を電卓にセットする
* E: 計算を終わる
* +: 電卓にある値と,与えた数を足し算して、その値をセット
* -: 上と同様に引き算をする
* *: 上と同様に掛け算をする
* /: 上と同様に割り算をする
0による割り算,未定義の命令を使用したときにはerrorを表示すること. (error表示のあと,プログラムは終了せず次の入力を待つ.)
終了時には「End of Calculations.」と表示すること.
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
[3.3] 言語: C
[4] 期限: 7月3日午後10時まで
お願いします。
0698デフォルトの名無しさん
2006/07/02(日) 23:16:24#include<stdio.h>
#include<stdlib.h>
int main(){
char tmp[80];
gets(tmp);
printf("%d\n",strtol(tmp,NULL,47)%46);
return 0;
}
0699689
2006/07/02(日) 23:28:03実行結果で、整数の合計が0になってしまうのですがどうしたらいいのでしょうか?
0700デフォルトの名無しさん
2006/07/02(日) 23:33:49んーなんでだろ。
原因わからんから真面目に実装してお茶を濁してみる。
#include<stdio.h>
#include<stdlib.h>
int main(){
unsigned x=0,y;
scanf("%u",&y);
do x+=y%10;while(y/=10);
printf("%u\n",x);
return 0;
}
0701689
2006/07/02(日) 23:40:10実行できました!ありがとうございました。
0702デフォルトの名無しさん
2006/07/02(日) 23:40:14#include <stdio.h>
#include <string.h>
main() {
char str[100];
int i,n,tmp=0;
gets(str);
n=strlen(str);
for(i=0; i<n; i++)
tmp += str[i]-48;
printf("%d",tmp);
}
0703689
2006/07/02(日) 23:41:50ありがとうございます!
0704デフォルトの名無しさん
2006/07/02(日) 23:45:24>>700の方が良いでしょうねw
0705デフォルトの名無しさん
2006/07/02(日) 23:49:24man見たら、strtolのbaseは36までしか使えないみたい。
strtol(tmp,NULL,36)%35
にすれば良さそう。
9999が計算できなくなるけどw
0706デフォルトの名無しさん
2006/07/02(日) 23:52:11あー基数に制限があるのかー。残念。
ま、最低なコードだから書けなくても良いかw
0709デフォルトの名無しさん
2006/07/03(月) 00:44:10#include <stdio.h>
#define N 10000
#define XS 0.0
#define XE 1.0
double f(double x) {return 1.0 / (1.0 + x*x);}
int main()
{
double x1, x2, s, dx = (XE - XS) / N;
int i;
s = 0.0;
for (i=0; i<N; i++) {
x1 = XS + i*dx;
x2 = x1 + dx;
s += f(x1) + f(x2);
}
s = s * dx / 2.0;
printf("ans = %12.9f\n", s);
return 0;
}
0710658
2006/07/03(月) 00:52:16ちょっとデータ構造間違っちゃてたけど、最後まで見えたから、火曜日の夜くらい
までには出来ると思うよ。多分最後まで飽きないと思う。
0711デフォルトの名無しさん
2006/07/03(月) 01:00:38[2] 問題文(含コード&リンク):
任意のファイルからテキストを読み出し,左から0で詰めた4桁の行番号を先頭に付加して表示するプログラムを作成しなさい.
一行の長さは最大255文字として仮定してよいものとする。ファイル名はプログラム実行後,
最初にユーザによって与えられるものとする.オープンが成功しない場合には, errorと表示し
プログラムの実行を中止すること.
実行例
[xxxxxx@C*LPC* ~/pp11]% ./lnum
hello.txt
0001: Hello world.
0002: This is test data.
[xxxxxx@C*LPC* ~/pp11]% ./lnum
*
error
[xxxxxx@C*LPC* ~/pp11]%
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
[3.3] 言語: C
[4] 期限: 今日中
よろしくお願いします
0712デフォルトの名無しさん
2006/07/03(月) 01:06:53#include<stdio.h>
int main(){
int i=0;
FILE*fp;
char tmp[257];
gets(tmp);
fp = fopen(tmp,"r");
if(!fp){printf("error\n");return 8;}
while(fgets(tmp,sizeof tmp,fp))
printf("%04d: %s",++i,tmp);
return 0;
}
0713696
2006/07/03(月) 01:11:020714デフォルトの名無しさん
2006/07/03(月) 01:11:080715デフォルトの名無しさん
2006/07/03(月) 01:11:45711です。ありがとうございました。
0716デフォルトの名無しさん
2006/07/03(月) 01:18:21[1] 授業単元: 数値解析
[2] 問題文(含コード&リンク):ガウス法で連立方程式を解く際に ピボット選択する意味を考察せよ。
[3] 環境
[3.1] OS: Windows)
[3.2] コンパイラ名とバージョン:VC 6.0
[3.3] 言語:どちらでも可
[4] 期限:2006/07/3 2:00まで
[5] その他の制限: なし
0717デフォルトの名無しさん
2006/07/03(月) 01:18:31ちょっと待ってて
0719デフォルトの名無しさん
2006/07/03(月) 01:48:52こういうのは確かint xxx(int x,int y)な関数を作って、上下左右に自分を呼び出して探索する。
これから書いてみます。
0721デフォルトの名無しさん
2006/07/03(月) 02:46:12>>719じゃないけど、書いたんで。
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.cgi?mode=thr&no=31
のNo.2235(今なら一番下)。ファイルにしてアップするのが面倒だったんで。
visual関数内のコメントを次の行と入れ替えると探索した範囲を表示する。
0722650 ◆f0jFPqgkWg
2006/07/03(月) 02:57:33こんなにも早く完成できるとは思ってもいませんでした。
お陰で〆切まで時間がちょっと出来たので、自分で理解できるように最善の努力をするつもりです。
あと一つお願いがあるのですが、>>685付近のレスが身内か教授の可能性がしてきたので、ちょっと怖いのです。
なので、アップローダーにUPせずに、mailでソースコードを添付して送って貰えると助かります。
大変なお手数をお掛けしますが、出来ればで良いのでお願いします。
0723デフォルトの名無しさん
2006/07/03(月) 03:43:36身内の心配するなら最初から来るな
0724デフォルトの名無しさん
2006/07/03(月) 03:47:08ぐだぐだ言わずにソースを出せ!
0725デフォルトの名無しさん
2006/07/03(月) 03:48:50はあ?今までにかなりのソース出してきた俺にむかってなにいってんだ?
0726・∀・)っ-○◎●新世紀ダンゴリオン ◆DanGorION6
2006/07/03(月) 03:59:220727デフォルトの名無しさん
2006/07/03(月) 04:02:15バカじゃね?お前が出した証拠もなければ出したとしても
こんなところでは認められないし威厳もないよ?
ガキがいきがっているとしか思われないってことw
0728デフォルトの名無しさん
2006/07/03(月) 04:08:15雑魚は消えろ
0729デフォルトの名無しさん
2006/07/03(月) 04:10:21そうだよ?何当たり前、わかりきったこと言っていきがってんの?
わかってんならソースを出せよ、出さなきゃその証明すらできないしw
なんなら、コテハンでも名乗れば?
0730デフォルトの名無しさん
2006/07/03(月) 04:11:25文盲?あんた黙ってた方がいいよ
0731デフォルトの名無しさん
2006/07/03(月) 04:12:54必死だなw
お前は初心者や質問する場所で自分はできると思い込んでいるだけ
くだらねぇレスするくらいなら消えろ、クズ
0732このスレの趣旨を分かってないバカ
2006/07/03(月) 04:13:38>>724
はあ?今までにかなりのソース出してきた俺にむかってなにいってんだ?
728 名前:デフォルトの名無しさん 投稿日:2006/07/03(月) 04:08:15
証明は自分がわかってりゃそれでいいんだよ
雑魚は消えろ
730 名前:デフォルトの名無しさん 投稿日:2006/07/03(月) 04:11:25
>>729
文盲?あんた黙ってた方がいいよ
0733デフォルトの名無しさん
2006/07/03(月) 04:14:21あまり笑わせるなよ
こんな時間に腹かかえてわらったよ
0734デフォルトの名無しさん
2006/07/03(月) 04:14:44はあ?今までにかなりのソース出してきた俺にむかってなにいってんだ?
はあ?今までにかなりのソース出してきた俺にむかってなにいってんだ?
はあ?今までにかなりのソース出してきた俺にむかってなにいってんだ?
↑こいつ最高にアホ
0735デフォルトの名無しさん
2006/07/03(月) 04:15:140736デフォルトの名無しさん
2006/07/03(月) 04:15:220737デフォルトの名無しさん
2006/07/03(月) 04:16:03>>1も読めない文盲?あんた黙ってた方がいいよ
0738デフォルトの名無しさん
2006/07/03(月) 04:16:53で?このスレの趣旨とやらをきかせてもらおうかwwwwwwwwwwww
0739デフォルトの名無しさん
2006/07/03(月) 04:30:20むしろオモロイから許すw
0740デフォルトの名無しさん
2006/07/03(月) 04:34:14>気に入らない質問やその他や発言はスルーの方向で。
スレタイにも>>1にも書かれているのに理解できないとは
日本語が理解できない在日か・・・?
何しにこのスレに来てんだろうね、このバカは・・・
しかも、自分が誰かも分からない状況で、どんなソースを出したか示せず
権威を主張し始めているよ。そういう奴は井の中の蛙で終わるちっぽけな存在に過ぎん
0741デフォルトの名無しさん
2006/07/03(月) 04:36:32お前、劣ってるからといって、あまり妬くなよ
おまえのような下等な人間はそれなりに世の中で必要なんだよ
0742デフォルトの名無しさん
2006/07/03(月) 04:53:06完全にニートだな。このスレに常駐して自分より劣っていると思う人間を見て安心したいのか?w
0743デフォルトの名無しさん
2006/07/03(月) 04:57:41彼って誰だ
まあその彼とやらと同一として気が済むならそれでいいんじゃないかな
久々の連休だ、もっと楽しませてくれ
0744デフォルトの名無しさん
2006/07/03(月) 05:01:560745デフォルトの名無しさん
2006/07/03(月) 05:02:580746デフォルトの名無しさん
2006/07/03(月) 05:08:42>>740
お前、劣ってるからといって、あまり妬くなよ
↑それはお前、そしておまえのような下等な人間はそれなりに世の中で必要なんだよ
最後まで何か自分の気に食わない意見を言う奴を叩かないと
気が済まない精神年齢の低いキチガイ↓↓↓↓
0747デフォルトの名無しさん
2006/07/03(月) 05:10:150748デフォルトの名無しさん
2006/07/03(月) 05:10:32あまり自分を責めるな
自殺するまえに精神科でも行けよ?
0749デフォルトの名無しさん
2006/07/03(月) 05:17:01過去にくだらねぇソースを出した程度で自分が誰よりも立場が上だと勘違いして
素性の分からない名無し相手に罵倒してんの?恥ずかしいねぇ・・・
オレもソースは出しているけど、こんな場所で出される問題を答えたくらいじゃ
他の回答者に対してお前よりオレの方が優秀だなんていわないけどなぁ。
ソースを出してもいないのに、ここでバカみたく自分に権威があるみたいに
俺に向かって何を言っているなんていっても無駄って気づけよ・・・
0750デフォルトの名無しさん
2006/07/03(月) 05:20:55やあ、ニートさん
0751719
2006/07/03(月) 05:21:40できたー・・・ってもう解かれてる orz
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.cgi?mode=thr&no=31
No.2236に投稿した
10を定数にするの忘れてます
再帰なので>>721さんのよりメモリを使うかも
かわりに多少読みやすい
0752751
2006/07/03(月) 05:25:33最後から五行目の所
... ((argc != 1) ? ... じゃなくて ... ((argc > 2) ? ... だった
0753719
2006/07/03(月) 05:46:52何度もすまない
・最後から五行目の所は ... ((argc < 2) ? ... です
・readmap中の(i++)はiに置き換える
・で whileの閉じるところにi++をつけなおさないと動かない
・switch以下二行はなくていい
0754デフォルトの名無しさん
2006/07/03(月) 06:13:350755デフォルトの名無しさん
2006/07/03(月) 06:39:28どう見ても同じ大学です
>>751
おかげで助かりました674じゃありませんがお礼を・・・
ありがとうございましたー
0756デフォルトの名無しさん
2006/07/03(月) 07:58:50せざるを得ないです(採点もやっているので)。
0757デフォルトの名無しさん
2006/07/03(月) 08:04:09飽きもせずよくやるよ、全く。
0758デフォルトの名無しさん
2006/07/03(月) 08:05:540760デフォルトの名無しさん
2006/07/03(月) 09:33:24【環境】Visual Stdio.NET2003
【OS】Windows XP
【提出期限】7月4日
【課題内容】10バイトのメモリ容量を確保し、その領域に
文字列"Allocate"を代入せよ。
ただし確保した領域はプログラム終了前に開放すること
0761デフォルトの名無しさん
2006/07/03(月) 09:42:560762デフォルトの名無しさん
2006/07/03(月) 11:00:19【環境】Visual Stdio.NET2003
【OS】Windows XP
【提出期限】6月26日
【課題内容】10名の学生の視力が以下の表の通りだったとする。
このデータを構造体に格納し、
構造体単位で新規ファイル書き込むプログラムを作成せよ
学籍番号 1 2 3 4 5 6 7 8 9 10
右目視力 1.5 2.0 0.7 1.0 0.2 1.5 0.8 0.1 2.0 1.5
左目視力 1.5 1.0 0.5 0.7 0.5 1.0 0.7 0.2 1.5 2.0
0763デフォルトの名無しさん
2006/07/03(月) 11:56:260764デフォルトの名無しさん
2006/07/03(月) 13:33:52[2] 問題文(含コード&リンク):2つの配列a[i][j]とb[i][j]に数値を入力し,各要素の和を求めるプログラムを作ってください。
[3] 環境
[3.1] OS: linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: c
[4] 期限: 明日
[5] その他の制限:ナシ
0765デフォルトの名無しさん
2006/07/03(月) 13:35:36[2] 問題文:氏名処理プログラム
キーボードから姓、名を空白1文字で区切ってローマ字で入力(例えば"Yamada Taro")
し、これに対して次のような4つの処理を行うプログラムを作成してください。
1、姓と名を分けて表示(例えば、姓:Yamada 名:Taro)
2、姓と名の文字数を表示(例えば、姓:6文字 名:4文字)
3、姓と名を逆にして表示(例えば"Taro Yamada")
4、イニシャルを表示(例えば、"T.Y.")
ヒント・注意
1、入力される文字数は不定なので、配列の要素数は十分余裕のある数
(例えば 100 個)で宣言してください。
2、姓と名の区切りをどのように見つけるかがポイントです。
3、姓名の入力用、姓用、名用にそれぞれ配列を用意すると
効率的に処理できます。
4、姓と名に空白が複数入っても処理できるプログラムにしてください。
5、姓、名の先頭文字を大文字に自動修正するプログラムにしてください。
[3] 環境
[3.1] OS:Windows XP
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:7月5日17時まで
0766デフォルトの名無しさん
2006/07/03(月) 14:23:08[2] 問題文:階乗を計算するdoubleがたの関数を使い、1から10までの階乗を表示するプログラムを作成して
ください。因数を使わないで、外部変数を使って、main関数からユーザー関数に、1から10までの値を送ってください
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限: 今日3時
[5] その他の制限:お願いします。私にはできません;;
0767デフォルトの名無しさん
2006/07/03(月) 14:24:460768デフォルトの名無しさん
2006/07/03(月) 14:46:50#include <stdio.h>
double kaijo(double*,int*);
int main() {
int i;
double sum=1;
for(i=1; i<=10; i++)
printf("%d! = %lf\n",i,kaijo(&sum,&i));
}
double kaijo(double* sum,int* i) {
return (*sum)*=(*i);
}
0769デフォルトの名無しさん
2006/07/03(月) 14:50:56#include <stdio.h>
double kaijo(int);
double sum=1;
int main() {
int i;
for(i=1; i<=10; i++)
printf("%d! = %lf\n",i,kaijo(i));}
double kaijo(int x) {
return sum*=x;
}
0770デフォルトの名無しさん
2006/07/03(月) 15:03:320771デフォルトの名無しさん
2006/07/03(月) 15:17:06#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main(void)
{
char name1[20],name2[20];
scanf("%s%s",name1,name2);
printf("%s %s\n",name1,name2);
printf("姓 : %d文字\n名 : %d文字\n",strlen(name1),strlen(name2));
printf("%s %s\n",name2,name1);
printf("%c.%c\n",toupper(name1[0]),toupper(name2[0]));
return 0;
}
0772デフォルトの名無しさん
2006/07/03(月) 15:36:55これでいい?
つか、期限がおかしいし
6/26っていつの日だ?
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2237.c
0773デフォルトの名無しさん
2006/07/03(月) 15:43:020774デフォルトの名無しさん
2006/07/03(月) 15:54:060776デフォルトの名無しさん
2006/07/03(月) 16:12:33[2] 問題文(含コード&リンク):
1. プログラムの冒頭に float 型の配列 data が宣言されている。初期値が
設定されるが、最後の値は負になっている。
2. プログラムは配列 data の内容が始めて負になるまで順に出力し、その後に
平均値を出力して停止する。
3. data の内容が無い時、つまり data[0]<0 の時は何も出力せずに停止
する。
4. 異なるデータ列を処理したい場合、配列 data の初期化の文以外は変更せ
ずにプログラムが動作すること。
例
data が次の宣言の時、出力は以下のようになる。
宣言
float data[]={0.5, 1.5, 2.5, -1};
出力
0.50000
1.50000
2.50000
平均 1.50000
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 明日(4日)
[5] その他の制限:
0777696
2006/07/03(月) 16:26:44どなたかわかる方いらっしゃいますか?
特に昨日「ちょっと待ってて」と言って下さった方、今日の夜中まで待っていますので
お願いします。
0778デフォルトの名無しさん
2006/07/03(月) 16:30:59#include <stdio.h>
int main(){
int i;
float data[] = {0.5, 1.5, 2.5, -1}, sum = 0.0;
printf("出力\n");
for(i = 0; data[i] >= 0; i++){
printf("%.5f\n", data[i]);
sum += data[i];
}
if (i != 0) printf("平均 %.5f\n", sum / (float)i);
return 0;
}
0779デフォルトの名無しさん
2006/07/03(月) 16:44:15あ、私の出した問題だ
0780デフォルトの名無しさん
2006/07/03(月) 16:44:180781デフォルトの名無しさん
2006/07/03(月) 17:06:00ちょっと待ってての人じゃないが、ほれ
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2238.c
0782デフォルトの名無しさん
2006/07/03(月) 17:13:04やってみる
$ path graph.txt 1 4
0->4: 0->1->4
出力はこんな感じでいいの?それとも片っ端から列挙?
0783487
2006/07/03(月) 17:18:23そんな感じ(前者)でお願いいたします。
いや、まだ全然出来てないし。途中経過。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2240.txt
関係者が見てたら、それは不運ってことで。
おまけに、その書き込み見て、やる気大幅ダウンだし。
update: find_record_set()して、そのデータを直接書き換えれば、updateしたことになる。
create table select: find_record_set()をごにょごにょすれば、なんとかなると思う。
sort: リスト構造のソートだからなんとかなるでしょう。
0786696
2006/07/03(月) 18:32:14ありがとうございます!
実行したとき始めに0.000000と出てしまうのと、
0 /
error
の後にまた前で計算した数字まで出てしまうのを消したいのですが、どうすればいいのですか?
0787デフォルトの名無しさん
2006/07/03(月) 18:59:43アッー!
0788670
2006/07/03(月) 19:07:350789デフォルトの名無しさん
2006/07/03(月) 19:24:29printf("reg (ry の行をforループの最後へ
0790デフォルトの名無しさん
2006/07/03(月) 19:31:58ただ単にブラウザから受け取ったデータを、相手方にそのまま渡して、
相手から受け取ったデータを、そのままブラウザに戻すだけでいいなら
簡単(単なる中継機能のみ)。が、その方法でうまくいくかどうかは不明。
それがうまくいくなら、コンテンツキャッシュくらいなら、まぁまぁ簡単に
実装できる。
0791デフォルトの名無しさん
2006/07/03(月) 19:53:01|д゜)もう見てますよぉ〜
|彡サッ
0794デフォルトの名無しさん
2006/07/03(月) 20:12:39危うくなってるしwwwww
0795デフォルトの名無しさん
2006/07/03(月) 20:20:350796デフォルトの名無しさん
2006/07/03(月) 20:23:400797デフォルトの名無しさん
2006/07/03(月) 20:33:34改変くらいはすぐ見破られるだろうな。
構造を変えとく必要がある。ただ、それが出来るくらいな奴なら、ここに丸投げはせんだろうがな。
0798デフォルトの名無しさん
2006/07/03(月) 20:41:17>>650や>>670レベルで1000円くらいで。
0799デフォルトの名無しさん
2006/07/03(月) 20:58:42既に出たネタをまた講義で使うだろうから、稼ぎにはなるかもしれんが
効率が悪いかな。俺は別のやり方で稼ぐつもりさ
0800デフォルトの名無しさん
2006/07/03(月) 21:02:56親切な人がメールで送ってくれるかもな
0801デフォルトの名無しさん
2006/07/03(月) 21:03:340802517
2006/07/03(月) 22:07:08かなり遅くなってすみません。
今日、いただいたプログラムを動かしてみましたが、
何の問題もなく動作しました。
本当にありがとうございました。
0803650 ◆f0jFPqgkWg
2006/07/03(月) 23:00:34期間が迫っているのと、似たようなプログラムだと落とされてしまうことから、自分の中で勝手に焦ってしまいました。
元はといえば、自分の勉強不足、努力不足が原因で、人に頼んでいるにも関わらず、立場を考えない不適切な発言をしてしまったことを、深く反省しています。
その結果、親切な回答者の親切心、やる気等を奪ってしまい、このスレの雰囲気まで悪い流れにしてしまったことを、後悔しております。
当分は、自分に対する質問以外は発言せず、ROMに徹することにします。
mailアドレスは、〆切までは念のため残しておいて、毎日確認するつもりですが、
このスレの為に作っただけのものなので、期間後は消去します。
最後になりますが、>>784さんを始めとするこのスレの住人の皆様、本当に申し訳ございませんでした。
0804デフォルトの名無しさん
2006/07/03(月) 23:02:520805デフォルトの名無しさん
2006/07/03(月) 23:11:28無責任に丸投げすればいいよ
こっちも無責任に回答するから、単位落としても知らないよ・・・と。
0806デフォルトの名無しさん
2006/07/03(月) 23:27:24ただし、三重にネストしたforループを使う事。
#include<studio.h>
main()
{
int x,y,z;
for( z = 1, z <= 500 , z++ ){
for( x = 1, x <= 500 , x++ ){
for( y = 1, y <= 500 , y++){
if( pow(z,2) == pow(x,2) + pow(y,2 ))
printf("%dの二乗は%dと%dの二乗の和に等しい\n",z,x,y);}}}
return0;
}
上記で合ってますか?
0807デフォルトの名無しさん
2006/07/03(月) 23:32:23あってるけど、三角形の条件を満たさなくなった場合に、すぐさまループをbreakするように
すれば、結果が出るのが速くなるかもしれない。
0808デフォルトの名無しさん
2006/07/03(月) 23:32:29良くはない
0809デフォルトの名無しさん
2006/07/03(月) 23:45:46powやsqrtを使うならmath.hも終われすれなく
0810デフォルトの名無しさん
2006/07/03(月) 23:53:17このプログラムをコンパイルすると警告が発せられて実行ファイルが出来ないのですが
どうしてでしょうか?
ちなみにCygwinを使ってます。
0811デフォルトの名無しさん
2006/07/03(月) 23:53:550812デフォルトの名無しさん
2006/07/03(月) 23:55:03>>1も読めないのかお前は
0813806
2006/07/03(月) 23:56:050814デフォルトの名無しさん
2006/07/04(火) 00:26:02[2] http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2242.txt
[3] 環境
[3.1] OS: Windows(Cygwin)
[3.2] gcc 3.4
[3.3] 言語: c
[4] 期限: 2006年7月5日
[5] その他の制限: 特になし
$ gcc -o server server.c
とコマンドに入力すると警告が発せられるのですが原因がわかりません。
どこがおかしいのでしょうか?
0815デフォルトの名無しさん
2006/07/04(火) 00:31:59>>1も読めないのかお前は
0816デフォルトの名無しさん
2006/07/04(火) 00:49:360817デフォルトの名無しさん
2006/07/04(火) 00:50:090818デフォルトの名無しさん
2006/07/04(火) 00:54:20#include <stdio.h>
#include <math.h>
main() {
int x,y,z;
int x2,z2;
for( z = 1; z <= 500 ; z++ ){
z2 = pow(z,2);
for( x = 1; x <= 500; x++ ){
x2 = pow(x,2);
if(x2 >= z2) break;
for( y = 1; y <= 500; y++){
if(z2 == x2 + pow(y,2))
printf("%dの二乗は%dと%dの二乗の和に等しい\n",z,x,y);}}}
return 0;
}
0819デフォルトの名無しさん
2006/07/04(火) 00:59:090820デフォルトの名無しさん
2006/07/04(火) 01:00:47残りはxとyが逆になっただけだから、さらに計算量を減らせる罠
まぁ、これ以上は良いかw
0821デフォルトの名無しさん
2006/07/04(火) 01:02:00二乗くらいなら普通に掛け算すればずっと速くなる。
0822デフォルトの名無しさん
2006/07/04(火) 01:13:38???、yのループのif文の中の比較をするたびに、毎回3つの値を
計算してたんでは効率が悪いから、yのループの前に一度だけ計算して、
あとは数値を比較した方が明らかに処理速度は速くなるかと。
実際にやってみりゃ分かる。
0823デフォルトの名無しさん
2006/07/04(火) 01:16:03もう黙ってろ。
0824デフォルトの名無しさん
2006/07/04(火) 01:22:04821 名前:デフォルトの名無しさん 投稿日:2006/07/04(火) 01:02:00
>>818
二乗くらいなら普通に掛け算すればずっと速くなる。
二乗くらいなら普通に掛け算すればずっと速くなる。
二乗くらいなら普通に掛け算すればずっと速くなる。
二乗くらいなら普通に掛け算すればずっと速くなる。
二乗くらいなら普通に掛け算すればずっと速くなる。
二乗くらいなら普通に掛け算すればずっと速くなる。
二乗くらいなら普通に掛け算すればずっと速くなる。
0825デフォルトの名無しさん
NGNG0826デフォルトの名無しさん
2006/07/04(火) 01:27:40double pow(double x,double y);
0827デフォルトの名無しさん
2006/07/04(火) 01:28:16お前が黙ってろよ?w お前の理論じゃ効率の良さの追及は無理だから。
自称プロ?ソースを書いている俺に向かってでけぇ面するなっつった奴か?
if文の中で毎回無駄な計算が行われているところまで目がいかなかったか。
実際にソースを書いて実行結果を見て、処理時間を比較すりゃ明らかなのにな・・・
まぁ、お前が何を言いたかったか理解させたいなら、まずソースを書いて立証しろよ?
ちなみに、こっちで確認したみたけど
pow(x,2)をx*xと書き換えても速度は上がりませんでしたよ?
0828デフォルトの名無しさん
2006/07/04(火) 01:28:54分からせたかったらソースを書いて出せ、な?因数の意味を理解していなかった
日本語と数学がダメなトーマスさん?
0829デフォルトの名無しさん
2006/07/04(火) 01:31:45Borland C++ 5.5.1なんだけど
ちなみに>>821じゃないしよくわかってないで書き換えて試しただけ。
0830デフォルトの名無しさん
2006/07/04(火) 01:33:53x*x : time1432
pow(x,2) : time5002
ちなみに全部double型に直しといた
0831デフォルトの名無しさん
2006/07/04(火) 01:34:50試した結果を出せ
0832デフォルトの名無しさん
2006/07/04(火) 01:34:59当然だ
0833デフォルトの名無しさん
2006/07/04(火) 01:35:00[2] 問題文: 最初にデータ数Nを決め、N個数字を入れ、それを大きい順に並び替えるプログラム
[3] 環境
[3.1] OS: Windows xp
[3.2] コンパイラ名とバージョン:
[3.3] 言語: C
[4] 期限:朝8時くらいまでで
[5] その他の制限: 特に無いです
0834デフォルトの名無しさん
2006/07/04(火) 01:37:10やれやれ、やっとこちらの誘導で釣れたかw
当然、結果なんて分かっているわ。やれば済む話だが。
>>823が偉そうだったんで気に食わないから一杯盛ってやったんだよw
言葉だけでどうにかしようだの、お前わかってないだのって態度は
俺はとことん叩くね。今後も覚悟しておいてちょうだいな、
初心者や質問者にわかってねーなお前としか言わずに罵倒しにくる誰かさんも含めて、ね。
0835デフォルトの名無しさん
2006/07/04(火) 01:38:30そんな話はいいから試した結果を出せ
0836デフォルトの名無しさん
2006/07/04(火) 01:38:56えーとやってみて結果が分かったから釣りですた・・・と。
0837デフォルトの名無しさん
2006/07/04(火) 01:39:36[2] 問題文:テスト結果を保存したファイルをwebページからダウンロードします。
ファイルにはテスト結果の点数を表す数値が140個格納されています。テスト結果のうちを
秀、優、良、可、不可それぞれの個数を集計して、以下のように棒グラフにより
表示するプログラムshukei.cを作成しなさい。
ただし、秀、優、良、可、不可は次のように判定すること。
・秀:90〜100点
・優:80〜89点
・良:70〜79点
・可:60〜69点
・不可:0〜59点
また棒グラフは記号「*」の数が該当する生徒の人数を表すものとする。
実行例:(ただし、test.datの集計結果が正確に下の棒グラフのようになるとは限らない。)
./shukei<test.dat
集計結果は次のとうりです。
秀:*********
優:************
良:************************
可:*******************************
不可:****************
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: [2006年7月4日まで]
[5] その他の制限: 他スレでも聞いて、
score,const,cher,label,for,returnを使ったものだったのですがまだ習っていないので、
while,printf,scanf,if,elseを使った式でやってもらえないでしょうか?
よろしくお願いします。
0838デフォルトの名無しさん
NGNG#include<stdio.h>
#include<stdlib.h>
#define N 10
int cmp(const void* a, const void* b){return *(const char)b-*(const char)a;}
int main(void){char tmp[N+2];fgets(tmp,sizeof(tmp),stdin);qsort(tmp,N,sizeof(char)cmp);
puts(tmp);return 0;}
0839デフォルトの名無しさん
NGNGファイルのフォーマットがわからんと手の出しようがない。
0840デフォルトの名無しさん
2006/07/04(火) 01:41:27テスト結果を保存したファイルは?
0841デフォルトの名無しさん
2006/07/04(火) 01:42:02いつまでも自分より下を見て安心していて下さいね♠
こっちは上を見てどんどん精進すっから♣
0842デフォルトの名無しさん
2006/07/04(火) 01:42:03#include <stdio.h>
#include <time.h>
#include <stdlib.h>
void bsort(int* a, int n){
int i,j,max,tmp;
for(i=0; i<n-1; i++){
max = i;
for(j=i+1; j<n; j++)
if(a[max] < a[j])max = j;
if(i != max){
tmp = a[i];
a[i] = a[max];
a[max] = tmp;
}}}
intmain() {
srand((unsigned)time(NULL));
int n = 10;
int i;
int* a = (int*)malloc(sizeof(int)*n);
for(i=0; i<n; i++){
a[i] = rand();
printf("%d\n",a[i]);}
bsort(a,n);
putchar('\n');
for(i=0; i<n; i++)
printf("%d\n",a[i]);
free(a);
return 0;
}
0843デフォルトの名無しさん
2006/07/04(火) 01:43:07結果は既にお前のもとにも出ていると思うが?
わざわざpow使わんでもx*xにした方が速かったですけど何か?
まぁ、無駄な議論なんてもう黙ってろ。
0844デフォルトの名無しさん
2006/07/04(火) 01:44:55お前が無駄な議論始めようとしたんじゃないのか?
0845デフォルトの名無しさん
2006/07/04(火) 01:46:17つかいい加減ここID制にしてほしいな
0846デフォルトの名無しさん
NGNGそれは「N個の数字」ではなくて「N個の数値」だと思うのココロ。
0847デフォルトの名無しさん
2006/07/04(火) 01:46:410848デフォルトの名無しさん
2006/07/04(火) 02:01:170849837
2006/07/04(火) 02:07:38すいません!フォーマットというのをいまいち理解してません。
>>840
ファイルは大学のサイトからダウンロードするだけなので
形式はちょっとわからないです…
あと大学内でしかそのサイトを開けないので今はわからないんです。
すいません。
0850デフォルトの名無しさん
2006/07/04(火) 02:10:12では質問を却下します。
0851デフォルトの名無しさん
NGNGエスパーを探しに来たのなら他をあたれ。
0852837
2006/07/04(火) 02:14:01迷惑かけてすみませんでした。
0853デフォルトの名無しさん
2006/07/04(火) 02:28:13寝るか
0854487
2006/07/04(火) 02:41:31進行の方はいかがでしょうか?
遅くなってもかまいませんのでよろしくお願いいたします。
0855デフォルトの名無しさん
2006/07/04(火) 03:11:24アウトプットが・ばっかり並ぶのはなぜですかorz
0856デフォルトの名無しさん
2006/07/04(火) 05:37:38#include <stdio.h>
int main()
{
FILE* fp;
char buf[128];
int score, i, j;
int grade[5] = {0};
char *title[5] = {"秀:", "優:", "良:", "可:", "不可:"};
fp = stdin;
while (fgets(buf, sizeof buf, fp) != NULL) {
score = atoi(buf);
if (score >= 90) grade[0]++;
else if (score >= 80) grade[1]++;
else if (score >= 70) grade[2]++;
else if (score >= 60) grade[3]++;
else grade[4]++;
}
i = 0;
while (i < 5) {
printf("%s", title[i]);
j = 0;
while (j < grade[i]) {
printf("*");
j++;
}
printf("\n");
i++;
}
return 0;
}
0859デフォルトの名無しさん
2006/07/04(火) 06:50:52void mainをint mainに変える。
0860デフォルトの名無しさん
2006/07/04(火) 11:37:14[2]次の問題を解け
問16
コマンドライン引数を逆から全て表示するプログラムの作成
以下の実行例になるようにしなさい
% ./a.out hello world x
number of arguments = 4
argument 3 = "x"
argument 2 = "world"
argument 1 = "hello"
argument 0 = "./a.out"
%
[3]Linux /gcc3.4 /C言語
[4]7月7日
0861デフォルトの名無しさん
NGNG#include<stdio.h>
int main(int argc, char* argv[]){printf("number of arguments = %d\n", argc);
while((--argc)>=0)printf("argument %d = \"%s\"\n",argc,argv[argc]);return 0;}
0862デフォルトの名無しさん
2006/07/04(火) 11:58:45迷路の経路を探索するプログラムを作成しなさい.以下の要件を示します.
迷路の形状を示すデータファイル名を引数とします.
迷路のサイズは10×10の固定とし,壁を1,通路を0,スタートを8,ゴールを9で与えます.
迷路の形状と経路が視覚的に分かるような出力をしなさい.分かりやすい出力になるよう工夫すること.
.
struct r_tag {
int x ; /* x座標 */
int y ; /* y座標 */
/* 方向とか... */
struct r_tag preg ; /* 一歩前 */
struct r_tag next ; /* 一歩先 */
} route ;
データ ファイル: maze.txt
1 1 1 1 1 1 1 1 1 1
1 9 0 0 0 1 0 1 0 1
1 1 1 1 0 1 0 0 0 1
1 0 1 0 0 1 1 1 0 1
1 0 1 0 1 1 0 0 0 1
1 0 0 0 1 0 0 1 1 1
1 1 0 1 1 0 1 0 0 1
1 0 0 0 1 0 1 0 1 1
1 0 1 0 0 0 0 0 8 1
1 1 1 1 1 1 1 1 1 1
0863デフォルトの名無しさん
2006/07/04(火) 12:01:14>>1
0864デフォルトの名無しさん
2006/07/04(火) 12:02:58C言語の切り札 っていう参考書にそれの答えが載ってる
何年か前の情報処理技術者試験の問題だった。
0865デフォルトの名無しさん
2006/07/04(火) 12:20:57[1]授業単元:プログラミング実習
[2]問題文:scanfにより10個の整数をキー入力する。
一つ前に入力した値より大きい値の数の個数を求めるプログラムを作れ。
但し、scanfは2回以下しか使うことができない。
ヒント、直前に入力した値を保持する手段が必要。
実行例
整数を入力⇒256
整数を入力⇒189
整数を入力⇒667
整数を入力⇒328
整数を入力⇒467
整数を入力⇒980
整数を入力⇒533
整数を入力⇒315
整数を入力⇒889
整数を入力⇒662
前より小さな数が入力されたのは5回です。
[3]環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: Visual Studio2003
[3.3] 言語:C++
[4]期限:7月10日まで
0866862
2006/07/04(火) 12:23:40[2] 問題文(含コード&リンク):
[3] 環境
[3.1] OS:MacOS10.3
[3.2] コンパイラ名とバージョン: ターミナル使ってます
[3.3] 言語: C言語
[4] 期限: 今日。。。
[5] その他の制限:ポインタまでやってあります。
>>864
今から買ってくるわ
0867デフォルトの名無しさん
2006/07/04(火) 12:35:12#include<stdio.h>
int main(){int i,b,n=-1,count=0;for(i=0;i<10;i++){b=n;
printf("整数を入力⇒");scanf("%d",&n);if(b<0)continue;if(b>n)count++;}
printf("前より小さな数が入力されたのは%d回です。\n",count);return 0;}
適当に作ってみた 反省はしてない。
0868デフォルトの名無しさん
2006/07/04(火) 12:38:170869デフォルトの名無しさん
2006/07/04(火) 12:44:24>>674-675 問題
>>721,751 解答
0870デフォルトの名無しさん
2006/07/04(火) 13:18:000871デフォルトの名無しさん
2006/07/04(火) 13:32:55循環だけ検出してさ
0872デフォルトの名無しさん
2006/07/04(火) 15:17:02これらの問題って、モロに過去に同じものが出たよね・・・
同じ学校なのか?それとも時期が違うところを見て、同じネタを使っている
別の学校があるのか?どちらにせよ、来年もこの時期にこの問題を
ここで質問する奴が必ずいるだろうね。そろそろ出題内容と回答例をテンプレにまとめるべきか?
あるいは、同じ問題はつまらん、学校の指導者よ、もっとヒネりなさいヒネりなさいと催促するか?w
あるいは、それをネタにここで稼ぎをする奴が出るか?選択は自由だーーーー!
C言語 is freedom!C言語 is freedom!
けど、ここに書かれたソースを丸々提出すると、丸写ししたのがバレて単位が危うくなるで。
0873デフォルトの名無しさん
2006/07/04(火) 15:48:050874デフォルトの名無しさん
2006/07/04(火) 15:59:47レポート課題も出してちょ〜〜♪
オラっ、なんだかワクテカしてきたぞ!
0875デフォルトの名無しさん
2006/07/04(火) 16:50:49問1
#include <stdio.h>
#include <math.h>
int main(void) {
float S,x,h;
scanf("%f",&x);
scanf("%f",&h);
S=sqrt((x*x/4)+(h*h));
S=(x*S*2)+(x*x);
printf("%f\n",S);
return 0;
}
0876デフォルトの名無しさん
2006/07/04(火) 16:52:10問2
#include <stdio.h>
int main(void) {
int hh,mm,ss,sec;
scanf("%d",&hh);
scanf("%d",&mm);
scanf("%d",&ss);
sec = 7200 - (hh*3600) - (mm*60) - ss;
hh = sec / 3600;
mm = sec % 3600 / 60;
ss = sec % 3600 % 60;
printf ("%02d:%02d:%02d\n",hh,mm,ss);
sec = sec * 3;
hh = sec / 3600;
mm = sec % 3600 / 60;
ss = sec % 3600 % 60;
printf ("%02d:%02d:%02d\n",hh,mm,ss);
return 0;
}
0877デフォルトの名無しさん
2006/07/04(火) 16:58:28[2] 問題文: すべての4桁の数のうち、下2桁の数の積が2の倍数であるものの合計を求めるプログラム
[3] 環境
[3.1] OS: Windows xp
[3.2] コンパイラ名とバージョン:
[3.3] 言語: C++
[4] 期限:明日の昼ごろまで
[5] その他の制限: 特に無いです
0878デフォルトの名無しさん
2006/07/04(火) 17:00:41つチラシの裏
0879デフォルトの名無しさん
2006/07/04(火) 17:02:29これって下二桁の数の積を取る対象が不明なんだけど、
全ての4桁の数全部の積をとるの?
すると必ず2の倍数になるから答えは
9999*10000/2-999*1000/2 とかでいいのかな?
0880デフォルトの名無しさん
2006/07/04(火) 17:09:220881デフォルトの名無しさん
2006/07/04(火) 17:11:48=
1000〜9999のうち、十の位が2の倍数か、一の位が2の倍数である数の合計
0882デフォルトの名無しさん
NGNG上2桁には00も許容するのか?
つーか上2桁のある意味が分からん。
0883デフォルトの名無しさん
2006/07/04(火) 17:12:240884デフォルトの名無しさん
2006/07/04(火) 17:13:57それちょっと違う。
けど、どうでもいい糞問題。
0885デフォルトの名無しさん
2006/07/04(火) 17:57:29http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2243.cpp
つまりこういうことか?念のために足される値の表示ありにしておいた
0886デフォルトの名無しさん
2006/07/04(火) 18:12:000887デフォルトの名無しさん
2006/07/04(火) 19:31:46[1] 授業単元: プログラミング言語
[2]
[3] 環境
[3.1] OS: Windows(Cygwin)
[3.2] gcc 3.4
[3.3] 言語: C
[4] 期限: ([2006年07月06日)
[5] その他の制限:特になし
あるプログラムをコンパイルしたら以下のようになったのですがどういう意味なのか分かりません。
$ make
gcc -Wall -g -I../lib/include -o httpproxy main.o proxy.o http.o -L../lib/lib
-lsock -ltoken -ldaemon
/usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/../../../../i686-pc-cygwin/bin/
ld: cannot find -lsock
collect2: ld returned 1 exit status
make: ***[httpproxy] Error 1
どういうエラーなのでしょうか?
0888デフォルトの名無しさん
NGNG書いてあるとおり。
0889デフォルトの名無しさん
2006/07/04(火) 20:20:08[2] 問題文(含コード&リンク)
整数値aを入れると1+2+3+…+aを計算して返す関数(たとえば関数名sum)を作成し,これを呼び出しながら任意のaに対してその結果を画面に表示するプログラム(たとえばプログラム名funcdemo1.cpp)を作成、実行すること。以下の二つのタイプを作成すること!
1)sum()を値呼び出し型関数とした場合
2)sum()を参照呼び出し型関数とした場合
:
[3] 環境
[3.1] OS: Windows xp
[3.2] コンパイラ名とバージョン:
[3.3] 言語: C/C++/どちらでも可
[4] 期限: 明日まで
0890デフォルトの名無しさん
2006/07/04(火) 20:21:08間抜け
0891デフォルトの名無しさん
2006/07/04(火) 20:23:54問題文に“!”を使うのも間抜けだが、適切な用語を使えないというのがもっと間抜け。
0892デフォルトの名無しさん
NGNG1)sum()を値呼び出し型関数とした場合
#include<stdio.h>
#include<stdlib.h>
int sum(int n){return n*(n+1)/2;}
int main(void){char tmp[100];while(1){printf("任意のa:");fgets(tmp,sizeof(tmp),stdin);
if(tmp[0]=='\n')break;printf("結果:%d\n",sum(atoi(tmp));}return 0;}
2)sum()を参照呼び出し型関数とした場合
#include<stdio.h>
#include<stdlib.h>
int sum(int& n){return n*(n+1)/2;}
int main(void){char tmp[100];while(1){printf("任意のa:");fgets(tmp,sizeof(tmp),stdin);
if(tmp[0]=='\n')break;printf("結果:%d\n",sum(atoi(tmp));}return 0;}
0893デフォルトの名無しさん
2006/07/04(火) 20:36:00#include <iostream>
using namespace std;
main() {
int i,x,sum=0;
for(i=1011; i<=9998; i+=10) {
x = (i%100); // 下二桁を取得
if((x/10) % 2 == 0) // 10の位が偶数
sum+=(i-1)*9+45;
else // 10の位が奇数で1の位が偶数
sum+=(i-1)*4+20;}
cout << "\nsum : " << sum;
}
0894デフォルトの名無しさん
2006/07/04(火) 20:40:45お前らの世界じゃ0が2の倍数らしいな。
0895デフォルトの名無しさん
2006/07/04(火) 20:43:54printfの閉じ括弧が足りないっす
0896デフォルトの名無しさん
2006/07/04(火) 20:46:34ああ、ほんと、100単位で0が混じってたw
0897デフォルトの名無しさん
2006/07/04(火) 21:16:58[2] 問題文(含コード&リンク):人間とコンピュータが対戦できる三目並べを製作せよ
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限: 7/6 正午まで
[5] その他の制限:特になし
以下のようなソースコードを書いたのですが(チェック用に無駄なfprintf文が入ってます)、
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2244.txt
コンパイルすると何故か1手目からコンピュータの手が入っていたり、
-Oオプションで最適化してコンパイルすると最初は正常であるものの手数がおかしくなって連続で手が打てたりするような状態になります。
皆目原因の見当がつかないのでここを頼ってみた次第です。
よろしくお願いします。
0898デフォルトの名無しさん
2006/07/04(火) 21:27:21整数 a によって整数 b が割り切れるとき、b は a の倍数であるという。
という定義から考えるに0は2の倍数と思うのだが。
0899デフォルトの名無しさん
2006/07/04(火) 21:35:55お前の世界じゃ0が2の倍数じゃないらしいな。
0900デフォルトの名無しさん
2006/07/04(火) 21:39:25http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2245.cpp
うわっ、もうわけわかんね。とりあえず10の位が0になっていたのを除いてみたけど
0を入れるんだったらもっと簡単な式にできる罠
0901デフォルトの名無しさん
2006/07/04(火) 21:46:18といった出題でええやん・・・やっぱ下二桁の積で0は抜かせってことじゃね?
0902デフォルトの名無しさん
2006/07/04(火) 21:50:52サッカーの試合まで寝るっすw
0903837
2006/07/04(火) 21:55:40ありがとうございます!
やっぱりあきらめきれなくてまたきちゃいました…
すみませんが、
while,printf,scanf,if,elseを使った式だけでできないものでしょうか?
FILE* fp;
char buf[128];
fp = stdin;
while (fgets(buf, sizeof buf, fp) != NULL) {
atoi(buf);
return 0;
↑このようなものを使ったことがないのでわからないんです…
注文がおおくてすみません!
長くなってもかまわないのでよろしくお願いします。
const,cher,label,for,return,
int grade[5] = {0};
0904デフォルトの名無しさん
2006/07/04(火) 22:01:16最後に下二桁の積が0でもおkな奴をうpして、今日はこれでジダンのごとく引退します
0905デフォルトの名無しさん
2006/07/04(火) 22:03:07http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2247.cpp
0906デフォルトの名無しさん
2006/07/04(火) 22:10:22どうでもいいけど気になったこと。
char input[20];
…
scanf("%s",&input); ←'&'イラネ
for文を使った初期化処理
→ memset(v,0,sizeof(v));で一発。
if(max == 4){ return 2; } else{ return 0; } みたいな処理
→ 条件演算子を使うと見やすい。 return (max == 4)? 2:0;
#include <stdio.h>
int main()
{
int score;
int grade[5] = {0};
char *title[5] = {"秀:", "優:", "良:", "可:", "不可:"};
int i, j;
while (scanf("%d", &score) != EOF) {
if (score >= 90) grade[0]++;
else if (score >= 80) grade[1]++;
else if (score >= 70) grade[2]++;
else if (score >= 60) grade[3]++;
else grade[4]++;
}
i = 0;
while (i < 5) {
printf("%s", title[i]);
j = 0;
while (j < grade[i]) {
printf("*");
j++;
}
printf("\n");
i++;
}
}
0908903
2006/07/04(火) 22:20:51何度もすみません!ありがとうございます!
質問があります!
char *title[5] と grade[1]++; はどういう意味でしょうか?
0909903
2006/07/04(火) 22:23:51EOFとif文の後にgrade[0]++; をつけるのがよくわかりません…。
0910デフォルトの名無しさん
2006/07/04(火) 22:24:04char *title[5] = ... → titleはキャラのポインタの配列(要素数5)
grade[1]++ → grade[1] = grade[1] + 1と同じ。
黙ってそのまま提出するか、それが嫌ならCの勉強をしてください。
0912912
2006/07/04(火) 22:29:37VC2005で以下のコードを入力して、実行すると結果がおかしいような気がする。
もし理由があれば教えてほしいのですが・・・
#include <stdio.h>
#include <time.h>
void main()
{
int i=1;
time_t t1,t2;
time(&t1);//表示前の秒数を格納
while(i<=5000){
printf("%d,",i++);
}
time(&t2);
printf("\ntime1=%ld\n",t1);//time_tはlong型なので%ld
printf("\ntime2=%ld\n",t2);//time_tはlong型なので%ld
printf_s(" %ld %ld ", t1 , t2 );//time_tはlong型なので%ld
printf("かかった時間は、%d秒です。\n",t2-t1);
}
・実行結果の最後
time1=1152019127
time2=1152019127
1152019127 0 かかった時間は、0秒です。
↑ここがなんで0なのかがわからないtime2の値が入ると思っていたのだけど。
0913デフォルトの名無しさん
2006/07/04(火) 22:32:570914デフォルトの名無しさん
2006/07/04(火) 22:34:490915912
2006/07/04(火) 22:34:55説明がおかしくてすみません。
0916デフォルトの名無しさん
2006/07/04(火) 22:41:24[2] 問題文(含コード&リンク):
プログラム
step1: a=x+y
step2: b=z+1
step3: c=a-b
step4: w=c+1
に関し、以下のプログラムを完成させて、step1とstep2を並列実行させるプログラムを作成せよ。
但し、x,y,zはプロンプトに従って入力するとする。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2248.c
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C言語
[4] 期限:7/4 26:00まで
よろしくお願いします
0917デフォルトの名無しさん
2006/07/04(火) 22:49:41//time_tはlong型なので%ld
この前提がおかしい。VC2005ではtime_tは__int64型。
なので、
printf_s(" %lld %lld ", t1 , t2 );//time_tは__int64型なので%lld
こうしなければならない。
もっとも、環境依存を減らすための time_t なんだから、
printf(" %ld %ld ", (long)t1 , (long)t2 );
このように明示的にキャストするのがベター。
0918917
2006/07/04(火) 22:51:35教授だったらテキトーに合わせた上で見限れ。
0920デフォルトの名無しさん
2006/07/04(火) 22:54:51スレ違いだけど・・・
確かにやってみたら、0になるね。printfでも0が表示された。
VC6で試してみたら(printfで)、正しく表示された。
なんだろね?Visual Studio 2005スレか、C/C++室スレで聞いてみたら?
0921903
2006/07/04(火) 22:55:21ありがとうございます!
>>911
何度も付き合ってくださってありがとうございました!
もっと勉強したいと思います!
助かりました!本当にありがとうございました!
0922920
2006/07/04(火) 22:55:440923デフォルトの名無しさん
2006/07/04(火) 22:58:24[2] 問題文(含コード&リンク):http://www.s.kyushu-u.ac.jp/~z6ty02in/TEXT/mokuji.html
ここの「11.ポインタと配列」の中の、「課題11(1/4)〜(4/4)」です
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:2006年7月7日(金)8:40まで
[5] その他の制限:
よろしくお願いします。
0924デフォルトの名無しさん
2006/07/04(火) 23:02:27もうちょっとしたら習うのかもしれないけど、その元プログラム、根本的に
おかしいから気をつけてね。
0925デフォルトの名無しさん
2006/07/04(火) 23:09:31何がおかしいんですか?
0926デフォルトの名無しさん
2006/07/04(火) 23:11:42exit(0)
0927デフォルトの名無しさん
2006/07/04(火) 23:12:39ど素人な質問で申し訳ない
0928デフォルトの名無しさん
2006/07/04(火) 23:15:28元がこんなソースだったので多分教授が間違えたのかも…
できれば>>916の問題よろしくお願いします。
0929デフォルトの名無しさん
2006/07/04(火) 23:17:31いや、そういう話じゃない。
どのようなカリキュラムで、どの時点で>>916が出てきたのかわからないけど、
正しいお作法としては、親プロセスは勝手に終了してはいけないってこと。
この先waitの話が出てこなかったら、この話を思い出してくれ。
0930デフォルトの名無しさん
2006/07/04(火) 23:22:450931デフォルトの名無しさん
2006/07/04(火) 23:27:47そういうのいらないから。答えないんだったら、黙ってて。
0932デフォルトの名無しさん
2006/07/04(火) 23:35:56なんとかは放置に限るんじゃなかったっけ
0933デフォルトの名無しさん
2006/07/04(火) 23:37:430934デフォルトの名無しさん
2006/07/04(火) 23:43:01そういうことを書いた時点で負け組。
0935デフォルトの名無しさん
2006/07/04(火) 23:45:13お前を完全無視できる俺は神?
0936924
2006/07/04(火) 23:54:28step1を子プロセス1で、step2を子プロセス2で計算させて、
その結果を親プロセスでさらに計算するってことでしょ。(これが違うのか?)
だとしたら、子プロセスはなんらかの方法で親プロセスに結果を返さないと
いけないんだけど、子プロセス1はなにもせずにexit(0)で終了してるでしょ。
それがおかしいってこと。
exitで計算結果を返すという手もあるけど、exit(0)してるから、それも出来ない。
というわけで、俺には解答不能です。
0937デフォルトの名無しさん
2006/07/05(水) 00:00:53[2] 問題文:
・100個のノードを生成する
・ノードに重みを適当に点ける(1〜100)
・任意のノードペアを選び、重みの和を取り、重みの和が100以上のノードペアにリンクを張る
・それぞれのノードの持つリンクの数を計算する
・リンクの数の分布
(リンクが1つ・・・○○、リンクが2つ・・・○○、・・・みたいな)
[3] 環境:[Windows XP Borland C++ Compiler 5.5(BCC Developer) C言語
[4] 期限:早目がうれしいです
[5] その他の制限:講義自体が酷いので独学で進めていますがさっぱりです
0938デフォルトの名無しさん
2006/07/05(水) 00:03:15多分、件の教授は、スレッドと間違えたんだよw
0939デフォルトの名無しさん
2006/07/05(水) 00:08:37[2]問題文(含コード&リンク):次のアルファベットのキーワードを入力して計算する関数電卓プログラムを作成しなさい。
sin, cos, tan, arcsin, arccos, arctan, ln, log, exp, squr, rad, deg, end
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ名とバージョン: VC 6.0
[3.3] 言語:C++
[4]期限 7月6日
[5]特になし
どうぞよろしくお願いします。
0940920
2006/07/05(水) 00:12:04一応、exitで計算結果を返すバージョンのものを書いてみた。
なんで256で割ってるのかは、man wait。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2250.txt
0941デフォルトの名無しさん
2006/07/05(水) 00:12:51おいおい、それ、いつ出された問題だ?
0942デフォルトの名無しさん
2006/07/05(水) 00:15:356月の中旬くらいです。
0943デフォルトの名無しさん
2006/07/05(水) 00:16:27丸投げするなら早めに投げようよ・・・
0944デフォルトの名無しさん
2006/07/05(水) 00:19:25こういうやついるいるw
0945デフォルトの名無しさん
2006/07/05(水) 00:19:58【質問テンプレ】
[1] 授業単元:基本プログラミング
[2] 問題文(含コード&リンク): 角度(0度以上180度以下)と計算すべき項数を引数として、正弦値の値を近似する関数を宣言し、入力した角度に対し、指定した項数に対する近似値を出力するプログラムを作成せよ。
角度に0未満もしくは180より大きい数が入力されたときに終了する。
角度は、近似の関数内でラジアンに変換すること。出力はmain関数で行うこと。
(実行例)
Input degree(0<=degree<=180):30
Input n:5
sin30=0.5
Input degree(0<=degree<=180):30
Input n:1
sin30=0.523598
Input degree(0<=degree<=180):30
Input n:2
sin30=0.499674
Input degree(0<=degree<=180):45
Input n:10
sin30=0.707106
Input degree(0<=degree<=180):-1
[3] 環境
[3.1] OS:UNIX
[3.3] 言語:C++
[4] 期限:明後日
[5] その他の制限:if,for,whileなどまでやりました
0946デフォルトの名無しさん
2006/07/05(水) 00:20:57どうもありがとうごじあます
0947デフォルトの名無しさん
2006/07/05(水) 00:23:19俺、924だったorz
0948デフォルトの名無しさん
2006/07/05(水) 00:45:36endって何?
0949デフォルトの名無しさん
NGNGおおそうか。んじゃそれで。
0950デフォルトの名無しさん
2006/07/05(水) 01:32:18いえいえ、んじゃそれまでで。
0952デフォルトの名無しさん
2006/07/05(水) 01:37:48int push(int data, int *sp, int *STK){
if(0<*sp){*sp-=1;STK[*sp]=data;return 1;}
return 0;}
int pop(int *dataP, int *sp, int *STK){
if(*sp<N){*dataP=STK[*sp];*sp+=1;return 1;}
return 0;}
void dsp_stack(int top, int *a){
int i;for(i = top;i<N;i++){printf("%d: %d\n",i,a[i]);}}
眠い頭でやった。反省はしてない。
0953デフォルトの名無しさん
2006/07/05(水) 03:53:26http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2251.txt
ちょっとごちゃごちゃしてしまったけど、これでどう?
C++ならもっとすっきりした形に出来るんだが・・・Cだしな・・・・
0954953
2006/07/05(水) 03:56:31誰かバグ取って頼む。俺もう眠いから寝る。
0955デフォルトの名無しさん
2006/07/05(水) 04:19:2573
-(*adjacent)[k][l] = (*adjacent)[l][k] = 1;
+(*adjacent)[k][l] = 1;
98-99
-if (father[nextNode] != VISITED) {
-edge++;
+edge++;
+if (father[nextNode] != VISITED) {
しかしこれだと0からじゃ行けない点があるんだよな。
0956デフォルトの名無しさん
2006/07/05(水) 04:20:22-int edge = 0;
-int edge = 1;
忘れてた。
0957デフォルトの名無しさん
2006/07/05(水) 04:35:22[2]これまでに得た知識を元に、
今回よりいよいよゲーム的なプログラムの作成を実践する。
課題1-3:以下のような内容のプログラムを作成せよ
1:敵のキャラクタと自分のキャラクタが1対1で戦う形式のバトルゲーム
2:それぞれのキャラクタは「力」、「耐久力」、「素早さ」、「運」各4つの要素をもっている.
各キャラクタに初期状態で100のポイントがが与えられ、
これを各要素に合計が100になるように自由に振り分けることができる.
例:
力:20耐久力:50
すばやさ:10運:20
3:1回ごとの戦闘ではプレイヤーは攻撃するか防御するかを選択できる.
4:1回の戦闘で、自分と敵は攻撃か防御のどちらかを1回できる.
5:どちらが先に攻撃するかはランダムで決定されるが、素早さの数値が大きい程先に攻撃する確率が上昇する
6:敵の攻撃があたれば,相手の“力”分だけ耐久力の値が減少する.
7:素早さの値が大きければ、相手の攻撃を回避する確率が上昇.(素早さが10の場合は10%の確率で回避)
8:運の値はクリティカルの発生に影響を与え、高ければ確率が大きくなる(運が20であるならば20%の確率でクリティカルがでる)
9:また運の値が相手の運を上回っている場合、回避率に5%のボーナスを与える
10:クリティカルアタックは通常の攻撃の2倍の威力となる.
11:防御している場合、ダメージは半分になる.
12:体力の点数が先に0以下になった方を敗北とする.
13:敵の行動アルゴリズムはランダムである.
以上13個の要素を全て満たしたゲームを作りなさい.
主に構造体を利用すること.
[3]環境:Linux gcc C言語
[4]7/6
0958デフォルトの名無しさん
2006/07/05(水) 05:42:290959デフォルトの名無しさん
2006/07/05(水) 07:28:07[2] 問題文(含コード&リンク):1〜100までの2で割り切れ、かつ3で割り切れる値の合計
[3] 環境
[3.1] OS:WindowsXP HomeEdition
[3.2] コンパイラ名とバージョン:Dev-C++ 4.9.9.2
[3.3] 言語:C言語
[4] 期限:[2006年07月05日10:00まで]
お願いします。
0960デフォルトの名無しさん
2006/07/05(水) 08:42:21#include<stdio.h>
int main(){int i,sum=0;
for(i=1;i<=100;i++){if(i%2==0)if(i%3==0)sum+=i;}
printf("%d\n",sum);}
起きたばかりでまだニュースも見ていないでやった。反省はしてない。
0961デフォルトの名無しさん
2006/07/05(水) 09:01:58[2] 問題文
名前と点数を格納するデータ部を持つ自己参照型構造体を定義し、
線形リストを実装しなさい。
構造体の名前は struct grade とし、新たに glist 型として定義する。
構造体のメンバは、char name[40]、int score、及びポインタnext。
ノードは3つ作成し、それぞれキーボードからデータを入力する。
ポインタに値を代入し、ヘッダhdと3つのノードの間を繋ぐ。
読み出し用のポインタpを使って、リストのデータを順に画面に出力する。
【ヒント】
実習時間中にスライドの指示に沿って作成したコードを提出しても良い。
余力のある人は、ノードを作成する際に動的にメモリを確保するコードを作成すること
(より効率的なコーディングが可能となる)。
[3] 環境
[3.1] OS: WindowsXP HomeEdition
[3.2] visual studio2003
[3.3] 言語: C
[4] 期限: なるべく早く。来週まで。
[5] その他の制限: 配列、ループ、アドレス、線形探索、二分探索、ノード習ってます。
0962デフォルトの名無しさん
2006/07/05(水) 09:03:51[2] 問題文
次の表は、平成18年のお年玉付き年賀葉書の当選番号である。
1等 706592 284148
2等 82201 74490
3等 6226 5657
4等 07 51
手元に届いた年賀状の抽選番号をキーボードから入力し、
当選したかどうかチェックして結果を表示するプログラムを作成する。
ただし、ここでは簡単のため下2桁だけを扱うものとする。
当選番号(の下2桁)は、キーの配列に初期値として格納する
キーボードから2桁の数字を入力してターゲットに格納し、線形探索を行う。
探索結果を画面に出力する。当選した場合は何等が当たったか、も出力すること。
【ヒント】
余力のある人は、下2桁に限らず、全桁を初期値として格納し、
当選のチェックを実行するプログラムを作成してみること
[3] 環境
[3.1] OS: WindowsXP HomeEdition
[3.2] visual studio2003
[3.3] 言語: C
[4] 期限: なるべく早く。来週まで。
[5] その他の制限: 配列、ループ、アドレス、線形探索、二分探索、ノード習ってます。
0963デフォルトの名無しさん
2006/07/05(水) 09:10:06[2] 問題文(含コード&リンク): 次の配列の最大値を表示するプログラムを作りましょう
int data[8]={2,4,10,15,3,1};
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C
[4] 期限: 今日中
[5] その他の制限:最大値を保存する変数maxにdata[0]の値を入れておき、配列の要素が、max上回ったときにmax の値を更新します
0964デフォルトの名無しさん
2006/07/05(水) 09:25:56#include<stdio.h>
int main(){int data[8]={2,4,10,15,3,1},i,max;
max=data[0];for(i=1;i<8;i++)if(max<data[i])max=data[i];
printf("%d\n",max);}
一番簡単そうなのだけやった。反省はしてない。
0965デフォルトの名無しさん
2006/07/05(水) 10:01:26[2]問題文
1,文字列aを文字列bにコピーする標準ライブラリ関数strcpy()の自作版関数char *mystrcpy(char *a1,const char *a2)を作成せよ。
また、関数mystrcpyを使って文字列のk番目から最後までの文字列を出力せよ。
2,文字列aの中から文字kの位置を探し出す関数int mygetstrc(char *a,char k)を作成せよ。
3,文字列aと文字列bを比較する関数int mystrcmp(char *a char *b)を作成せよ。辞書順[0-9A-Za-z]で比較する。
文字列a<文字列bの場合は、負数を返す、文字列a>文字列bの場合は、整数を返す、文字列a=文字列bの場合は、0を返す。
4,二次元配列{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}をポインタを用いて出力例のように表示せよ。
出力例
1,2,3,4,5,
6,7,8,9,10,
11,12,13,14,15,
[3]環境
[3.1]OS:windowsXP
[3.2]コンパイラ名とバージョン:cygwin
[3.3]言語:C
[4]期限:今日の13時まで
早急なんでよろしくお願いします。
0966デフォルトの名無しさん
2006/07/05(水) 10:11:29>>943
0967デフォルトの名無しさん
2006/07/05(水) 10:15:31C/C++の宿題を片付けます 66代目
http://pc8.2ch.net/test/read.cgi/tech/1151477344/
0968デフォルトの名無しさん
2006/07/05(水) 11:13:140969デフォルトの名無しさん
NGNG#include<stdio.h>
char* mystrcpy(char* a1,const char* a2){while(*a2)*(a1++)=*(a2++);*a1='\0';return a1;}
int mygetstrc(char* a,char k){int i=0;while(a[i])if(a[i++]==k)return i;return -1;}
int mystrcmp(char*a, char* b){while(*a&&*b)if(*a!=*b)return(*a-*b);else{a++;b++;}return 0;}
int main(void){char tmp[100],a[]="All your bases are belong us.";int k;
int i,j,t[3][5]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};int* p=(int*)t;
printf("探す文字:");fgets(tmp,sizeof(tmp),stdin);k=mygetstrc(a,tmp[0]);
if(k>=0){mystrcpy(tmp, &a[k]);printf("%s\n",tmp);}else puts("(´・ω・`)");
printf("比較文字列:");fgets(tmp,sizeof(tmp),stdin);tmp[strlen(tmp)-1]='\0';
k=mystrcmp(a,tmp);printf("\"%s\" %c \"%s\"\n", a, k>0?'>':(k<0?'<':'='),tmp);
for(i=0;i<3;i++){for(j=0;j<5;j++)printf("%d,",*(p+j+i*5));putchar('\n');}return 0;}
0970デフォルトの名無しさん
2006/07/05(水) 16:15:11[2]2つの複素数z = a + b i,w = c + d i (但し,iは虚数単位)を読み込み,足し算とかけ算を計算して印字するプログラムを作成せよ.但し,以下の仕様を満足するように作成すること.
複素数の実部と虚部を示す実数型変数をメンバとする構造体COMPLEXをtypedef文を用いて定義
足し算の関数COMP_ADD(z,w)とかけ算の関数COMP_MULT(z,w)を作成し,main関数ではこれらの関数を呼び出す.
実行例としては以下を参考しなさい
1つ目の複素数(実部):2
1つ目の複素数(虚部):3
2つ目の複素数(実部):4
2つ目の複素数(虚部):-2
足し算:(6) + (1) i
かけ算:(14) +(8) i
[3]OS:Linux コンパイラ:gcc 言語:C
[4]7月6日 正午
0971デフォルトの名無しさん
2006/07/05(水) 16:34:23typedef struct COMPLEX {double real;double img;} COMPLEX;
COMPLEX COMP_ADD(COMPLEX z, COMPLEX w){COMPLEX c;c.real = z.real + w.real;c.img = z.img + w.img;return c;}
COMPLEX COMP_MULT(COMPLEX z, COMPLEX w){COMPLEX c;c.real = z.real*w.real - z.img*w.img;c.img = z.real*w.img + z.img*w.real;return c;}
COMPLEX Complex(double real, double img){COMPLEX c;c.real = real;c.img = img;return c;}
void ShowComplex(COMPLEX z){printf("%lf+%lfi\n", z.real, z.img);}
int main(void){COMPLEX a, b;a = Complex(2.0,3.0);b = Complex(4.0,-2.0);ShowComplex(COMP_ADD(a,b));ShowComplex(COMP_MULT(a,b));return 0;}
0972デフォルトの名無しさん
2006/07/05(水) 16:35:42まぁいいか
0973デフォルトの名無しさん
2006/07/05(水) 17:01:49[2] 問題文:すべての4 桁の数のうち、上2 桁の数の和が偶数であるものの合計を求めるプログラム。
[3] 環境
[3.1] OS: Windows xp
[3.2] コンパイラ名とバージョン:
[3.3] 言語: C++
[4] 期限:明日の昼ごろまで
[5] その他の制限: 特に無いです
0974デフォルトの名無しさん
2006/07/05(水) 17:20:30#include <iostream>
int
main()
{
const int src = 1000;
const int dst = 9999;
int sum = 0;
for (int i = src; i <= dst; i++) {
if ((i / 100 + i / 1000) % 2 == 0) {
sum += i;
}
}
std::cout << sum << std::endl;
return 0;
0975デフォルトの名無しさん
2006/07/05(水) 17:28:27[2] 問題文(含コード&リンク): a*x*x+b*x+c=0の値をキーボードから読み込みその解を解の公式を使って解くプログラムを作成する。
b*b-4*a*cを計算する関数。b*b-4*a*cが正の場合を計算する関数。b*b-4*a*cが0の場合を計算する関数。b*b-4*a*cが負の場合に[no]と表示する関数。の4つをプログラム内に構成すること。
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C
[4] 期限:明後日まで。
[5] その他の制限:関数を使って作成する。
0976デフォルトの名無しさん
2006/07/05(水) 17:28:55[2]問題文:do-while文を用いてキーボードから入力された値が素数であるか
どうかを判定するプログラムを作成せよ。入力された値が素数の
場合は「素数」と出力し、素数でない場合は最小の因数を出力せよ。
ヒント:余りを求める%を使用する。
[3.1]OS:UNIX
[3.3]言語:たぶんC++です。
[4]期限:明日の11時までです。
[5]その他の期限:ないです。
よろしくお願いします。
0977デフォルトの名無しさん
NGNG>>511
0978デフォルトの名無しさん
2006/07/05(水) 17:56:18[2]問題文:ミサイル発射を検知し、迎撃ミサイルを発射、ヒットさせるプログラムを作れ!
[3.1]OS:UNIX
[3.3]言語:C++。
[4]期限:次のミサイルが発射されるまでです。
[5]その他の期限:確実に打ち落とせるもの
よろしくお願いします。
0979デフォルトの名無しさん
2006/07/05(水) 17:58:23int main(void){
printf("それ面白いと思ってるの?\n");
return 0;
}
0980デフォルトの名無しさん
2006/07/05(水) 18:04:33C++でおねがいします!時間がないんです!提出しないと日本がやばいんです!
0982デフォルトの名無しさん
NGNG#include<iostream>
int main(void){ cout << "ツマンネ" <<endl; return 0; }
0983デフォルトの名無しさん
2006/07/05(水) 18:10:55コンパイルできないんです!早くして下さい!
0984デフォルトの名無しさん
NGNGミサイル検出デバイスとミサイル発射デバイスのインターフェースおよびプロトコルの
仕様書を持ってきたら作ってやる。
0985デフォルトの名無しさん
2006/07/05(水) 18:15:00[2]問題文:
1=(1,1)
2=(1,2)
・・・
N=(1,N)
N+1=(2,2)
N+2=(2,3)
・・・
2N-1=(2,N)
・・・
としたとき、任意の整数(番号)Aと個数Nを入力して、
A=(k,m)を出力するプログラムを作成しなさい。
[3.1]OS:UNIX コンパイラはgcc
[3.3]言語:C++。
[4]期限:今週中
[5]その他の期限:できるだけ簡単にかつ短くとのこと。
よろしく御願いします。
0986デフォルトの名無しさん
2006/07/05(水) 18:18:02ネタにマジレス、カコワルイ
0987デフォルトの名無しさん
2006/07/05(水) 18:21:23[2] 問題文(含コード&リンク):文字列を逆順に並び替える関
数void reverse_char(char str[])を作成せよ
この関数を用いて、文字列を入力すると、入力した文字列を逆
順に表示するプログラムを作成せよ。
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ名とバージョン:visual studio
[3.3] 言語: C++
[4] 期限:7月7日mmまで
[5] その他の制限:getsとかputharは習ってません
0988デフォルトの名無しさん
NGNG#include<iostream>
using namespace std;
int main(void){ int a,n;cout << "A:";cin >> a;cout << "N:";cin >> n;
cout << a << "=(" << int(a / n) + 1 << "," << int(a % n) + 1 << ")" << endl;return 0;}
0989デフォルトの名無しさん
NGNG#include<stdio.h>
#include<string.h>
void reverse_char(char* str){size_t l=strlen(str);char c;for(size_t i=0;i<(l/2);i++){
c=str[l-i-1];str[l-i-1]=str[i];str[i]=c;}}
int main(void){char tmp[100],*p;fgets(tmp,sizeof(tmp),stdin);(p=strchr(tmp,'\n'))?*p='\0':0;
reverse_char(tmp);puts(tmp);return 0;}
0990985
2006/07/05(水) 18:31:37すみません。書き忘れです。
条件
for,if,whileのどれかを使用のこと。
ってのがありました。
重ね重ねよろしく御願いします。
0991デフォルトの名無しさん
2006/07/05(水) 18:32:17俺が代弁しよう。「断る」
0992デフォルトの名無しさん
NGNG激しく同意。
0993デフォルトの名無しさん
2006/07/05(水) 18:39:14[2] 問題文:すべての4 桁の数のうち、上2 桁の数の和が偶数であるものの合計を求めるプログラム。
[3] 環境
[3.1] OS: Windows xp
[3.2] コンパイラ名とバージョン:
[3.3] 言語: C++
[4] 期限:明日の昼ごろまで
[5] その他の制限: 特に無いです
0994デフォルトの名無しさん
NGNG>>974
0995デフォルトの名無しさん
2006/07/05(水) 18:41:14#include <iostream>
using namespace std;
main() {
int i,x,sum=0;
for(i=1000; i<=9999; i++)
if(( (i/1000)+(i/100) ) % 2 == 0) sum+=i;
cout << "sum : " << sum;
}
0996デフォルトの名無しさん
2006/07/05(水) 18:42:43[2] 問題文:すべての4 桁の数のうち、上2 桁の数の和が偶数であるものの合計を求めるプログラム。
[3] 環境
[3.1] OS: Windows xp
[3.2] コンパイラ名とバージョン:
[3.3] 言語: C++
[4] 期限:明日の昼ごろまで お願いします
[5] その他の制限: 特に無いです
0997デフォルトの名無しさん
NGNG今すぐ死ね。
0998デフォルトの名無しさん
2006/07/05(水) 18:52:11ひぃ〜〜ご勘弁を。まだ若いから死にたくない
頼む、防衛ミサイルのプログラムキボンヌ
0999デフォルトの名無しさん
2006/07/05(水) 18:52:581000デフォルトの名無しさん
2006/07/05(水) 18:53:0710011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。