[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 07/01 22:51 / Filesize : 375 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C/C++の宿題片付けます 128代目



1 名前:デフォルトの名無しさん [2009/06/24(水) 23:28:21 BE:454421568-DIA(282072)]
あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他や発言はスルーの方向で。

【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。
・問題文は、出題されたまま全文を書いてください。
・問題文やコードをリンクするときは、一言内容にについて説明をつけましょう。
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。

【質問テンプレ】
[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] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)

【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
【C 関数検索 man on WWW】 www.linux.or.jp/JM/index.html
【過去ログ検索】        chomework.sakura.ne.jp/
【wiki】               www23.atwiki.jp/homework/

前スレ
C/C++の宿題片付けます 127代目
pc12.2ch.net/test/read.cgi/tech/1244449887/

528 名前:511 mailto:sage [2009/07/03(金) 17:02:35 ]
>>527

cc ファイル名.c ってやるとコンパイルできるタイプなんですが・・・・


529 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 17:10:43 ]
ソースは何で編集してるんだろうww
linuxのコマンドとかそんなのまで説明しないといけないのか?

530 名前:511 mailto:sage [2009/07/03(金) 17:13:45 ]
kwrite編集して、コンソールでこんぱいるしておます。


531 名前:511 mailto:sage [2009/07/03(金) 17:15:49 ]
kwriteで編集して、コンソールでこんぱいるしておます。


532 名前:511 mailto:sage [2009/07/03(金) 17:31:32 ]
>>529

いま言われた通りやってみたらできました!!!

ご迷惑お掛けしました。ありがとうございました!

533 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 17:56:21 ]
まじ神っす!!

534 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 19:01:05 ]
[1] 授業単元:情報処理
[2] 問題文(含コード&リンク):
例えば下図に示すように,通行可能なマス目に'0'が,障害物があって通行不能なマス目に'+'が記されている盤がある.
盤の左上をスタート地点,右下をゴール地点として,経路を表示するプログラムを作りなさい.
盤の例
0 0 + 0 +
+ 0 0 0 +
0 + + 0 0
0 0 + 0 0
+ 0 0 0 0

例えばこのようなアルゴリズムが考えられる.

1) 現在位置を表示の後、進行方向に対して,右に進めるなら右に,そうでなければ直進,それもだめなら左に,さらにそれもダメなら後退する.
2) 1を繰り返してゴールに達したらその旨を表示する.ただし,マス目の数分だけ移動してもゴールに達しない場合はその時点で終了する.

入力形式は、

%> ./a.out 00+0+ +000+ 0++00 00+00 +0000

とする.

[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 7/13

お願いします。

535 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 20:06:23 ]
>>534 右手沿い
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main(int argc, char *argv[]){
int width[100]={0}, height, try_count=0, i, j, x=-1, y=0, d, pd=0;
int vx[4]={ 1, 0,-1, 0}, vy[4]={ 0,-1, 0, 1};

if(argc<2) return 1;
height=argc-1;
for(i=0;i<height;i++){
try_count+=(width[i]=strlen(argv[i+1]));
for(j=0;argv[i+1][j];j++) printf("%c ", argv[i+1][j]);
printf("\n");
}
for(i=0;i<try_count;i++){
for(j=0;j<4;j++){
d=(pd+j+3)%4;
if(x+vx[d]<0 || x+vx[d]>=width[y] || y+vy[d]<0 || y+vy[d]>=height) continue;
if(argv[y+vy[d]+1][x+vx[d]]!='0') continue;
x+=vx[d];
y+=vy[d];
pd=d;
break;
}
if(x==width[y]-1 && y==height-1) break;
}
if(i<try_count) printf("\nゴールに達した\n");

return 0;
}

536 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 20:35:10 ]
[1] 授業単元: C言語演習
[2] 問題文(含コード&リンク): 乱数を使って配列に値を代入するようにせよ。サイズを変化させて時間を計測してみせよ。
サイズが十倍になると計算結果は何倍になるか?
[3] 環境
 [3.1] OS: Windows/vista
 [3.2] コンパイラ名とバージョン: Visual Studio 2008
 [3.3] 言語:C++
[4] 期限: ([2009年07月9日まで]
[5] その他の制限: 乱数はrand()関数、clock()関数を利用する。



537 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 20:38:01 ]
>>536の参照データっぽいもの
#include<stdio.h>
void soft_swap(int *x,int *y)
{
int temp;
if(*y<*x){temp=*y;
*y=*x;
*x=temp;}}
void sort_array(int a[],int size){
int i,j;
for(j=0;j<size-1;j++){
for(i=0;i<size-1;i++){
soft_swap(&a[i],&a[i+1]);}}}
int main()
{
int a[100],i,size;
printf("数列のサイズを入力してください\n");
scanf("%d",&size);
printf("数列を入力してください\n");
for(i=0;i<size;i++){
scanf("%d",&a[i]);}
printf("\n");
for(i=0;i<size-1;i++){
sort_array(a,size);}
for(i=0;i<size;i++){
printf("%d",a[i]);}
printf("\n");
return(0);

538 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 21:14:23 ]
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9667.txt
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:7月8日 17:00
[5] その他の制限:

539 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 21:56:21 ]
>>538 課題5
始めにファイル名入れる?

540 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 22:08:20 ]
1] 授業単元: 数値計算プログラミング
[2] 問題文(含コード&リンク): (1)√57を求めよ (2)三乗根の7を求めよ
               (3)f(x)=3x^3+2x^2+5x-15=0の解を求める
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語:C++
[4] 期限: ([2009年07月10日まで]
[5] その他の制限:ニュートン法を用いる 初期値 x0=1

541 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 22:24:47 ]
>>536
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9669.c

こんなくだらない内容だと解釈したけど本当に合ってるのだろうか・・・。

542 名前: ◆/91kCCQXBo mailto:sage [2009/07/03(金) 22:43:48 ]
>>538 課題4 % gcc -o score score.c
jbbs.livedoor.jp/bbs/read.cgi/computer/32221/1246384344/11
>>538 課題5 % gcc -o score2 score2.c
jbbs.livedoor.jp/bbs/read.cgi/computer/32221/1246384344/12

543 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 23:07:12 ]
>>540
// ニュートン法で「f(x) = 0」を解く
#include <iostream>
// f(x) および f'(x)
double f1(double x) { return x*x - 57; }
double f1d(double x) { return 2*x; }
double f2(double x) { return x*x*x - 7; }
double f2d(double x) { return 3*x*x;}
double f3(double x) { return 3*x*x*x + 2*x*x + 5*x - 15; }
double f3d(double x) { return 9*x*x + 4*x + 5; }
int main() {
int n; double x; // 繰り返し回数、初期値
n = 10; x = 1.0;
while (n--) { x -= f1(x) / f1d(x); }
std::cout << "(1) " << x << std::endl;
n = 10; x = 1.0;
while (n--) { x -= f2(x) / f2d(x); }
std::cout << "(2) " << x << std::endl;
n = 10; x = 1.0;
while (n--) { x -= f3(x) / f3d(x); }
std::cout << "(3) " << x << std::endl;
return 0;
}

544 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 23:50:03 ]
いきなりですいません!!
コンパイラしてくれるサイトってありませんでしたっけ??
以前使ったんですけど忘れてしまって...CやらC++やら選択できてコンパイルしたいデータ貼っつけてって感じのダウンロードいらずのサイトなんですけど。。;;
ネットで調べているんですが出てこなくて。
場違いなのはわかっていますが
ここの人なら知ってると思いまして。。
本当すいません

545 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 23:52:49 ]
>>544
codepad でググるとか

546 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 00:07:07 ]
そう!それです!codepadでした!!
早くも返答ありがとうございます!
なんかスッキリしましたw
これでレポートだせそうです。
ありがとうございます!



547 名前:デフォルトの名無しさん [2009/07/04(土) 00:38:41 ]
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
下に示すように,非負の整数値を読み込んで,その数を逆順に表示するプログラムを作成せよ。
なお,負の値を読み込んだ場合は,再入力を促すメッセージを表示すること。

非負の整数を入力してください: 1963
1963 を逆から読むと3691 です.
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン:Visual Studio 2008
 [3.3] 言語: C
[4] 期限: 09年07月04日
[5] その他の制限:なし。

548 名前:547 [2009/07/04(土) 00:41:31 ]
[4] 期限: 09年07月06日
でした^^;

549 名前:デフォルトの名無しさん [2009/07/04(土) 01:01:56 ]
[1] 授業単元: プログラミング
[2] 問題文
二つの整数をキーボードから入力して、ユークリッドの互除法を用いて最大公約数を求めよ。
ただし、関数の再帰呼び出しを用いること。
[3.1] OS Windows
[3.2]VisualC++
[3.3] 言語 C++
[4] 期限:7月6日


わかる方どうかよろしくお願いします。

550 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 01:13:10 ]
>>547
#include <stdio.h>
int main(void) {
int input;
do {
printf("非負の整数を入力してください: ");
scanf("%d",&input);
} while(input < 0);
printf("%dを逆から読むと",input);
do {
printf("%d",input % 10);
input /= 10;
} while(0 < input);
printf("です");
return 0;
}


551 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 01:13:59 ]
>>549
#include <iostream>

int gcd(int a, int b)
{
int r = a % b;
if(r==0) return b;
return gcd(b, r);
}

int main()
{
int a, b;

std::cin >> a >> b;

std::cout << gcd(a,b);
}

552 名前:デフォルトの名無しさん [2009/07/04(土) 01:19:19 ]
[1] 授業単元:情報処理
[2] 問題文(含コード&リンク):
(1)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9670.txt
(2)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9671.txt
[3] 環境
 [3.1] OS: XP
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語:C
[4] 期限: 3日後まで
[5] その他の制限: 構造体
よろしくお願いします。



553 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 01:22:20 ]
>>547
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9672.c
無駄に1023桁までの非負の整数値で遊べるようにしてみた。

554 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 01:26:10 ]
表示するだけなのに、いちいち逆順の文字列を作るのは無駄。

555 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 01:33:16 ]
それ以前に
>*(reverse + length - i - 1) += *(str + i);
これはねーよw

556 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 01:33:28 ]
>>554
つい、後でこれを他にも使いまわすように拡張するかもしれんとか考えちゃう人でごめんね。



557 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 01:35:48 ]
>>555
じゃぁどう書けばいいと思う?

558 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 01:36:55 ]
こんな題意も満たしてない糞コード、他に使いまわすとか正気かよw

559 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 01:42:07 ]
[1] 授業単元:アルゴリズム
[2] 問題文(含コード&リンク):url.txtに書き込まれている"ttp://〜をhttp://〜に書き換えresult.txtに出力せよ
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 2009年07月05日19:00まで
[5] その他の制限: とくになし

よろしくお願いします.

560 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 01:43:33 ]
>>559
追記です

できればコメントも書いて頂けるとうれしいです.


561 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 01:46:53 ]
>>557
普通に計算だけでなんとかならねえ?


562 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 01:54:39 ]
+=じゃなくて=
mallocで確保した領域は0クリアされてるとは限らない。
そこに文字を足すと元の文字とは別になる可能性が高い。

っていうかお前>>346だろ?
似たようなことやっときながら、全然成長してないのな。

563 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 01:55:21 ]
>>553
mallocの確認と解放してない。
書き捨てPGならいいけど、課題ならやっととかないと講師がうるさい。

fgetsでは常に改行が入るとは限らないからmain文のfor文で暴走の可能性あり。

っていうかstrlenとかstrchr使えばおk


564 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 01:58:06 ]
>>561
ちょっと頭冷やしてきて改めて見たら、言われた通り糞コードだった。

565 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 02:07:37 ]
>>552(1)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9673.txt

566 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 02:15:34 ]
>>562
そこは普通に書き間違えてる。
本人は=書いたつもり。

>>563
strlen使ってないのはわざとやってる。
fgetsは素で間違えた。

こんなクソコードにツッコミ入れてくれてありがとう。



567 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 02:40:45 ]
なんとなーく、だけど、
while(input) {
printf("%d", input%10);
input /= 10;
}
を期待した課題だと思う

568 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 02:41:57 ]
ごめん>>550見てなかった

569 名前:デフォルトの名無しさん [2009/07/04(土) 02:54:30 ]
>>552
Complex c_div(Complex s, Complex t)の部分や、sscanfというものが解りません。
もう少し簡単にして頂けないでしょうか?


570 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 03:17:52 ]
>>569
題意の通りじゃないの?

571 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 03:18:53 ]
>>565ではないが
sscanfは文字列に対してscanfする関数
c_divは仕様通りだから。。

572 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 03:25:18 ]
ならsscanf()は使わずに危険なscanf()でも使って書き直そうか

573 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 03:26:20 ]
つーか誰か(2)やってくれ
だるい
酒飲んでるし

574 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 03:30:54 ]
>>569
(1)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9674.txt

(2)は誰か任せた
寝る

575 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 03:32:50 ]
>>552 (2)ってポインタ使っていいのか?
構造体の実体渡すの?

576 名前:デフォルトの名無しさん [2009/07/04(土) 03:36:02 ]
>>574
ありがとうございました。



577 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 03:40:22 ]
 typedef struct{
  int bunshi, bunbo;
 }bunsu;

bunsu* bunsu_seki(bunsu* A,bunsu* B)
{
  if(A == NULL) return NULL;
  if(B == NULL) return NULL;
  bunsu C;
  C.bunshi = A->bunshi * B->bunshi;
  C.bunbo = A->bunbo * B->bunbo;
  return &c;
}


578 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 03:42:02 ]
あーーーーーーーーーーーーすまん>>577は無しで

 typedef struct{
  int bunshi, bunbo;
 }bunsu;

bunsu* bunsu_seki(bunsu* A,bunsu* B)
{
  if(A == NULL) return NULL;
  if(B == NULL) return NULL;
  bunsu* C = (bunsu*)malloc(sizeof(bunsu));
  if(C == NULL) return NULL;
  C->bunshi = A->bunshi * B->bunshi;
  C->bunbo = A->bunbo * B->bunbo;
  return C;
}

579 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 03:42:34 ]
>>569 (2)
bunsu bunsu_seki(bunsu a, bunsu b)
{
a.bunsi *= b.bunsi;
a.bunbo *= b.bunbo;
return a;
}

>>577
だめじゃね?

580 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 03:45:31 ]
>>578
どんどん話がややこしい方にすすんでるし題意は満たしてないし

581 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 03:50:55 ]
いかん
ついつい・・>>552の(2)は>>579でいいね
>>577>>578はなしで

582 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 03:52:17 ]
ポインタで渡す方が処理が速い伝説に惑わされたらいかんよ

583 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 03:55:52 ]
実際どっちがいいんだろうね
もっとでかい構造体をリストにして扱うことがほとんどなのでついつい

584 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 03:56:21 ]
>>574
何か消し忘れた#defineが残ってるな
あれは不要だから消しとけ

585 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 03:57:50 ]
リストにするなら隣のポインタ持たないとダメだからしょうがないけど。
試しにベンチでもやってみたら?
>>578のはちゃんと呼び出し側でfreeしないとメモリどんどん使うから気をつけてね

586 名前:デフォルトの名無しさん [2009/07/04(土) 04:25:38 ]
[1] 授業単元:C+
[2] 問題文(含コード&リンク):
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9676.txt
[3] 環境
OS: vista
コンパイラ名とバージョン: gcc
言語:C
[4] 期限: 一週間
[5] その他の制限:
4題あります。
テストの類題なのでなるべく簡単に題意を満たす解答をお願いします。





587 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 04:28:35 ]
>>559
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9677.c

588 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 05:08:00 ]
>>586
1.
int sum1toN(int n)
{
    int i, s;

    for(i = 1, s = 0; i <= n; i++){
        s += i;
    }
    return s;
}

2.
#include <stdio.h>
#define PAI 3.14159
void circle(double r, double *enshu, double *menseki);
int main(void){
    double r, enshu, menseki;
    printf("半径を入力 >>");
    scanf("%lf", &r);
    circle(r, &enshu, &menseki);
    printf("円周 = %f 面積 = %f\n"
                , enshu, menseki);
    return 0;
}

void circle(double r, double *enshu, double *menseki)
{
    *enshu = 2.0 * PAI * r;
    *menseki = PAI * r * r;
    return;
}

589 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 05:08:42 ]
>>586 続き
3.
#include <stdio.h>
int main(void)
{
    int a[8] = { 1, 2, 3, 4, 5, 6, 7, 8 }, i;
    for(i = 0; i < 8; i++){
        if(7 - 2 - i >= 0) a[7 - i] = a[7 - 2 - i];
        else a[7 - i] = 0;
    }
    for(i = 0; i < 8; i++)
        printf("a[%d] = %d\n", i, a[i]);
    return 0;
}

4.
#include <stdio.h>

int main(void){
    char ch[81], max;
    int i;
    gets(ch);
    for(i = 0, max = '\0'; ch[i] != '\0'; i++){
        if(ch[i] > max) max = ch[i];
    }
    printf("文字コード最大は%c <%d>\n", max, max);
    return 0;
}

590 名前: ◆/91kCCQXBo mailto:sage [2009/07/04(土) 08:06:02 ]
>>547 0123 の逆順 3210
jbbs.livedoor.jp/bbs/read.cgi/computer/32221/1246384344/13

591 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 11:41:47 ]
>>586
(1)
int sum1toN(int n){
return (n + 1)*n/2;
}
オーバーフローしたら知らん。

592 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 11:58:38 ]
>>591
仕様は満たしているが、出題者の意図に沿ってないような…。

593 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 12:03:29 ]
>>592
やっぱ模範解答は>>588だよね。
こっちはこんなのもあるよ程度で。

594 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 12:40:12 ]
>>586
(3)
#include <stdio.h>

#define SHIFT_NUM 2
#define ARRAY_SIZE 8

int main(void){
int a[ARRAY_SIZE] = {1,2,3,4,5,6,7,8}, i, j;

for(i = 0; i < SHIFT_NUM; ++i){
for(j = ARRAY_SIZE - 1; j > 0; a[j] = a[j-1], --j);
a[0] = 0;
}
for(i = 0; i < ARRAY_SIZE; ++i)
printf("a[%d]=%d\n", i, a[i]);

return 0;
}

簡単かどうかと言われるとどうなんだろう。

595 名前:デフォルトの名無しさん mailto:age [2009/07/04(土) 13:34:22 ]
[1] 授業単元: 関係演算子
[2] 問題文(含コード&リンク):
  どんな計算式でもいいが、10で割ると余りが0になる場合だけをprintf文で表示させろ

[3] 環境
 [3.1] OS: (Windows)
 [3.2] コンパイラ名とバージョン: gcc )
 [3.3] 言語: (C/C++/どちらでも可)
[4] 期限: 明後日まで
[5] その他の制限: 制限なし


596 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 13:53:08 ]
>>595
#include <stdio.h>
int main(void){
int n = 100;
if( n%10 == 0 ){
printf("%dは10の倍数\n");
}
return 0;
}

こういう意味でおk?



597 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 13:54:51 ]
>>596
訂正:
printf => printf("%dは10の倍数\n", n);

598 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 14:01:36 ]
どんな計算式の、計算式が重要。n=100か?

599 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 14:09:58 ]
>>598
どんな10で割ったら余りが0になる数値を特定しろ
特定方法(計算式)はどんなのでも構わない

って意味じゃないの?

600 名前:598 mailto:sage [2009/07/04(土) 14:15:41 ]
商を用いて、10で割ると余りが0になる場合だけをprintf文で表示させろ <= これが設問じゃないかと
どんな計算式でもいいが商を用いて、10で割ると余りが0になる場合だけをprintf文で表示させろ

601 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 14:23:18 ]
>>587
ありがとうございます。


602 名前:599 mailto:sage [2009/07/04(土) 14:28:30 ]
>>600

int n1, n2
n1 = 123; /* 調査対象 */
n2 = n1 / 10;
n2 *= 10;
if(n1 - n2 == 0){
  表示処理
}

こんなん?

603 名前:aka [2009/07/04(土) 14:33:17 ]

情報オリンピックの2008年度予選問題3の連鎖のプログラムを教えてください。

www.ioi-jp.org/joi/2008/2009-yo-prob_and_sol/2009-yo-t3/2009-yo-t3.html



604 名前:598 mailto:sage [2009/07/04(土) 14:33:30 ]
ループすべき。
#include <stdio.h>
int main() {
  int ans;
  
  for(ans=-21;ans<=21;ans++)
    if(!(ans%10)) printf("%d ",ans);
    else printf(".. ");
}

605 名前: ◆/91kCCQXBo mailto:sage [2009/07/04(土) 14:58:08 ]
jbbs.livedoor.jp/bbs/read.cgi/computer/32221/1246384344/14
>>538 課題1 % gcc -o space space.c
#include <stdio>
>>538 課題2 % gcc -o innpro innpro.c
#include <stdio>
>>538 課題3 % gcc -o janken janken.c
char janken_com(int seed){
  int t;
  srand(seed); //乱数の種(seed)を設定.

  t=rand()%3; //rand()は整数の乱数を返す関数.rand()%3により0から2の乱数を発生させることができる.

  if(t==0) return 'g';
  if(t==1) return 'c';
  return 'p';
}

606 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 16:03:08 ]
[1] 授業単元:C
[2] 問題文(含コード&リンク):
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9680.txt
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9678.txt
[3] 環境
 [3.1] OS: XP
 [3.2] コンパイラ名とバージョン:Visual Studio 2008
 [3.3] 言語: C
[4] 期限: 7月7日
[5] 番号の場所を書き直すようお願いします。



607 名前:デフォルトの名無しさん [2009/07/04(土) 16:07:08 ]
[1] 授業単元:プログラミング言語2
[2] 問題文(含コード&リンク)
簡単なデータベース機能を持つプログラムを作成しなさい.対象となるデータは自分で考えてください.
  (住所録,商品の在庫,図書,ワールドカップの勝敗....)
 以下の要件を示します.

1. ファイルからデータを読み込む機能をつけること.
2. データは4つ以上の項目を保持させること.
 (住所録では、「名前」「住所」「郵便番号」「電話番号」等で4項目以上)
3. 並び替えの機能をつけること.また並び替える項目が指定できること.
4. 各項目についてデータの検索を行う機能をつけること.また,検索条件を組み合わせることができること.
 (住所録なら,「郵便番号」が 399 で始まって,かつ,「電話番号」が 026 で始まる 等)
5. データは半角英数字(英語やローマ字)で扱ってよい
6. データの追加ができること.
7. データの削除ができること.削除は上記の検索と組み合わせることで,ある条件に合致したデータを削除できること.
8. 追加・削除した結果をファイルに保存できること.

[3] 環境
 [3.1] OS: windows
 [3.2] コンパイラ名とバージョン: cygwinのgccです。 バージョンはわかりません。
 [3.3] 言語: C
[4] 期限: 2009年7月13日まで
[5] その他の制限: 双方向リストまで、終わりました。
対象となるデータは住所録でお願いします。
プログラムに説明を付けてくれると、助かります。

よろしくお願いします。

608 名前: ◆/91kCCQXBo mailto:sage [2009/07/04(土) 16:33:55 ]
>>595
#include <stdio.h>
int main(int argc, char *argv[]) {
  int i, c;
  FILE *fp;

  if(argc < 2) {
    printf("Usage : %s filename.ext", argv[0]); return 1; }
  if((fp=fopen(argv[1],"r")) == NULL) {
    printf("%s file open error!", argv[1]); return 1; }
  puts("ASCIIコードが10の倍数の時の、ファイル先頭からの位置:");
  for(i=1; (c=getc(fp)) != EOF; i++) { // 結果の値はファイルから読み込む
    if(!(c%10)) printf("%dx%d ", i, c); // 結果の値が、10 で割ると余りが0になる場合だけを表示
//    else if(!(i%10)) printf("x%d ", c); // 繰返しの回数が、10 で割ると余りが0になる場合
//    else printf("."); // その他の場合
  }
  fclose(fp);
}

609 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 18:07:38 ]
>>603
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9681.c

610 名前: ◆/91kCCQXBo mailto:sage [2009/07/04(土) 18:57:23 ]
>>606 リストを用いて個人データを格納する表を作成。(穴埋め問題)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9682.c

611 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 19:29:17 ]
>>609
これ「落ちた状態」をいちいち作って数えたんだけど
よく考えたらその必要なかった…。無駄無駄無駄ー!

612 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 19:53:43 ]
未回答文plz

613 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 20:12:41 ]
>>603
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9683.c

>>609で作ったやつの修正版

614 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 20:55:21 ]
>>607
>8. 追加・削除した結果をファイルに保存できること.
これって追加・削除の「履歴」じゃなくて単に「現在のデータ」でいいんだよね?

615 名前:デフォルトの名無しさん [2009/07/04(土) 21:21:31 ]
[1] 授業単元: C言語
[2] 問題文  
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9685.txt
これを参考に、100人以内の生徒ID、名前を入力するプログラムを作る
[3] 環境
 [3.1] OS:  Windows
 [3.2] コンパイラ名とバージョン: VisualC++
 [3.3] 言語 C
[4] 期限: 7月6日 
[5] その他の制限 ソースプログラムにある形の関数を使うこと


616 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 21:34:14 ]
>>615
これでいいのかな

#include<stdio.h>
#include<string.h>
#define SIZE 100



int main(){

    int i;
    student_type students[SIZE];
    for( i = 0; i < SIZE; ++i ){
        read_student( &students[i] );
    }
}




617 名前:デフォルトの名無しさん [2009/07/04(土) 22:26:52 ]
>>613
高校生でも分かる簡単なプログラムになりませんかね?
図々しくてごめんなさい…
ぜひお願いします。

618 名前:613 mailto:sage [2009/07/04(土) 22:37:57 ]
>>617
いや、そう言われても…
この板の住人なら高校生でも>>613は読めると思うが

一般的な高校生レベルってどんなのよ
まあ、どの行がわからんのか言ってみれ

619 名前:デフォルトの名無しさん [2009/07/04(土) 22:52:23 ]
ホント無知で申し訳ないっす。。

printf("%s : %d --> %d\n", filename, N, min);

free(array);
fclose(fp);
}

int check_okikata(int *array, int size, int index, int color)
{

らへんがよく分かりません
どういう意味でしょう?


620 名前:デフォルトの名無しさん [2009/07/04(土) 23:30:29 ]
>>614
そうです。
項目が削除されたリストと、項目が追加されたリストを出力します。

621 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 23:35:28 ]
>>619
つまり動的な配列の確保(mallocとfree)がわからないんだな
じゃあ固定配列で書き換えるから

622 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 23:56:20 ]
>>619
malloc()とfree()を使わないようにした
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9686.c

623 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 00:18:10 ]
>>620
えっ?2つのリストが出力されるの!?
追加や削除をして変更された「現在のデータベースのデータ」のリスト1つじゃないの?

624 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 01:35:36 ]
[1]数値情報解析
[2]ガウス−ザイデル法によりn元1次方程式を解くプログラムを作りなさい。
[3]
[3.1]Windows
[3.2]Visual Studio 2008
[3.3]C
[4]2009年7月15日
[5]ほぼ素人なので、少しでも優しい表現にしていただけるようよろしくお願い致します。
 あと、パワーポイントでこのプログラムのフローチャートを書いていただければありがたいです。

625 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 02:42:19 ]
>>624 >>162 問題 >>174 >>177 >>183 解答

626 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 02:57:38 ]
ガウスザイデル法って反復法だからガウス法と違うだろ



627 名前:デフォルトの名無しさん [2009/07/05(日) 03:19:53 ]
C++なんですが、
文字変数aの中身が'a'ならば『aが格納されています』と表示させ、'a'でないならば、
『'a'でない文字が格納されています』と表示させるプログラムを作成せよ
誰かお願いします

#include<iostream>
using namespace std;
int main(){


return 0;
}


628 名前:デフォルトの名無しさん [2009/07/05(日) 03:21:02 ]
>>627ですが、間違えました。
文字変数aの中身→文字変数mの中身
でした






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<375KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef