07/06/05 19:15:15
①3行5列の二次元配列に15個の数字をランダムで選ぶ(ただし、必ず12を入れる)
②配列に入れられた数字を
③大きい順に配列に入れ直して示す。(バブルソートで)
④小さい順(バブルソートで)
⑤printfで12の行、列を出力
if,do,wihle習いました。ぼるじょあさん、お願いします(;_;)
5:ぼるじょあ ◆yBEncckFOU
07/06/05 19:40:21
>>4
URLリンク(kansai2channeler.hp.infoseek.co.jp)
(・3・) エェー ポインタを使ったYO
6:デフォルトの名無しさん
07/06/05 19:45:55
>>4ポインタはまだ習ってないです(;_;)
7:ぼるじょあ ◆yBEncckFOU
07/06/05 21:54:28
(・3・)アルェ~そうなのかYO!ポインタの替わりに添え字から行と列を
(・3・)作ればいいと思うYO!
8:デフォルトの名無しさん
07/06/05 22:04:49
>>4
俺も作ってみたんでどうぞ。
ポインタ、for文、自作関数、未使用。
後、配列に馬鹿でかい数字を入れる意味がないと思ったから
配列に入れる数値が50を越えないようにしてある。
9:ぼるじょあ ◆yBEncckFOU
07/06/05 22:10:21
>>5
URLリンク(kansai2channeler.hp.infoseek.co.jp)
(・3・)エェーポインタを使わないようにしてみたYO!
(・3・)その代わり12の位置は大抵同じだYO!(乱数で12より小さい数があれば
変わるYO)
10:デフォルトの名無しさん
07/06/05 23:40:44
>>8さん、>>9さん、どこにソースコードがあるのですか(;_;)?
11:ぼるじょあ ◆yBEncckFOU
07/06/05 23:50:45
>>10
(・3・) アルェ~ >>9だけどリンクを踏んでYO!
(・3・) >>8は僕じゃないからわからないYO!
12:デフォルトの名無しさん
07/06/06 00:02:28
>>4です。すいません、問題で15個ランダムみたいなこと書いたんですけど、自分で決めます。例えば、15,23,54,69,8,5,4,52,5,12,11,29,58,73,65です。この数字でお願いします(;_;)
13:デフォルトの名無しさん
07/06/06 03:46:10
>>12
URLリンク(kansai2channeler.hp.infoseek.co.jp)
>>9のぼるじょあさんのを手直ししてみた。ついでにバグ取りしといた。
14:8
07/06/06 09:15:53
>>10
リンク貼り忘れてもうた。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
15:デフォルトの名無しさん
07/06/06 14:55:57
リンクってパソコンからじゃないと無理ですか?
16:デフォルトの名無しさん
07/06/06 15:18:00
>>15
たぶん無理やね、っておまいPC持ってないのかYO!
親に言って安いノートで良いから買ってもらえYO!
<チラシの裏>
>>14のコード、time.hとすべき所をmath.hと書いてしまったのに
BCCでコンパイル出来たし、実行も出来た。一体どうなってんだ?
</チラシの裏>
17:デフォルトの名無しさん
07/06/06 18:59:21
いやパソコンあります。
18:デフォルトの名無しさん
07/06/06 19:07:41
>>4です。
みなさんありがとうございました。
ちなみに>>13さん
k=i/5
l=i%5
ってどういうことですか?
19:デフォルトの名無しさん
07/06/06 19:10:50
>>18
自分の持ってるテキスト読めば?
20:デフォルトの名無しさん
07/06/06 19:21:50
普通のテキストには載ってないんじゃないか?
まあ、バブルソートと多次元配列を考えればおのずと答えは出るよね。
>>17
持ってるならなら変な事聞くな。
21: ◆lIN/ESgxWw
07/06/06 21:10:48
[1]プログラミング
[2]1本の道に,食べ物が多数落ちている.
ランダムに動く動物が,それらを全て食べ尽くすと終了するようなプログラムを作成せよ.
<仕様>
「道」は要素数20程度の1次元配列で表現する.
「食べ物」は,上記配列の各要素に値1があればその場所に存在し,値0であればその場所には存在しないものとする.
「動物」は,1回の移動で配列中の1つ左または1つ右に移動できる.
「動物」の訪れた場所のエサは食べられたものとする.
「道のうち食べ物のない箇所」,「道のうち食べ物のある箇所」,「動物」は,それぞれ -, *, O で表現する.それらを横一列の文字で表示する.
繰り返し処理中は,毎回数十~数百ミリ秒程度の時間,実行を一時停止させることで,状態の推移を見やすくする.
[3]OS:Linux
コンパイラ名:スイマセン、分かりません
言語:C言語
[4]できれば今日中にお願いします
他の掲示板で聞いたんですが、イマイチ回答が得られなかったのでこちらに
質問させていただきました。よろしくお願いします。
22:デフォルトの名無しさん
07/06/06 21:14:44
>>18
多次元配列はそのままでは一次元配列のようにリニアにはアクセスできないので
添え字を i から作り出す必要があるわけです。
23:デフォルトの名無しさん
07/06/06 21:56:59
>>22さん、ありがとうございます。
24:デフォルトの名無しさん
07/06/06 22:14:11
まあポインタを一次元配列に変換するとリニアにアクセスできるけどな。
この質問者はポインタを知らないらしいのでこれはなかった事に。
25:デフォルトの名無しさん
07/06/06 23:01:32
>>21の問題だけど、誰か毎回数十~数百ミリ秒程度の時間,実行を一時停止
させるコード書けないか?それ以外は出来上がってから誰か挿入してくれ
URLリンク(kansai2channeler.hp.infoseek.co.jp)
26:デフォルトの名無しさん
07/06/06 23:10:31
>>25
void mysleep(long msec){
static long mcount = -1;
long i, j;
if(mcount < 0){
time_t check_time;
check_time = time(NULL);
while(check_time == time(NULL));
check_time = time(NULL);
for(mcount = 0; check_time == time(NULL); mcount++);
mcount /= 1000;
}
for(i = 0; i < msec; i++){
for(j = 0; j < mcount; j++){
time(NULL);
}
}
}
27:デフォルトの名無しさん
07/06/06 23:30:12
>>4で多次元配列を一次元配列に入れ直して、また多次元配列に入れるにはどうしたらいいんですか?
28:デフォルトの名無しさん
07/06/06 23:56:04
>>27
”入れ直す"んじゃなくて”ポインタを付け替える”だけ。
ポインタを勉強してない人に説明すると長くなるから、これ位で勘弁。
29:デフォルトの名無しさん
07/06/07 00:13:43
>>25
thx
>>21
日付変わっちまったが、>>25のスリープ関数を組み込んで、へんなコメント消した.
URLリンク(kansai2channeler.hp.infoseek.co.jp)
30:29
07/06/07 00:15:01
アンカーミス>>25じゃなくて無くて>>26ね。
31:デフォルトの名無しさん
07/06/07 00:17:01
>>26
最低なsleepだな。いや寧ろ、sleepなんて名乗るのは烏滸がましい。
32:デフォルトの名無しさん
07/06/07 00:29:01
C言語が全然わらかないんですけど…皆さんは始めのころどうやって勉強しましたか?
33: ◆lIN/ESgxWw
07/06/07 00:51:55
>>29
どうもありがとうございました☆
34:デフォルトの名無しさん
07/06/07 01:03:57
標準関数に拘らなければ usleep(microsecond) @ unistd.h 使えばおk
35:デフォルトの名無しさん
07/06/07 01:41:37
>>31
同意。
むしろbusyだよなw
36:デフォルトの名無しさん
07/06/07 01:44:34
>>26 はシングルタスクOS時代の手法
linux だと >>34 使ったほうがいいと思う
37:デフォルトの名無しさん
07/06/07 08:14:41
#include<stdio.h>
void main(void)
{
int n,m,sum;
printf("整数nの入力==>");
scanf("%d",&n);
m = 0; sum = 0;
while(m < n){
sum+=++m;
}
printf("合計:%d\n",sum);
}
実行画面
整数nの入力==>5
合計:15
このプログラム文をdo~while文に書き換えたやつにしたいのですがどうやればいいですか?
38:デフォルトの名無しさん
07/06/07 08:22:19
do{
if (m < n) break;
sum += ++m;
}while(1);
39:デフォルトの名無しさん
07/06/07 08:58:19
1] 授業単元:C言語演習
[2] 問題文(含コード&リンク):
長さ157以下の英数字,空白の並びからなる文字列を二つ入力し,
それぞれをa1, a2とする. a1が"abc",a2が"ab"の場合のように,
a2の先頭部分がa1の先頭部分に含まれるときは1を,そうでないときは0を値として
返す関数 int match(char *a1, char *a2);を作成しなさい.
配列宣言を除きすべてポインタを用いて処理すること.
文字列は157文字以下が入力されるものとし,文字列の長さに関するエラー処理を
する必要はない.
計算の手順としては,文字列の先頭から一文字ずつ一致するかどうかを比較する.
a2にあたる文字列中の比較対象となった文字が'\0'であれば,a2はa1に包含された
ものとして扱う.これ以外で比較時に,一文字でも一致しない場合があれば
包含されていないとして扱う.
この関数をもちいて,2つの文字列を与えたとき,一つ目の文字列の中に二つ目の
文字列が含まれている場合(この場合先頭が必ずしも一致していなくてもよいものとする)
には "一致"をさもなければ"不一致"を出力するプログラムを作成しなさい.
[3] 環境
[3.1] OS:Windows
[4] 期限: 6月7日午前10:30
[5] その他の制限:
よろしくお願いいたします。
40:デフォルトの名無しさん
07/06/07 09:07:03
↑実行結果はこのようになります。
[home@C*LPC* ~/test]% ./test
ABC
AB
一致
[home@C*LPC* ~/test]% ./test
AB
ABC
不一致
[home@C*LPC* ~/test]% ./test
ABC
ABD
不一致
[home@C*LPC* ~/test]% ./test
ABC
BC
一致
[home@C*LPC* ~/test]%
41:デフォルトの名無しさん
07/06/07 10:55:45
>>32
最初、Cの入門サイト(KID's World)でやってたけど、もっと知りたくなって
Cの入門書(基礎C)を買った。それでも足りなくて独習Cで色々学んで
練習問題をこなした。最近はここで宿題の代行して腕を磨いてる。
簡単な練習問題をやって、徐々にステップアップしていけば、ここに投下される
宿題位はこなせるようになるよ。
42:デフォルトの名無しさん
07/06/07 12:39:38
授業単元:C言語
問題文(含コード&リンク):
今までやった内容:if・for文
OS:Windows
コンパイラ名とバージョン:borland
言語:C
テーマ:while文
問題:複数件の整数を入力し、合計、件数、平均を求め表示しなさい
0が入力されたらデータの終了とし、合計、件数には反映しない実行画面
整数入力(0で終了)==>5
整数入力(0で終了)==>4
整数入力(0で終了)==>10
整数入力(0で終了)==>8
整数入力(0で終了)==>0
合計:27 件数:4 平均:6.8
今授業でやってる内容なんですがどうしてもわからないので何方か教えてください
43:デフォルトの名無しさん
07/06/07 15:46:06
>>42
何をお教えすればよろしいのでしょうか?。
#include<stdio.h>
int main(void)
{
int n;/*キーボードから入力された整数*/
int num;/*件数*/
int sum;/*合計*/
double ave;/*平均*/
num=0;sum=0;/*合計、件数を初期化*/
do{
printf("整数入力(0で終了)==>");
scanf("%d",&n);/*キーボードから整数nを受け取る*/
if(n != 0){/*0は合計、件数に含めないので、n≠0の時実行される*/
sum=sum+n;
num=num+1;
}
}while(n != 0);/*入力された数nが0で無い時は繰り返す。nが0ならループ終了*/
ave=(double)sum/num;/*平均の計算、整数同士の割り算だと小数点以下が切り捨てられるので
sumを(double)でdoubleにキャスト(一時的な型の変換)している。*/
printf("合計:%d 件数:%d 平均:%.1f",sum,num,ave); /*結果表示、%.1fで平均の値が
小数点以下1桁で表示されるようにしてある*/
return 0;
}
44:デフォルトの名無しさん
07/06/07 16:36:47
[1] 授業単元:プログラミングA
[2] 問題文(含コード&リンク): 2つの4行4列の行列が与えられたとき、その積を計算するプログラムをwhileループを用いて作成せよ。インクリメント演算子を使用すること。
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C++
[4] 期限: 2007年6月7日23:59まで
[5] その他の制限:
よろしくお願いします。
45:デフォルトの名無しさん
07/06/07 18:02:38
>>44
URLリンク(kansai2channeler.hp.infoseek.co.jp)
46:デフォルトの名無しさん
07/06/07 23:39:36
[1] 授業単元: C言語
[2] 問題文(含コード&リンク):
URLリンク(kansai2channeler.hp.infoseek.co.jp)
上記プログラムを使い、アルファベットを大文字、
小文字両方を含むバージョンに変更しなさい。
(例) YZa → bcd
[3] 環境
[3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン: VC2005
[3.3] 言語: C++
[4] 期限:6月8日10:30まで
[5] その他の制限: なし
どうかよろしくお願いします
47:デフォルトの名無しさん
07/06/08 10:02:03
>>41さん、ありがとうございます。
48:デフォルトの名無しさん
07/06/08 10:03:45
>>45
ありがとうございました。
49:デフォルトの名無しさん
07/06/08 22:56:31
[1] 授業単元:基本プログラミング
[2] 問題文(含コード&リンク):
関数f(x)は次式で与えられる。
f(x)=x+x*x/4+x*x*x/9+……+xのn乗/n*n+……
上式右辺の無限級数は、第n項(xのn乗/n*n)の絶対値が最初に0.000001より小さく
なる項までの和で打ち切っても近似的には問題ないものとする。
x=0.1, 0.2, 0.3, 0.4, …, 0,9, 1におけるf(x)の値を計算して表示するプログ
ラムをつくれ。
[実行例]
f(0.1)=0.202618
f(0.2)=0.411004
f(0.3)=0.626129
f(0.4)=0.849283
:
:
f(0.9)=2.19971
f(1)=2.64393
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: gcc 3.4
[3.3] 言語: C++
[4] 期限:6月10日まで
[5] その他の制限:
do while文でお願いします。
50:デフォルトの名無しさん
07/06/08 23:00:32
>>49
マルチ(・A ・)イクナイ!
51:デフォルトの名無しさん
07/06/08 23:14:24
[3]宿題ってか
3つの引数使いたいんですが
visualC++で
error C2660: 'initFld' : 関数に 3 個の引数を指定できません。
てエラーが… パソコン全くダメなんでやヴぁいです(’д`)
死ぬ
52:デフォルトの名無しさん
07/06/08 23:19:11
(・3・)エェー 死ねYO
53:デフォルトの名無しさん
07/06/08 23:33:58
冷たい(◎д◎)!
教えて!
54:デフォルトの名無しさん
07/06/09 00:10:45
>>49
#include <cstdio>
double f(double x) {
double y=x,z=1,i=3,r=0,n;
do {
n=y/z;
r+=n;
z+=i;
i+=2;
y*=x;
} while(n>=0.000001);
return r;
}
int main(void) {
int i=1;
do {
printf("f(%.1f)=%f\n", i/10.0, f(i/10.0));
} while(++i<=10);
return 0;
}
55:デフォルトの名無しさん
07/06/09 00:34:00
[1] 授業単元:C言語によるプログラミング入門
[2] 問題文(含コード&リンク):
演習課題1:次の関数がどのような値を返すか確かめるプログラム(main関数)を作成し実行せよ。考察も書くこと。
int myreturn(){
return 0;
return 1;
}
演習課題2:次の二つの関数が同じ働きであることを理解させるプログラム(main関数)を作成し実行せよ。
int myfactorial1(int i){
int j,a;
if (i<0) return (0);
if (i<2) return (1);
a=1;
for(j=1;j<i+1;j++)
a=a*j;
return a;
}
int myfactorial2(int i){
if (i<0) return 0;
if (i<2) return 1;
return (i*myfactorial2(i-1));
}
[3] 環境
[3.1] OS: Windows
[3.2] Cygwin 1.5.24-2
[3.3] 言語:C言語
[4] 期限:6月13日の水曜日まで
[5] その他の制限:今日はじめてreturn文を習いました。そのレベルでよろしくお願いします
56:54
07/06/09 10:48:28
しもた
using namaspace std;
を書き忘れた。
57:デフォルトの名無しさん
07/06/09 13:31:42
>>56
別にいらんやん
58:デフォルトの名無しさん
07/06/09 15:18:27
>>57
規格上は必要
59:デフォルトの名無しさん
07/06/09 15:36:26
>>58
は??
<cstdio>内を読んでみることをお勧め
60:デフォルトの名無しさん
07/06/09 16:44:11
>>56-59
規格が読み難い文章だけど>>56は誤りっぽいな
「JISX3014 附属書D(規定) 互換性」より抜粋
D.5 標準Cライブラリヘッダ
標準Cライブラリとの互換性のため、C++標準ライブラリは、表100に示す18個
の言語Cのヘッダを提供している。
表100 言語Cのヘッダ
<assert.h> <iso646.h> <setjmp.h> <stdio.h> <wchar.h>
<ctype.h> <limits.h> <signal.h> <stdlib.h> <wctype.h>
<errno.h> <locale.h> <stdarg.h> <string.h>
<float.h> <math.h> <stddef.h> <time.h>
それぞれのCヘッダは、その名前をnameとしたとき"name.h"の形式をしている。
それぞれに対応して、標準C++ライブラリの名前空間内に置かれた"cname"とい
うヘッダが、名前空間stdの名前空間有効範囲の中にも置かれ、その後に明示的
に《using指令》(7.3.3)が指定されているかのように振る舞う。
例
ヘッダ<cstdlib>は、名前空間stdの中に、その宣言及び定義を提供する。
ヘッダ<stdlib.h>は、C標準と同じく、これらを大域的名前空間でも利用
可能にする。
61: ◆wSaCDPDEl2
07/06/09 17:18:57
別のところが険悪ムードで少しまずいと思ったのでお答えいただけませんか/
[1] 授業単元: コンピュータ・C言語
[2] 問題文:
ファイルからデータを読み込み、pointが85以上、gpa<2,0のデータだけを表示しなさい。
続いて、(1)ファイルの内容を全て表示し、次に上記の条件に合致するデータだけを別ファイルに書き出し
さらにこのファイルを読み込んで表示せよ。
最後に、point、gpaの平均を計算して同じファイルのデータ後に書き出し、そのファイル内容を読み込み表示せよ。
(つまり2.3,4を表示)
x-file.tex↓
1 alice 48 3.6
2 bob 88 3.2
3 charlie 69 1.8
4 dick 100 3.9
5 bomb 3 0.4
[3] 環境
[3.1] OS: Windows XP
[3.2] コンパイラ: Visual Studio 2005またはgcc
[3.3] 言語: C++
[4] 期限: 6/11 まで
[5] その他の制限: 配列でdefineで文字を定義して使うか、for loopで製作する
62:ぼるじょあ ◆hZ8e4Wjqvw
07/06/09 19:47:16
>>61
(・3・) エェー 「このファイル」っていうのは「ファイル」?「別ファイル」?
「同じファイル」ってどのファイル?
問題の意味がよく分からないYO!
それぞれのファイルに名前をつけてくれYO!
ファイルのフォーマットが分からないYO!
point および gpa の取り得る値の範囲も分からないYO!
例)
ファイルA を読み込み、上記の条件に合致するデータだけを ファイルB に書き出す
ファイルB の内容を標準出力に出力する
ファイルA 中の point, gpa それぞれの平均値を計算して、ファイルA の最後に追記する
ファイルA の内容を標準出力に出力する
63:ぼるじょあ ◆hZ8e4Wjqvw
07/06/09 20:02:30
>>46
(・3・) エェー 期限過ぎてるから解いても無駄かNA?
64: ◆wSaCDPDEl2
07/06/09 20:17:20
すいません分けて書いたほうがよかったかもしれません
(問題1)X-fileを読み込んでpointが85以上、gpa<2,0のデータだけを表示しなさい。
(つまり2.3,4を表示するようにしなさい)というもので
(問題2)続いて、1・x-fileの内容を全て表示する。2・問題1の条件に当てはまるものを別のファイル(Bファイル)に書き込む。3・Bファイルを読みこんで表示する。
(問題3)X-FILEを読みこんでpointとgpaの平均を計算して同じファイルの元のデータの後に書き出し、さらにそのファイル内容を表示。
(x-fileに平均を書き、平均が追加されたx-fileを表示せよ)
x-file
1 alice 48 3.6
2 bob 88 3.2
3 charlie 69 1.8
4 dick 100 3.9
5 bomb 3 0.4
わかりにくくてすみませんでした。
65: ◆wSaCDPDEl2
07/06/09 20:19:27
書き忘れました。x-fileはメモ帳で適当に(先生が)作ったテキストファイル(.tex)です。
66:ぼるじょあ ◆hZ8e4Wjqvw
07/06/09 20:47:45
>>61
(・3・) エェー どれが point で どれが gpa なのか分からんYO!
合致するデータっていうのは 1 行丸ごとかYO!
なんで 5 が表示されないんだYO!
67: ◆wSaCDPDEl2
07/06/09 20:59:53
何度も言葉が足りずにすみません。
pointは(多分)名前の後のものでgpaは(多分)小数点ついてるやつです。
合致するデータは一行丸ごとだと思います。
5が表示されないのは・・・ミスでしょうか。2.3.4と書いてあるので適当に5を条件外の数値にしてみたのでそれでお願いします。
1 alice 48 3.6
2 bob 88 3.2
3 charlie 69 1.8
4 dick 100 3.9
5 bomb 3 2.4
つーか問題がわかりにくいですね。今度抗議してみます。すいませんでした。
68:ぼるじょあ ◆hZ8e4Wjqvw
07/06/09 21:57:33
>>61 (・3・) エェー CしかできないからC++っぽくするなら自分で書き換えてくれYO!
#include <cstdio>
void file_display(char *filename){
FILE *fp;
int moji;
if((fp=fopen(filename, "r"))==NULL) return;
while((moji=fgetc(fp))!=EOF) fputc(moji, stdout);
fclose(fp);
}
int main(void){
char one_line[1024], *fname_in="x-file", *fname_out="Bファイル";
FILE *fp_in, *fp_out;
double point, gpa, point_sum=0.0, gpa_sum=0.0;
int num=0;
file_display(fname_in); // q2 only
if((fp_in=fopen(fname_in, "r+"))==NULL) return 1;
if((fp_out=fopen(fname_out, "w"))==NULL) return 2; // q2 only
while(fgets(one_line, sizeof(one_line), fp_in)){
if(sscanf(one_line, "%*d %*s %lf %lf", &point, &gpa)!=2) continue;
num++; point_sum+=point; gpa_sum+=gpa; // q3 only
if(point>=85 || gpa<2.0){
fputs(one_line, stdout); // q1 only
fputs(one_line, fp_out); // q2 only
}
}
if(num>0) fprintf(fp_in, "-1 average %f %f\n", point_sum/num, gpa_sum/num); // q3 only
fclose(fp_in);
fclose(fp_out); // q2 only
file_display(fname_out); // q2 only
file_display(fname_in);
return 0;
}
69: ◆wSaCDPDEl2
07/06/10 00:10:22
問題1,2,33つともやっていただけたんですか。ありがとうございます!
ファイルが見つからないというエラーが出たんですが、同じフォルダ内に入れないとダメとかいう制限でもあるのでしょうか?
70:homoじょあ ◆5OLf4yFnuM
07/06/10 00:27:40
(・3・) エェー 新スレおつんつんん
C++っぽくだとこんなんかNA?
#include <iostream>
#include <sstream>
#include <fstream>
#include <string>
using namespace std;
#define filename "x-file.txt"
int main(){
fstream file;
string str;
int point = 0;
double gpa = 0.0;
file.open( filename, ios::in );
while( !file.eof() ){
char buf[256];
getline(file, str);
istringstream is( str );
int p; double g;
is >> buf >> buf >> p >> g;
point += p;
gpa += g;
}
file.close();
file.open( filename, ios::app );
file << point /5 << " " << gpa /5 << endl;
file.close();
return 0;
}
71:デフォルトの名無しさん
07/06/10 01:30:40
[1] 授業単元: C言語
[2] 問題文(含コード&リンク):
(問題1)点1が79以上、または点2が20以下のものを行ごと表示しなさい
(問題2)点1、点2の平均を計算して表示しなさい
点1 点2
1、A君 30 49
2、B君 90 69
3、C君 60 12
4、D君100 88
5、E君 30 67
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン:visual studio 2005
[3.3] 言語: C
[4] 期限: 6/12
[5] その他の制限:配列を使って行ってください。
72:デフォルトの名無しさん
07/06/10 01:32:30
ちょっと問題2の分が悪かったです。
点1の平均と点2の平均を出し、表示しなさいでした。すみません。
73:デフォルトの名無しさん
07/06/10 01:35:13
何度もすみません。私バカなんでなるべく簡単に書いてもらえないでしょうか?
スレ汚し失礼しました。配列は勉強済みです。
74:homoじょあ ◆5OLf4yFnuM
07/06/10 04:33:31
>>71
(・3・) エェー こんなんでいい?
#include <stdio.h>
int main( void ){
char name[5][4] = {"A君", "B君", "C君", "D君", "E君"};
int score[5][2] = {{30, 49}, {90, 69}, {60, 12}, {100, 88}, {30, 67}};
double ave1 = 0.0, ave2 = 0.0;
int i;
for(i=0; i<5; i++){
if( score[i][0] >= 79 || score[i][1] <= 20 ){
printf( "%d、%s %d点 %d点\n", i+1, name[i], score[i][0], score[i][1] );
}
ave1 = score[i][0];
ave2 = score[i][1];
}
printf( "点1の平均:%f 点2の平均:%f\n", ave1 /5, ave2 /5 );
return 0;
}
75:デフォルトの名無しさん
07/06/10 04:46:35
>>74
char name[5][4]←これはよろしくないんでないかい?
76:homoじょあ ◆5OLf4yFnuM
07/06/10 04:48:15
(・3・) アルェー ダメ・・・だっけ?
77:デフォルトの名無しさん
07/06/10 04:51:12
>>76
規格で+1まで保証されてたか忘れたけどいちお、char[5][5]がいいんじゃない?って思っただけ。
78:デフォルトの名無しさん
07/06/10 04:52:07
>>77
すまん、ABCDEが全角に見えたんだ・・・
スルーしてくれ・・・
79:homoじょあ ◆5OLf4yFnuM
07/06/10 04:53:53
(;・3・) エェー 文字列って2バイト余計に必要な場合あるのかYO
80:homoじょあ ◆5OLf4yFnuM
07/06/10 04:59:40
>>78
(・3・) エェー よかったびっくりしたYO
81:ぼるじょあ ◆hZ8e4Wjqvw
07/06/10 12:10:49
>>74
(・3・) エェー 実行してみたら平均点が低すぎるYO!
82:デフォルトの名無しさん
07/06/10 14:26:02
[1] 授業単元: C言語プログラミング
[2] 問題文(含コード&リンク):
ファイルからデータを読み込み、1が80以上、または2が20以下のデータだけを行ごと表示しなさい
Aファイル↓
1 2
1、A 33 49
2、B 88 69
3、C 70 12
4、D 99 88
5、E 55 67
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン:visual studio 2005
[3.3] 言語: C
[4] 期限: 6/14
[5] その他の制限:上のほうに殆どそっくりな問題が出ているのですがわからないので・・
83:homoじょあ ◆5OLf4yFnuM
07/06/10 14:34:22
>>81
(・3・) エェー ave1 += のところが ave1 = になてたYO
84:デフォルトの名無しさん
07/06/10 14:37:20
すいません。参考文献を乗せるのを忘れました。
次のプログラムは、hairetu-filesと呼ばれるファイルに格納した
3つのデータを読み込んで合計した値を求めて出力しています。
#include<stdio.h>
#define N 3
int main(void){
FILE *fp;
int i,date,sum=0;
if((fp=fopen("hairetu-files","r"))==NULL){
puts("File Open Error"); return 0;}
for(i=0;i<N;i++){
fscanf(fp,"%d",&date);
sum+=data;
}
fprintf(stdout,"合計は%dです\n",sum);
fclose(fp);
return 0;
}
hairetu-files
121
232
341
この途中の部分を>>82の条件になるように書き換えれば出来るらしいですが・・・
どうかこれを参考にお願いします
85:homoじょあ ◆5OLf4yFnuM
07/06/10 20:07:50
(・3・) エェー まぁこんなんで
#include <stdio.h>
#define filename "A.txt"
#define N 5
int main( void ){
FILE *fp;
int i, sum1 = 0, sum2 = 0, data1, data2;
char buf[256];
if( (fp = fopen( filename, "r")) == NULL){
printf( "File Open Error");
return 0;
}
while( fgets( buf, 256, fp) != NULL){
sscanf( buf, "%*s %d %d", &data1, &data2);
sum1 = sum1 + data1;
sum2 = sum2 + data2;
if(data1 >= 80 || data2 <= 20){
printf( "%s", buf);
}
}
printf( "点1の平均:%d\n点2の平均:%d\n", sum1 /N, sum2 /N);
fclose( fp );
return 0;
}
86:デフォルトの名無しさん
07/06/10 20:30:00
>>82です。他の人のもこなしているのにわざわざありがとうございました。
データを読み込むことは出来たのですが実行した際全部出てきてしまい
条件の結果とは一致しませんでした・・・
87:homoじょあ ◆5OLf4yFnuM
07/06/10 20:46:45
(・3・) アルェー 読み込みファイルの中身はどんなん?
88:デフォルトの名無しさん
07/06/10 20:49:24
1 2
1、A 33 49
2、B 88 69
3、C 70 12
4、D 99 88
5、E 55 67
が読み込みファイルの中身です。これが全て表示されてしまうのです。
89:homoじょあ ◆5OLf4yFnuM
07/06/10 20:54:57
(・3・) アルェー 全角スペースですかYO
ファイルを・・
1 2
1、A 33 49
2、B 88 69
3、C 70 12
4、D 99 88
5、E 55 67
にして見てくださいYO
ソースもちょい直すYO
90:homoじょあ ◆5OLf4yFnuM
07/06/10 20:55:51
#include <stdio.h>
#define filename "A.txt"
#define N 5
int main( void ){
FILE *fp;
int i, sum1 = 0, sum2 = 0, data1, data2;
char buf[256];
if( (fp = fopen( filename, "r")) == NULL){
printf( "File Open Error");
return 0;
}
if( (fgets( buf, 256, fp)) == NULL)return 0;
while( fgets( buf, 256, fp) != NULL){
sscanf( buf, "%*s %d %d", &data1, &data2);
sum1 = sum1 + data1;
sum2 = sum2 + data2;
if(data1 >= 80 || data2 <= 20){
printf( "%s", buf);
}
}
printf( "点1の平均:%d\n点2の平均:%d\n", sum1 /N, sum2 /N);
fclose( fp );
return 0;
}
91:デフォルトの名無しさん
07/06/10 21:04:36
ありがとうございます。半角にしてやってみたところやはりなぜか5番が表示されてしまうのです。
1番は消えました
92:デフォルトの名無しさん
07/06/10 21:31:31
できましたよおおおおおおおおおおhomoじょあさんありがとうございます!!
93:homoじょあ ◆5OLf4yFnuM
07/06/10 21:40:30
(・3・) エェー そりは良かったお
結局なんで5番はでてたのかお
94:デフォルトの名無しさん
07/06/10 21:44:34
1、
2、
3、
4、
5、 を小文字のまま書いていたのが悪カッタっぽいです。データは自分で作ったものなんで大文字でかいたら
おーけーでした。
95:デフォルトの名無しさん
07/06/10 21:45:22
適当すぎw
96:homoじょあ ◆5OLf4yFnuM
07/06/10 22:01:22
>>94
(・3・) エェー よくわからんけどそうゆうことかYO
>>95
(・3・) アルェー がっこの宿題こんなもん~
97:デフォルトの名無しさん
07/06/11 19:39:09
【質問テンプレ】
[1] 授業単元:Cプログラミング実習
[2] 問題文(含コード&リンク):
オリジナルプログラムの作成
下記要綱を満たしていればどんなプログラムでも問題ありません
①文は最低50以上(;で終わる文のみカウント)
②2次元配列、マクロを使用
③if,while,for文の使用
④自作関数又は引数を使用。戻り値は問いません
⑤ヘッダファイルを使用
⑥誰が見ても分かりやすいプログラムにすること(/*説明*/)
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン:VB.NET2003
[3.3] 言語: C
[4] 期限: 2007年6月15日
[5] その他の制限:ポインタ、リスト使用不可
98:デフォルトの名無しさん
07/06/11 19:48:55
>>97
マルチ乙
99:デフォルトの名無しさん
07/06/12 21:00:06
2次元配列[3][5]に0~99の数のうちから15個の数字をランダムに選び(30は必ずどこかに入れる)次のプログラムを作れ
配列に格納された数値を
a,大きい順に並べる(バブルソートで)
b,小さい順に(バブルソートで)
c,30の場所を配列の行番号と列番号をprintfで出力せよ
お願いします。
100:82
07/06/12 21:58:35
[1] 授業単元: C言語プログラミング
[2] 問題文(含コード&リンク):
ファイルからデータを読み込み、まずファイルの内容を全て表示し、
1が80以上、または2が20以下のデータだけを別のファイルに書き出しなさい。(別ファイルは適当でよい)
そしてこのファイルを読みこんで表示しろ
Aファイル↓
1 2
1、A 33 49
2、B 88 69
3、C 70 12
4、D 99 88
5、E 55 67
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン:visual studio 2005
[3.3] 言語: C
[4] 期限: 6/14
[5] その他の制限:上のほうに殆どそっくりな問題が出ているのですがわからないので・・
この前お世話になったものです。自分で解こうとしたけれどいくらやっても無理なので
知識豊富な皆様の力を分けてください。お願いします。
101:デフォルトの名無しさん
07/06/12 23:44:42
>>99
前に似たような問題が出てたから、それを改造すればいいんでない?
>>4>>12>>13を参照
102:デフォルトの名無しさん
07/06/13 20:57:16
[1] 授業単元:C++研究
[2] 問題文:
多次元配列を用いて自分の時間割を作成しコマンドプロンプトへ出力しなさい。
なお,履修データはプログラムに直接記述してよい。
また,時限名,曜日名のタイトルも出力すること。
配列などはいれてませんが出力すると、下記urlのcout文のような表示にするようです。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
枠は手書きでも構わないみたいです。
枠や時間割りはすべては埋めてませんが、時間割の枠と全ての時間割り枠内に
科目名、担当の先生の名前、講義室の番号室の3つと
それプラス曜日名と時限名を多次元配列で出力表示します
[3] 環境
[3.1] OS:Windows xp
[3.2] コンパイラ名とバージョン:Visual studio.2005
[3.3] 言語: C++
[4] 期限: ([2007年6月15日11:00まで]
[5] その他の制限:特になし
よろしくお願いします
103:デフォルトの名無しさん
07/06/14 01:03:47
[1] 授業単元:C++研究
[2] 問題文:
ボーリングのスコア計算をするプログラムを作成しなさい
(入力:スコア, 配列データ:スコア表, 出力:入力毎にスコア表を表示させる)
URLリンク(hmets.hp.infoseek.co.jp)
↑のように表を作成して表示するみたいです。10回戦目は3投、投げます
氏名の部分はいりません。
[3] 環境
[3.1] OS:Windows xp
[3.2] コンパイラ名とバージョン:Visual studio.2005
[3.3] 言語: C++
[4] 期限: ([2007年6月16日11:00まで]
[5] その他の制限:特になし
よろしくお願いします
104:デフォルトの名無しさん
07/06/14 12:48:10
アップローダーのNo.4248に問題をアップしましたので、
よろしくお願いします。
105:デフォルトの名無しさん
07/06/14 13:29:46
[1] 授業単元:C言語
[2] 問題文: 次の条件を満たす関数を作りなさい。
1. 配列の要素p[n]とp[n+1]を比較し小さいほうを前にずらす。
2. 番兵-1が出たら処理を終了させる。
3. 1、2を要素の数だけ繰り返す。
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン:microsoft Visual C++ .NET 2005 , borland C++ compiler5.5 ほか
[3.3] 言語: CまたはC++
[4] 期限: 2007年06月28日13:00まで
[5] その他の制限:メールでの提出も可。ただし、他人のコピーは不可。
106:デフォルトの名無しさん
07/06/14 15:57:37
授業単元:C言語
環境:if文・for文・while文・do~while文・switch~case文
OS:Windows
コンパイラ名とバージョン:borland
言語:C
テーマ:数値配列の操作
配列[8]に整数を入力し、以下のような表示をしなさい
実行画面
整数入力[0]==>4
整数入力[1]==>3
整数入力[2]==>8
整数入力[3]==>6
整数入力[4]==>1
整数入力[5]==>5
整数入力[6]==>2
整数入力[7]==>7
107:wauwau
07/06/14 18:41:47
演習課題1:次の関数がどのような値を返すか確かめるプログラム(main関数)を作成し実行せよ。考察も書くこと。
int myreturn(){
return 0;
return 1;
}
演習課題2:次の二つの関数が同じ働きであることを理解させるプログラム(main関数)を作成し実行せよ。
int myfactorial1(int i){
int j,a;
if (i<0) return (0);
if (i<2) return (1);
a=1;
for(j=1;j<i+1;j++)
a=a*j;
return a;
}
int myfactorial2(int i){
if (i<0) return 0;
if (i<2) return 1;
return (i*myfactorial2(i-1));
}
108:デフォルトの名無しさん
07/06/14 19:08:33
>>107
>>1くらい読めカス
URLリンク(kansai2channeler.hp.infoseek.co.jp)
109:wauwau
07/06/14 19:18:31
[1] 授業単元: C言語
[2] 問題文(含コード&リンク): 1:次の関数がどのような値を返すか確かめるプログラム(main関数)を作成し実行せよ。
[3] 環境 2:次の二つの関数が同じ働きであることを理解させるプログラム(main関数)を作成し実行せよ
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: (gcc 3.4 )
[3.3] 言語: (C)
[4] 期限: ([2007年6月14日)
[5] その他の制限: 特になし
よろしくお願いします
110:wauwau
07/06/14 19:23:21
[1] 授業単元: C言語
[2] 問題文(含コード&リンク): 演習課題1:次の関数がどのような値を返すか確かめるプログラム(main関数)を作成し実行せよ。考察も書くこと
int myreturn(){
return 0;
return 1;
}
演習課題2:次の二つの関数が同じ働きであることを理解させるプログラム(main関数)を作成し実行せよ
int myfactorial1(int i){
int j,a;
if (i<0) return (0);
if (i<2) return (1);
a=1;
for(j=1;j<i+1;j++)
a=a*j;
return a;
}
int myfactorial2(int i){
if (i<0) return 0;
if (i<2) return 1;
return (i*myfactorial2(i-1));
}
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: (gcc 3.4 )
[3.3] 言語: (C)
[4] 期限: ([2007年6月14日)
[5] その他の制限: 特になし
ごめんなさい ここに書き込むのが初めてで様式を知りませんでした。。
よろしくお願いします
111:デフォルトの名無しさん
07/06/14 19:27:29
>>110
>>108
112: ◆ba6YufWRwU
07/06/14 20:02:28
【質問テンプレ】
[1] 授業単元: C言語
[2] 問題文(含コード&リンク): int型配列データaに100,200,300,400の値を初期設定し、それらの
値の和WAを求めて、aのそれぞれの値と和WAを求めて出力するための
プログラムを作成せよ。
[3] 環境
[3.1] OS:XP
[3.2] コンパイラ名とバージョン: microsoft Visual C++ .NET 2005
[3.3] 言語:C
[4] 期限: ([07年6月14日24時まで]
[5] その他の制限:特になし
よろしくお願いします
113:デフォルトの名無しさん
07/06/14 20:11:01
#include <stdio.h>
int main(void) {
int i,WA;
int a[4] = {100,200,300,400};
WA = 0;
for(i=0;i<4;i++) WA += a[i];
for(i=0;i<4;i++) printf("a[%d] = %d\n",i,a[i]);
printf("WA = %d\n",WA);
return 0;
}
114:デフォルトの名無しさん
07/06/14 20:45:17
[1] 授業単元: C言語演習
[2] 問題文(含コード&リンク):
URLリンク(kansai2channeler.hp.infoseek.co.jp)
上記プログラムの構造体Personに
性別(int,0(女),1(男))を追加しなさい。
例の性別は適当で良い。
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ名とバージョン:VC++2005
[3.3] 言語:C++
[4] 期限: 07年6月15日10時まで
[5] その他の制限:特になし
お願いします。
115:homoじょあ ◆5OLf4yFnuM
07/06/14 21:59:55
>>106
#include <stdio.h>
int main(void){
int num[8] = {4, 3, 8, 6, 1, 5, 2, 7};
int i;
for(i=0; i<8; i++){
printf("整数入力[%d]==>%d\n", i, num[i]);
}
return 0;
}
116:homoじょあ ◆5OLf4yFnuM
07/06/14 22:25:02
>>102
(・3・) 適当な上に汚い
URLリンク(kansai2channeler.hp.infoseek.co.jp)
117:デフォルトの名無しさん
07/06/14 22:47:00
>>105
#include<string.h>
void sub(char *p)
{
int i,n;
int LEN=strlen(p);
char temp;
for( i=0; p[i] != '0'; i++) {
for ( n=0; n<LEN-2; n++) {
if ( p[n] > p[n+1] )
{
temp = p[n];
p[n] = p[n+1];
p[n+1] = temp;
}
}
}
}
118:homoじょあ ◆5OLf4yFnuM
07/06/14 22:54:02
>>114
#include <stdio.h>
#define N 256+1
struct Person{
char name[N];
int age;
int sex;
};
void main(void){
struct Person P[]={{"花咲爺",64, 1},{"桃太郎", 5, 1},{"金太郎",12, 1},{"浦島太郎",41, 1}};
struct Person tmp;
int n=sizeof(P)/sizeof(P[0]);
for(int i=0; i<n; i++){
for(int j=n-1; j>i; j--){
if(P[j].age>P[j-1].age){
tmp=P[j];P[j]=P[j-1];P[j-1]=tmp;
}
}
}
printf("登場人物\n");
for(int i=0; i<n; i++) printf("名前=%s\t年齢=%3d\t性別=%s\n",P[i].name,P[i].age,P[i].sex == 0 ? "女" : "男");
}
119:デフォルトの名無しさん
07/06/15 02:01:25
>>99お願いします。>>4>>12>>13みてもわかんないんで…
120:デフォルトの名無しさん
07/06/15 02:10:21
誰が何をかいてもお前にはわかんないよ。
121:デフォルトの名無しさん
07/06/15 12:25:30
>>116 ありがとうございます、凄く助かりました。
122:デフォルトの名無しさん
07/06/15 12:54:32
URLリンク(park1.wakwak.com)
ボーリングのスコア計算の解説を見つけたので、一応貼り付けておきますね
よろしくお願いします。
>>103
123:デフォルトの名無しさん
07/06/15 13:01:47
URLリンク(next1.cc.it-hiroshima.ac.jp)
C++言語の解説を見つけたので、一応貼り付けておきますね
よろしくお願いします。
>>122
124:依頼者
07/06/16 19:10:03
[1] 授業単元: C言語演習
[2] 問題文(含コード&リンク):
(1)登録番号"int no"と名前"char *name"と"int age"を含む構造体person型の配列を定義し
初期化せよ。なお、最後のデーダの名前にはNULLを入れておく。登録番号は入力順に1,2,3,4,5
とする。配列の先頭アドレスを目指す構造体person型のポインタは引数として与え、データを年齢順に
並び替える関数を作成せよ
(2)登録番号"int no"と名前"char *name"と"int age"を含む構造体person型の配列を定義し
初期化せよ。なお、最後のデーダの名前にはNULLを入れておく。登録番号は入力順に1,2,3,4,5
とする。そして配列の先頭アドレスを目指す構造体person型のポインタと参照したい人の登録番号を引数として
その名前年齢を表示する関数を作成せよ
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ名とバージョン:visual studio.net
[3.3] 言語:C++
[4] 期限: 07年6月19日まで
[5] その他の制限:特になし
よろしくお願いします。
125:デフォルトの名無しさん
07/06/17 00:20:50
[1] 授業単元:C++
[2] 問題文:
新しい型(設計図)として,「人間」型と「動物」型を設計(新しい型(設計図)は,structでmain関数の外で記述すること,
要素は適時考えること)し,main関数で上記の型(設計図)の変数を配列で2つづつ宣言(生成)した後,
その変数の要素に適当な初期値を格納しなさい(関数を用いること)。最後に,
main関数で上記で生成した変数の要素をすべてコマンドプロンプトに出力しなさい(関数を用いること)。
[3] 環境
[3.1] OS:Windows xp
[3.2] コンパイラ名とバージョン:VISUALSTUDIO2003
[3.3] 言語: C++
[4] 期限: ([2007年6月18日00:00まで]
[5] その他の制限:ないです
どうぞよろしくおねがいします
126: ◆qbNb6Ma0MY
07/06/17 00:21:14
[1] 授業単元:C言語解析
[2] 問題文:
「直列共振回路の周波数特性」 抵抗R、自己インダクタンスL、静電容量Cの直列回路に
起電力Eを加える時、電流I(正確にはIドット)が流れる。Eの周波数fを変化させて、
Iの大きさと位相の変化を調べよ
(注) 共進周波数をはさんで適当な範囲で周波数を変化させる。また、周波数の刻み幅も適切に選ぶこと。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
の7レス目(ミスってしまった・・)は複素数の演算を行うプログラムである
ここの下のほうのint main(void)からを変化させてとくようにするといい。
[3] 環境
[3.1] OS:Windows xp
[3.2] コンパイラ名とバージョン:Visual studio.2005
[3.3] 言語: C
[4] 期限: 6月20日
[5] その他の制限: 特になし
初カキコだけどよろしくお願いします
127:デフォルトの名無しさん
07/06/17 00:56:20
>>125
とりあえず名前だけ作った。
適当に関数追加するだけなんだし自分で作って。
#include <iostream>
struct Creature {
private:
const char *name;
public:
void setName(const char *name) {
this->name = name;
}
const char *getName() const {
return name;
}
};
struct Animal : public Creature {};
struct Human : public Creature {};
int main() {
Animal animal;
animal.setName("動物");
std::cout << animal.getName() << std::endl;
Human human;
human.setName("人間");
std::cout << human.getName() << std::endl;
return 0;
}
128:デフォルトの名無しさん
07/06/19 01:27:18
[1] 授業単元:C++
[2] 問題文:
野球のスコア計算をするプログラムを作成しなさい。
スコアを入力して、配列データにイニング表を、入力毎にスコア表を表示
最後に勝者を出力。
なお延長の場合も考えること(延長は15回までとする)
[3] 環境
[3.1] OS:Windows xp
[3.2] コンパイラ名とバージョン:Visual studio.2005
[3.3] 言語: C++
[4] 期限: ([2007年6月19日00:00まで]
[5] その他の制限:特になし
どうかよろしくお願いします
129:匿名希望
07/06/19 11:38:25
[1] 授業単元:C言語
[2] 問題文:
俳優のデータベースについて次の各問いに答えよ。
1.名前、出身地、年齢、性別、登場作品を定義する構造体を宣言せよ。
2.年齢順に並び替える関数を作成せよ。
3.名前、出身地、年齢、性別、登場作品を表示せよ。
4.(発展)外部ファイルでの読み書きをできるようにせよ。
5.(発展)データを標準入力で追加できるようにせよ。
6.(自由)それを応用してオリジナルのプログラムを作成せよ。
[3] 環境
[3.1] OS:制限なし
[3.2] コンパイラ名とバージョン:制限なし
[3.3] 言語:C言語
[4] 期限: ([2007年7月3日13:00まで])
[5] その他の制限:
動きましたといっただけでは正解になりませんので、説明すること。
発展および自由に関しては余力のある人のみでよい。
自由は評価の対象にならない。
130:鎌ゆう
07/06/19 12:17:36
[1] 授業単元:C言語
[2] 問題文: Randを使ってゲームを作る。一回遊んで終了でかまわない
[3] 環境
[3.1] OS:Windows xp
[3.2] コンパイラ名とバージョン:Visual studio.2005
[3.3] 言語: C
[4] 期限: ([2007年6月20日00:00まで]
[5] その他の制限:特になし
どうかよろしくお願いします
131:デフォルトの名無しさん
07/06/19 14:53:29
1]C言語
[2]
double型実数Xのn乗x(xをn回掛けた値、nは正の整数)を返す関数powerを作成して、この関数powerを利用して、キーボードから実数aと整数mを読み込み、aのm乗aを求めるプログラムを作成しなさい
[3]
[3.1] OS: XP
[3.2] コンパイラ名とバージョン: visual studio 2005
[3.3] 言語: C
実行結果例
実数a;1,2
実数m;10
--------------
1,20の10乗=6,19
132:デフォルトの名無しさん
07/06/19 15:26:54
>>130
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(void)
{
int a,b,n;
srand(time(NULL));
a=rand()%51;
printf("数当てゲーム、秘密の値を当ててください。秘密の値は0~50の整数です。\n");
printf("チャンスは10回,0~50以外の整数を入れると終了します。\n");
for(n=1;n<=10;n++){
if(n==10) printf("最後のチャンス:");
else printf("%d回目:",n);
scanf("%d",&b);
if(b>50 || b<0){
printf("ゲームを中止します");
return 0;
}else if(b==a){
printf("あたり");
break;
}else if(b>a) printf("秘密の値より大きいよ");
else printf("秘密の値より小さいよ");
}
printf("\n");
if(n==11)printf("残念");
else if(n<3) printf("%d回で当てましたね。エスパーさんですか?",n);
else printf("%d回で当てました",n);
return 0;
}
133:デフォルトの名無しさん
07/06/19 15:51:55
>>131
#include<stdio.h>
double power(double x, int n)
{
double a=1;
for(;n>0;n--) a*=x;
return a;
}
int main(void)
{
double a;int m;
printf("実数a;");scanf("%lf",&a);
printf("整数m;");scanf("%d",&m);
printf("--------------\n");
printf("%fの%d乗=%f\n",a,m,power(a,m));
return 0;
}
134:デフォルトの名無しさん
07/06/19 16:30:40
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
1.二次元配列、ランダム関数をつかったポーカー
2.配られたカードがダブらないようにする
3.カードは二回変えることができる。
4.役は必要ありません。
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ名とバージョン: bcc55
[3.3] 言語:C
[4] 期限: ([2006年06月20日12:00まで]
[5] その他の制限:
135:デフォルトの名無しさん
07/06/20 00:45:51
>>134
URLリンク(kansai2channeler.hp.infoseek.co.jp)
136:デフォルトの名無しさん
07/06/21 01:58:16
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):
テキスト形式のファイルを読み込み, 読み込んだアルファベットで書かれた文章のうちa,i,u,e,o(母音)を'*'に置き換えて出力するプログラムを作成しなさい.
出力はファイル名test.outにすること.
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限: 21日正午まで
[5] その他の制限: 特になし
実行結果
[home@*** ~/h1]% cat test.in
Mr.X is a gentleman.
[home@*** ~/h1]% ./test
filename: test.in
[home@*** ~/h1]% cat test.out
Mr.X *s * g*ntl*m*n.
[home@*** ~/h1]%
よろしくお願いします。
137:デフォルトの名無しさん
07/06/21 02:36:20
>>136
こんなんでいい?
URLリンク(kansai2channeler.hp.infoseek.co.jp)
138:デフォルトの名無しさん
07/06/21 15:31:48
授業単元:C言語
環境:if文・for文・while文・do~while文・switch~case文・
OS:Windows
コンパイラ名とバージョン:borland
言語:C
テーマ:文字配列の操作
問題1
文字型の配列変数mojiに設定されている文字数を答えなさい
char moji[] = "ABCDEFG";
実行画面
文字数:7
問題2:文字列を入力して偶数番目の要素数と奇数番目の要素を別の配列に格納し、文字列として表示しなさい
実行画面
文字列入力==>ABC123def
偶数要素:AC2df
奇数要素:B13e
139:デフォルトの名無しさん
07/06/21 16:04:55
>>138
問題1
printf("文字数:%d\n",strlen(moji));
問題2
#include <stdio.h>
int main(){
char tmp[128],str1[64],str2[64];
int i;
printf("文字列入力==>");
fgets(tmp,sizeof(tmp),stdin);
for(i=0;tmp[i]!='\0';i++){
i%2 ? (str2[i/2]=tmp[i]) : (str1[i/2]=tmp[i]);
}
str1[i/2] = str2[i/2] = '\0';
printf("偶数要素:%s\n",str1);
printf("奇数要素:%s",str2);
return 0;
}
140:デフォルトの名無しさん
07/06/21 16:25:14
i番目のフィボナッチ数を返す関数
long fibonacci(long n){/* */}を再帰を用いて定義せよ
という問題なんですが
実行例
整数を入力してください:0
Fibonacci(0)=1
整数を入力してください:1
Fibonacci(1)=1
整数を入力してください:2
Fibonacci(2)=2
整数を入力してください:6
Fibonacci(6)=13
となるようにしたいんですがお手上げ状態ですorz
よろしくお願いします
141:デフォルトの名無しさん
07/06/21 16:34:52
i番目のフィボナッチ数を返す関数
long fibonacci(long n){/* */}を再帰を用いて定義せよ
という問題なんですが
実行例
整数を入力してください:0
Fibonacci(0)=1
整数を入力してください:1
Fibonacci(1)=1
整数を入力してください:2
Fibonacci(2)=2
整数を入力してください:6
Fibonacci(6)=13
となるようにしたいんですがお手上げ状態ですorz
よろしくお願いします
142:homoじょあ ◆5OLf4yFnuM
07/06/21 22:14:27
>>129
#include <stdio.h>
typedef struct{
char name[128];
char home[128];
int age;
int sex;
char film[128];
}actor;
void sortage(actor*, int);
void show(actor);
int main(void){
return 0;
}
void sortage(actor *act, int cnt){
int i, k;
actor swap;
for(i=0; i< cnt -1; i++){
for(k=i+1; k<cnt; k++){
if(act[i].age > act[k].age){
swap = act[i];
act[i] = act[k];
act[k] = swap;
}
}
}
}
143:homoじょあ ◆5OLf4yFnuM
07/06/21 22:15:47
>>129
void show(actor act){
printf(
"名前:%s\n"
"出身地:%s\n"
"年齢:%d\n"
"性別:%s\n"
"登場作品:%s\n",
act.name, act.home, act.age,
act.sex == 0 ? "男" : "女",
act.film
);
}
(・3・) エェー mainの中身は知らないYO
144:homoじょあ ◆5OLf4yFnuM
07/06/21 22:16:56
>>141
#include <stdio.h>
long fibonacci(long n){
if(n == 0 || n == 1) return 1;
return fibonacci( n-1) + fibonacci( n-2);
}
int main(void){
long n;
printf( "整数を入力して下さい:");
scanf( "%ld", &n);
printf( "Fibonacci(%d) = %d\n", n, fibonacci(n));
return 0;
}
145:デフォルトの名無しさん
07/06/21 22:32:22
てst
146:デフォルトの名無しさん
07/06/21 22:43:49
再帰でフィボナッチで無駄が多すぎてダメな例だろ
147: ◆UoNQqijD4I
07/06/22 15:47:15
[1] 授業単元:プログラミング実習
[2] 問題文(含コード&リンク):4行3列の行列Aと3行4列の行列Bの異なる行列式のファイルを読み込み、
読み込んだ行列と、Aの転置行列、及びAの転置行列とBの行列との和を出力するプログラムを作成し、
ソースコードを提出すること。
注意)読み込むファイルはこちら側で用意しておきますので、
行列Aのファイル名を[kadai1.dat]、行列Bのファイル名を[kadai2.dat]という名前で提出すること。
[3] 環境
[3.1] OS Linux
[3.2] コンパイラ名とバージョン: gcc 3.4
[3.3] 言語:C言語
[4] 期限: 今日の5時まで!
[5] その他の制限:バイナリファイル、ポインタまで習いました。もう1つのサイトにも書き込みましたが、
結構急ぎなので、できればこちらでもお願いします!!
148: ◆sLIzEFbWfc
07/06/23 11:49:23
>>147です!
期限過ぎましたが、とりあえずは提出したのでよろしくお願いします
ちなみにC言語は今年の春から初めて初心者です(;;)
149:デフォルトの名無しさん
07/06/23 12:23:53
提出したんならもういいじゃん
150:依頼者
07/06/23 16:40:46
1] 授業単元: C言語演習
[2] 問題文(含コード&リンク):
(1)変数xのyビット目を0にする関数int bit_clear(int x, int y)の作成。
(2)変数xのyビット目の値を返す関数int bit_test(int x,int y)の作成。
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ名とバージョン:visual studio.net
[3.3] 言語:C++
[4] 期限: 07年6月25日まで
[5] その他の制限:特になし
演算子の問題です。よろしくお願いします。
151:仕様がよく判らんから適当に書いた
07/06/23 16:50:35
int bit_clear(int x, int y) {return x & ~ (1 << y);}
nt bit_test(int x,int y) {return (x >> y) & 1;}
152: ◆DpMW3bRjps
07/06/23 18:55:52
内容:
>>148です
とりあえず提出し「た」いのでよろしくお願いします
脱字すみません↓↓ちなみに課題は>>147です。。。
#include <stdio.h>
#include <stdlib.h>
#define ROW 4
#define COLUMN 3
int main(void)
{ FILE *fp;
double a[ROW][COLUMN];
int i, j;
if ( (fp = fopen( "kadai1.dat", "r")) == NULL )
{ printf("ファイルが見つかりません : kadai.dat \n");
exit(1); }
printf("行列は次の通りです\n");
for( i = 0 ; i < ROW ; i++)
{ for( j =0 ; j < COLUMN ; j++)
{ fscanf(fp, "%lf", &a[i][j]);
printf("%5.2f\t", a[i][j]); }
printf("\n"); }
printf("転置行列は次の通りです\n");
for( j = 0 ; j < COLUMN ; j++)
{ for( i = 0 ; i < ROW ; i++)
{fscanf(fp, "%lf", &a[i][j]);
printf("%5.2f\t",a[i][j]); }
printf("\n"); }
fclose( fp );
return 0;
}
153:homoじょあ ◆5OLf4yFnuM
07/06/23 20:21:37
>>152
#include <stdio.h>
#define file1 "kadai1.dat"
#define file2 "kadai2.dat"
int main(void){
FILE *fp;
double A[3][4], B[4][3], TA[4][3];
int i, k;
printf("A:\n");
fp = fopen(file1, "r");
for(i=0; i<3; i++){
for(k=0; k<4; k++){
fscanf(fp, "%lf", &A[i][k]);
printf("%5.2f ", A[i][k]);
}
printf("\n");
}
printf("\nB:\n");
fp = fopen(file2, "r");
for(i=0; i<4; i++){
for(k=0; k<3; k++){
fscanf(fp, "%lf", &B[i][k]);
printf("%5.2f ", B[i][k]);
}
printf("\n");
}
fclose(fp);
154:homoじょあ ◆5OLf4yFnuM
07/06/23 20:23:01
printf("\nTA:\n");
for(i=0; i<4; i++){
for(k=0; k<3; k++){
TA[i][k] = A[k][i];
printf("%5.2f ", TA[i][k]);
}
printf("\n");
}
printf("\nB+TA:\n");
for(i=0; i<4; i++){
for(k=0; k<3; k++){
printf("%5.2f ", B[i][k] + TA[i][k]);
}
printf("\n");
}
return 0;
}
155: ◆DpMW3bRjps
07/06/23 20:35:24
>>152です
ありがとうございました!!
156:デフォルトの名無しさん
07/06/24 07:51:30
[1] 授業単元:アルゴリズム研究
[2] 問題文:10リットル、8リットル、3リットルの容器があり、10リットルの容器に水がいっぱい入っている。
この3つの容器を用い、3リットルの容器に1リットルの水を取り出す最小の手順を答えよ。ただし、水を移す時は、移す側が空になるか、移す側がいっぱいになってときとする。
幅優先探索と言うのを用いるそうです。
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: gcc 5.5.1
[3.3] 言語: C
[4] 期限: 6月25日の2400まで
[5] その他の制限:バケツの水の入り方を、座標に見立て、その座標に番号をつけ、広がり優先探索を用いる。
どうしたら良いかわからず、焦っています。
急ですがよろしくお願いします
157:デフォルトの名無しさん
07/06/24 21:56:40
一次元配列に入った数字の最大値を自作関数maxofをつかって求めよって問題です。
配列の中身は25、35、8、4、23でお願いします。
158:デフォルトの名無しさん
07/06/24 22:07:06
>>157
>>1のテンプレに沿って書いてくれ。あと配列の型も
159:デフォルトの名無しさん
07/06/24 23:27:06
>>157
仕様が曖昧すぎるので勝手に決めた。
配列の先頭アドレスと配列数を入力とし、配列内の最大値を出力とする。
配列内の数字は正の整数のみとする。
int maxof( int * array, int max )
{
int i;
int ans = 0;
for ( i = 0; i < max; i++ ) {
if ( *array > ans ) ans = *array;
array++;
}
return ans;
}
160:デフォルトの名無しさん
07/06/25 15:27:00
[1] 授業単元:ユニット演習
[2] 問題文(含コード&リンク):正整数n を入力し,2 ~ n の範囲にある素数およびその個数を求めるプログラムを作成
しなさい.
[3] 環境
[3.1] OS:windows
[3.2] コンパイラ名とバージョン:cygwin
[3.3] 言語:C
[4] 期限:特になし
[5] その他の制限:特になし
よろしくお願いします。
161:デフォルトの名無しさん
07/06/25 15:57:04
#include <stdio.h>
int prime[500000];
int main(void)
{
int i, j, n, cnt = 0;
printf("正の整数を入力してください:");
scanf("%d", &n);
prime[cnt++] = 2;
for(i=3; i<=n; i+=2) {
int flag = 0;
for(j=0; prime[j]*prime[j]<=i; j++) {
if(i%prime[j]==0) {
flag = 1;
break;
}
}
if(flag==0) prime[cnt++] = i;
}
for(i=0; i<cnt; i++) printf("%d ", prime[i]);
printf("\n%d個\n", cnt);
return 0;
}
162:kino
07/06/25 20:14:23
年頭(1月1日0時0分)からの経過「分」数を標準入力から入力し、
それが何月何日の何時何分に当たるかを標準出力に出力するプログラムを、
以下の手順に従って(必ず以下の仕様・条件を満たすこと)、C言語を用いて作成せよ。
なお、本課題では、その年が閏年かどうかを考慮する必要はないものとする
(閏年ではないものとしてよい)。
なお、制限事項として、本課題では、構造体は用いてはならないものとする
(構造体を用いた場合は未提出として扱う)。
1. 年頭(1月1日0時0分)からの経過「分」数から、それが何月何日の何時何分に当たるかを求める関数whattime()を作成し、必ず、この関数を用いてプログラムを完成せよ。ただし、この関数内では(エラーメッセージ出力以外の)入出力を一切行ってはならないものとする。
2. whattime()が返す情報を以下のように定める。
* 「月」の情報は、数値ではなく、英語の名称(例えば "April")とする。プログラム上では、文字列(文字列ポインタ)を返すものとする。
* 「日」の情報は数値で返すものとする。プログラム上では、int型のデータを返すものとする。
* 「時」および「分」の情報は、それぞれ数値として返すのではなく、「hh:mm」の形式の文字列(文字列ポインタ)を返すものとする。
3. whattime()が返す文字列の情報については、その記憶領域をすべて whattime()の内部で用意あるいは確保すること。つまり、whattime()を呼び出す側で文字配列を定義する必要がないようにせよ。
通常、関数内で定義した変数(自動変数)は、関数からリターンした後は利用できない。関数からリターンした後でもその領域を確保したまま利用するためには、以下のいずれかの方法をとらなければならない。
* static 宣言とともに変数を定義する。
* malloc()によって領域を確保する。
すいませんどうかこの問題おねがいします。
163:kino
07/06/25 20:31:57
[1] 授業単元:c言語
[2] 問題文(含コード&リンク):上記
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: すぎてます
[5] その他の制限:なし
お願いします。
164:デフォルトの名無しさん
07/06/25 21:50:04
[1] 授業単元:情報数学
[2] 問題文(含コード&リンク):
2分法の関数を
double bisection(unaryfunc f, double a, double b, double tol, int n);
Newton法の関数を
double newton(unaryfunc f, double p, double tol, int n);
と定義した、方程式解法ライブラリ equation.h, equation.cを作り、
include”equation.h”とすると
newton(myfunc, p, tol, n); のようにmain関数から呼び出して使える
ようにしてみなさい。
[3] 環境
[3.1] OS:Windows XP
[3.2] bcc32
[3.3] 言語:C
[4] 期限:今週中
よろしくお願いします。
165:デフォルトの名無しさん
07/06/26 00:41:44
C言語です。
2進数の四則演算ができるプログラムを作れって問題です。お願いします。
166:デフォルトの名無しさん
07/06/26 00:48:24
>>165
意味が分からん。入力を受け付ける際に2進数を入力するのか
2進数の各桁を筆算するやり方なのか。
167:ぼるじょあ ◆hZ8e4Wjqvw
07/06/26 01:09:18
>>162
(・3・) エェー 構造体がダメだから共用体使ったYO!
URLリンク(kansai2channeler.hp.infoseek.co.jp)
168:デフォルトの名無しさん
07/06/26 06:24:42
[1] 授業単元:C++研究
[2] 問題文:
URLリンク(kansai2channeler.hp.infoseek.co.jp)(プログラム1)
URLリンク(kansai2channeler.hp.infoseek.co.jp)(プログラム2)
上記1~2のプログラムを下記のように修正します。
クラス(設計図)部分を概要部分(ヘッダファイル)と実装部分(ソースファイルに分け)
そしてメイン部分も分け、2つのプログラムを新しく作り直しなさい。
[3] 環境
[3.1] OS:Windows xp
[3.2] コンパイラ名とバージョン:Visual studio.2005
[3.3] 言語: C++
[4] 期限: ([2007年6月27日12:00まで]
[5] その他の制限:特になし
どうかよろしくお願いします
169:デフォルトの名無しさん
07/06/26 15:09:55
1] 授業単元:C
[2] 問題文:
要素数が同じint型配列xaとxbの対応する要素(xa[i]とxb{i})の値が
・xa{i}<xb[i]ならば、xa[i]とxb[i]を入れ替え
・xa{i}≧xb[i]ならば、そのまま
・入れ替えた要素の個数を返す
関数swap_bを作成し、関数swap_bを用いて、下記の配列fa,fbでfaの要素が必ず大きい(または等しい)ように入れ替えて、結果を表示するプログラムを作成しなさい。(下表の配列faとfbの元のデータは配列の初期化で設定)
(元の配列要素)
添字 0 1 2 3 4
fa 3 8 1 9 4
fb 9 1 7 5 6
(変換後の配列要素)
添字 0 1 2 3 4
fa 9 8 7 9 5
fb 3 1 1 6 4
[3] 環境
[3.1] OS:Windows xp
[3.2] コンパイラ名とバージョン:VISUALSTUDIO2005
[3.3] 言語: C
[4]期限 6月28日
実行結果
元のデータ
fa : 3 8 1 9 4
fb : 9 1 7 5 6
--------------
変換後のデータ
fa : 9 8 7 9 5
fb : 3 1 1 6 4
入れ替えた個数=3
どうかよろしくお願いします
170:デフォルトの名無しさん
07/06/26 15:11:44
1] 授業単元:C
[2] 問題文:
要素型が同じint型配列xaとxbの対応する要素(xa[i]とxb[i])の値をすべて入れ替える関数swap_arrayを作成し、下記の配列fa,fbの要素を入れ替えて、その結果を表示するプログラムを作成しなさい。(下表の配列faとfbの元のデータは配列の初期化で設定)
添字 0 1 2 3 4
fa 3 8 1 9 4
fb 9 1 7 5 6
[3] 環境
[3.1] OS:Windows xp
[3.2] コンパイラ名とバージョン:VISUALSTUDIO2005
[3.3] 言語: C
[4]期限 6月28日
実行結果
元のデータ
fa : 3 8 1 9 4
fb : 9 1 7 5 6
--------------
変換後のデータ
fa : 9 1 7 6 5
fb : 3 8 1 9 4
どうかよろしくお願いします
171:デフォルトの名無しさん
07/06/26 15:12:34
1] 授業単元:C
[2] 問題文:
要素型がnumであるint型配列vcの値が最大である要素の添字を返す関数max_indexを作成しなさい。関数max_indexを用いてキーボードから読み込まれた5つの値のうち最大値は何番目だったかを表示するプログラムを作成しなさい
[3] 環境
[3.1] OS:Windows xp
[3.2] コンパイラ名とバージョン:VISUALSTUDIO2005
[3.3] 言語: C
[4]期限 6月28日
実行結果
1番目のデータ=99
2番目のデータ=120
3番目のデータ=80
4番目のデータ=110
5番目のデータ=100
-------------
最大値は2番目に入力
どうかよろしくお願いします
172:デフォルトの名無しさん
07/06/26 15:14:28
1] 授業単元:C
[2] 問題文:
要素型がnumであるdouble型配列dataの値の平均値を返す関数meanvを作成しなさい。関数meanvを用いて、キーボードから読み込まれた4つの値の平均値を表示するプログラムを作成しなさい
[3] 環境
[3.1] OS:Windows xp
[3.2] コンパイラ名とバージョン:VISUALSTUDIO2005
[3.3] 言語: C
[4]期限 6月28日
実行結果例
1番目のデータ=1.55
2番目のデータ=2.66
3番目のデータ=3.77
4番目のデータ=4.88
-------------
平均値 3.21
どうかよろしくお願いします
173:デフォルトの名無しさん
07/06/26 15:15:14
1] 授業単元:C
[2] 問題文:
数型引数x、yに対していの値を返す関数power2を作成し、関数power2を用いて、キーボードから読み込まれた2つの実数a,bに対して の値を画面に出力するプログラムを作成しなさい
[3] 環境
[3.1] OS:Windows xp
[3.2] コンパイラ名とバージョン:VISUALSTUDIO2005
[3.3] 言語: C
[4]期限 6月28日
実行結果例
実数 a : 1.23
実数 b : 9.87
答え = 98.93
どうかよろしくお願いします
174:デフォルトの名無しさん
07/06/26 15:17:32
1] 授業単元:C
[2] 問題文:
2つのint型変数x0、x1(x0<x1とする)に対してx0からx1までの整数の和を返す関数souwa2を作成しなさい。関数souwa2を用いて、キーボードから2つの整数値a,b(a<bとする)を読み込み、そのaからbまでの和を求めるプログラムを作成しなさい
[3] 環境
[3.1] OS:Windows xp
[3.2] コンパイラ名とバージョン:VISUALSTUDIO2005
[3.3] 言語: C
[4]期限 6月28日
実行結果例
整数a : 33
整数b : 98
33から98までの和=4323
どうかよろしくお願いします
175:デフォルトの名無しさん
07/06/26 15:19:41
1] 授業単元:C
[2] 問題文:
int型配列の変数numを引数として、1からnumまでの整数の和を返す関数souwaを作成しなさい。関数souwaを用いて、キーボードから整数値を読み込み、1からその整数値までの和を求めるプログラムを作成しなさい
[3] 環境
[3.1] OS:Windows xp
[3.2] コンパイラ名とバージョン:VISUALSTUDIO2005
[3.3] 言語: C
[4]期限 6月28日
実行結果例
整数を入力 : 98
1から98までの和=4851
176:デフォルトの名無しさん
07/06/26 15:21:01
1] 授業単元:C
[2] 問題文:
要素型がnoであるint型の配列vcの並び(格納されているデータの順番)を逆順にする関数rev_arrayを作成しなさい。関数rev_arrayを用いて、下記のような値をもつ配列bufの各要素の値を逆順に入れ替えて、but[0]から順番に表示するプログラムを作成しなさい
添字 0 1 2 3 4
値 10 20 30 40 50
[3] 環境
[3.1] OS:Windows xp
[3.2] コンパイラ名とバージョン:VISUALSTUDIO2005
[3.3] 言語: C
[4]期限 6月28日
実行結果
buf[0] : 50
buf[1] : 40
buf[2] : 30
buf[3] : 20
buf[4] : 10
どうかよろしくお願いします
177:デフォルトの名無しさん
07/06/26 16:27:08
>>170
URLリンク(kansai2channeler.hp.infoseek.co.jp)
178:デフォルトの名無しさん
07/06/26 16:39:08
>>171
URLリンク(kansai2channeler.hp.infoseek.co.jp)
179:デフォルトの名無しさん
07/06/26 17:01:46
>>174
#include<stdio.h>
int souwa2(int x0, int x1);
int main(void)
{
int a ,b ,sum;
printf("a:");scanf("%d",&a);
printf("b:");scanf("%d",&b);
sum=souwa2(a,b);
printf("%dから%dまでの整数の和は%d", a, b ,sum);
return 0;
}
int souwa2(int x0, int x1)
{
int sum=0;
if(x0>x1){/*x0がx1より大きい時は警告して-1を返す*/
printf("x0がx1より大きい\n");
return -1;
}
for(;x1>=x0;x1--)
sum+=x1;
return sum;
}
180:デフォルトの名無しさん
07/06/26 17:06:47
>>175
#include<stdio.h>
int souwa(int num);
int main(void)
{
int a ,sum;
printf("a:");scanf("%d",&a);
sum=souwa(a);
printf("1から%dまでの整数の和は%d", a,sum);
return 0;
}
int souwa(int num)
{
int sum=0;
for(;num>=1;num--)
sum+=num;
return sum;
}
181:デフォルトの名無しさん
07/06/26 17:23:29
>>176
#include<stdio.h>
void rev_array(int vc[],int no);
int main(void)
{
int i, buf[5];
for(i=0;i<5;i++){
printf("buf[%d] : ", i);
scanf("%d",&buf[i]);
}
rev_array(buf,5);
printf("添字 ");
for(i=0;i<5;i++) printf(" %d", i);
printf("\n値 ");
for(i=0;i<5;i++) printf(" %d", buf[i]);
return 0;
}
void rev_array(int vc[],int no)
{
int i,temp;
for(i=0;i<(no/2-1);i++){
temp=vc[i]; vc[i]=vc[no-1-i]; vc[no-1-i]=temp;
}
}
182:デフォルトの名無しさん
07/06/26 17:30:41
>>173
>数型引数x、yに対していの値を返す
の部分が分りません。
183:デフォルトの名無しさん
07/06/26 17:36:51
数値だけ見れば x^2+y^2だな
184:デフォルトの名無しさん
07/06/26 18:08:15
x^2+y^2で見切り発車します。
>>173
#include<stdio.h>
double power2(double x,double y);
int main(void)
{
double a,b;
printf("実数 a:");scanf("%lf",&a);
printf("実数 b:");scanf("%lf",&b);
printf("答え = %.2f", power2(a, b));
return 0;
}
double power2(double x,double y)
{
return x*x+y*y;
}
185:デフォルトの名無しさん
07/06/26 18:21:16
>>165の問題は、入力を受け付けるさいに2進数を入力します。
186:デフォルトの名無しさん
07/06/26 18:22:45
>>165の問題は、入力のさい、2進数で入力します。
187:デフォルトの名無しさん
07/06/26 22:39:31
[1] 授業単元: プログラミング実習
[2] 問題文(含コード&リンク):
構造体を使って学生の名前、大学名、学科、生年月日(年はintで月日がshort),趣味を定義する(全て実在しないものになるようにする)
URLリンク(kansai2channeler.hp.infoseek.co.jp)
まずはfwriteを用いて先頭に学生の数もバイナリ形式で出力する。その後バイナリ形式で定義した学生の情報を出力する。
その後freadでまず生徒の数を読み込み、その人数分ループさせ画面上に読めるように一人ずつ出力する。
[3] 環境
[3.1] OS: WindowsXP
[3.2] gcc 3.4
[3.3] 言語: (C
[4] 期限: 6月27日22:00まで
[5] その他の制限:特になし
よろしくお願いします。
188:デフォルトの名無しさん
07/06/27 01:36:32
ぼるじょあもほもじょあも来ないな
189:kino
07/06/27 02:47:28
>>167
ほんとありがとうございました!!!
190:デフォルトの名無しさん
07/06/27 03:26:51
>>187
誰もやらないんで、やってみた。
バイナリなんて普段使わないから、これでいいのやら・・・
構造体のアライメントとかは一切考慮していない。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
191:デフォルトの名無しさん
07/06/27 03:41:39
0224 < これは先頭に0があるせいで、8進数の値として扱われているね。
その辺、質問者はこれで良いんだろうか?
192:デフォルトの名無しさん
07/06/27 07:56:18
>>191
Oh!そんなとこまで気にしてナカタヨ。
193:デフォルトの名無しさん
07/06/27 14:58:08
>>179>>180>>181>>184
ありがとうございました
>>169>>170>>171>>172
お願いします
194:デフォルトの名無しさん
07/06/27 16:12:47
>>169
#include <stdio.h>
int swap_b(int fa[], int fb[],int n);
int main(void)
{
int i,n, fa[]={3, 8, 1, 9, 4}, fb[]={9, 1, 7, 5, 6};
printf("元のデータ \n");
printf("fa :");for(i=0;i<5;i++) printf(" %d",fa[i]);printf("\n");
printf("fb :");for(i=0;i<5;i++) printf(" %d",fb[i]);printf("\n");
n=swap_b(fa, fb, 5);
printf("\n-------------- \n変換後のデータ\n");
printf("fa :");for(i=0;i<5;i++) printf(" %d",fa[i]);printf("\n");
printf("fb :");for(i=0;i<5;i++) printf(" %d",fb[i]);printf("\n");
printf("入れ替えた個数=%d",n);
return 0;
}
int swap_b(int fa[], int fb[],int n)
{
int i, temp,c;
c=0;
for(i=0;i<n;i++){
if(fa[i]<fb[i]){
temp=fa[i]; fa[i]=fb[i]; fb[i]=temp; c++;
}
}
return c;
}
195:デフォルトの名無しさん
07/06/27 16:22:05
>>170
#include <stdio.h>
void swap_array(int xa[], int xb[],int n);
int main(void)
{
int i, fa[]={3, 8, 1, 9, 4}, fb[]={9, 1, 7, 5, 6};
printf("元のデータ \n");
printf("fa :");for(i=0;i<5;i++) printf(" %d",fa[i]);printf("\n");
printf("fb :");for(i=0;i<5;i++) printf(" %d",fb[i]);printf("\n");
swap_array(fa, fb, 5);
printf("\n-------------- \n変換後のデータ\n");
printf("fa :");for(i=0;i<5;i++) printf(" %d",fa[i]);printf("\n");
printf("fb :");for(i=0;i<5;i++) printf(" %d",fb[i]);printf("\n");
return 0;
}
void swap_array(int xa[], int xb[],int n)
{
int i, temp;
for(i=0;i<n;i++){
temp=xa[i]; xa[i]=xb[i]; xb[i]=temp;
}
}
196:デフォルトの名無しさん
07/06/27 16:34:34
>>171
>要素型がnumである、の要素型は要素数の打ち違いと判断した。
#include <stdio.h>
int max_index(int vc[], int num);
int main(void)
{
int i,vc[5],max;
for(i=0;i<5;i++){
printf("%d番目のデータ=",i+1);
scanf("%d", &vc[i]);
}
max=max_index(vc, 5);
printf("最大値は%d番目に入力",max+1);
return 0;
}
int max_index(int vc[], int num)
{
int i,max;
max=0;
for(i=0;i<num;i++){
if(vc[i]>vc[max]){
max=i;
}
}
return max;
}
197:デフォルトの名無しさん
07/06/27 17:04:40
>>172
#include <stdio.h>
double meanv(double data[], int num);
int main(void)
{
int i;
double mean, data[4];
for(i=0;i<4;i++){
printf("%d番目のデータ=",i+1);
scanf("%lf", &data[i]);
}
mean=meanv(data, 4);
printf("平均値 %.2f",mean);
return 0;
}
double meanv(double data[], int num)
{
int i;
double sum=0;
for(i=0;i<num;i++){
sum=sum+data[i];
}
return sum/num;
}
198:デフォルトの名無しさん
07/06/27 17:46:46
>>194>>195>>196>>197
ありがとうございました
199:デフォルトの名無しさん
07/06/27 17:47:58
1] 授業単元:C
[2] 問題文:
要素数がnoであるint型の配列vcの最小値を返却値として返す関数min_ofを作成しなさい。この関数min_ofを利用して、キーボードから10名の得点データを入力すると、その最小値に表示するプログラムを作成しなさい
[3] 環境
[3.1] OS:Windows xp
[3.2] コンパイラ名とバージョン:VISUALSTUDIO2005
[3.3] 言語: C
[4]期限 6月28日
実行結果例
1 番目の得点= 70
2 番目の得点= 50
: (途中省略)
10 番目の得点 = 63
-------------------
最小値 : 50点
よろしくお願いします
200:デフォルトの名無しさん
07/06/27 17:51:46
1] 授業単元:C
[2] 問題文:
要素数がnoであるint型の配列vcの全要素に整数xの値を代入する関数fillを作成しなさい(関数fillは値を返さない)。この関数fillを用いて、要素数5のint型配列xcの全要素をキーボードから読み込んだ値に設定するプログラムを作成しなさい
[3] 環境
[3.1] OS:Windows xp
[3.2] コンパイラ名とバージョン:VISUALSTUDIO2005
[3.3] 言語: C
[4]期限 6月28日
実行結果例
設定する値を入力= 7
-----------------
xc[0]=7
xc[1]=7
xc[2]=7
xc[3]=7
xc[4]=7
よろしくお願いします
201:デフォルトの名無しさん
07/06/27 18:42:29
怒涛の宿題丸投げには恐れ入るな
202:デフォルトの名無しさん
07/06/27 19:26:46
[1] 授業単元:C言語実習基礎
[2] 問題文:URLリンク(kansai2channeler.hp.infoseek.co.jp)
上記プログラムを線形リストから双方向リストへ作り直す。
[3] 環境
[3.1] OS:Windows xp
[3.2] コンパイラ名とバージョン:Visual studio.2005
[3.3] 言語: C
[4] 期限: 明朝まで
[5] その他の制限: 特になし
よろしくお願いいたします。
203:デフォルトの名無しさん
07/06/27 20:05:07
このレベルの低さで、ここまで大量に丸投げするのはすごいな。
204:デフォルトの名無しさん
07/06/27 23:20:39
>>200
よし、3日前にHSPからC++に以降した俺に任せろ。期限に間に合うかどうかは知らん。
205:デフォルトの名無しさん
07/06/28 00:29:47
-----------------------------------------------------------
/////////////////////////////////////////////
//fill関数
/////////////////////////////////////////////
//要素数5の配列変数Uncoの全ての要素に、
//キーボードから入力された値を代入する関数。
//入力値の宣言
int P1=0;
//以下関数本体
int fill(int P1) {
//配列の作成
int Unco[5];
//全要素にP1の値を代入
int cnt=0;
while(cnt<(P1-1)) {
//代入
Unco[cnt]=P1;
//カウンタ回し
cnt++;
}
return 0;
}
---------------------------------------------------------------
C++の細かい仕様がまだ分からん。やっぱ諦めるわ。落書きレベルだけど一応載せとく。
206:デフォルトの名無しさん
07/06/28 00:38:15
>>205
1行目の宣言文は不要。この場合のループではforが一般的。
というよりも、この関数は仕様を一切満たしていない。
fillされるのはローカルのUnco配列のみで、呼び出し側の配列がfillされていないため。
実行確認していないけど、たぶんこんな感じ。
>>200
// pvc 配列の先頭アドレス no 配列個数 x 代入する値
void fill( int * pvc, int no, int x ) {
int i;
for ( i = 0; i < no; i++ ) {
pvc[ i ] = x;
}
}
207:デフォルトの名無しさん
07/06/28 14:56:49
授業単元:C言語
環境:if文・for文・while文・do~while文・switch~case文・
OS:Windows
コンパイラ名とバージョン:borland
言語:C
テーマ:文字配列の操作
問題
文字列と検索文字、置換文字を入力し文字列中の検索文字を置換文字に置き換えなさい
実行画面
文字列(m1)入力==>ABCDEFAABCDABC
削除文字==>A
置換文字==>*
結果文字列(m1):BCDEF**BCD*BC
208:デフォルトの名無しさん
07/06/28 15:04:11
授業単元 関数
言語 C言語
引数の階乗(1*2*3*....*n)を関数を作れ
お願いします
209:202
07/06/28 15:55:58
解決しました。お騒がせしました。
210:デフォルトの名無しさん
07/06/28 16:33:29
>>208
できたぜ!まだヘボいけど、生まれて初めて自分でC++のプログラム作れたヤッホー。
// Info : 引数の階乗を返すfact関数をコンソールウィンドウで使う
///////////////////インクル
#include "stdafx.h"
#include <iostream>
using namespace std;
///////////////////fact関数
int fact(int p1) {
////宣言
int cnt=p1;
int brk=0;
////メイン処理
while (brk==0) {
////階乗
p1=(cnt-1)*p1;
////カウンタ回し
cnt=cnt-1;
////終端チェック
if (cnt==1) { brk=1; }
}
return p1;
}
//////////////////メイン関数
int main() {
int p2=0;
cin >> p2;
int temp=fact(p2);
cout << temp << endl;
}
211:デフォルトの名無しさん
07/06/28 18:11:20
brk使わないでcntで判定すりゃいいじゃん
212:デフォルトの名無しさん
07/06/28 19:32:24
>>210
馬鹿野郎、C言語でと言われてるのに、C++で作る奴があるか
Cで作り直して再提出、ついでに便所掃除1年間の刑に処す。
それともモーホーの肉便器1年間の方がいいか?
と冗談を言ってみるテスト
213:デフォルトの名無しさん
07/06/29 00:39:43
>>165お願いします。関数電卓みたいな感じです。
214:デフォルトの名無しさん
07/06/29 00:49:42
テキストファイルをよみこんでたとえばファイルに
cccchaa
というのがかいてあったら下のような感じで画面に表示したいんですけど
どんなソースコードですかね?お願いします。
c→4 h→1 a→2
215:214
07/06/29 00:56:09
あ、テンプレ忘れましたすいません。
[1] 授業単元: C言語
[2] 問題文(含コード&リンク):
テキストファイルをよみこんでたとえばファイルに
cccchaa
というのがかいてあったら下のような感じで画面に表示する
c→4 h→1 a→2
[3] 環境
[3.1] Linux
[3.2] gcc
[3.3] 言語: C
[4] 期限:明日
216:デフォルトの名無しさん
07/06/29 02:11:39
>>215
cccchaacccchaaの時はどちらに?
c→4 h→1 a→2 c→4 h→1 a→2
c→8 h→2 a→4
217:デフォルトの名無しさん
07/06/29 02:17:22
>>216
スレリンク(tech板:492-493番)
218:かま
07/06/29 17:02:04
[1] 授業単元: C言語
[2] 問題文(含コード&リンク): 次に引数の順番を入れ替えて逆順に表示するプログラムに直せ。
ソースプログラムを書き込んで提出せよ。
#include "stdio.h"
main(int argc, char * argv[]){
int i;
printf("%d argument(s), \n", argc -1);//,
for(i=0;i<argc; i++) {
printf("argv[%d]:\"%s\"\n", i, argv[i]);
}
}
[3] 環境
[3.1] Linux
[3.2] gcc
[3.3] 言語: C
[4] 期限:今日
219:デフォルトの名無しさん
07/06/29 22:21:32
>>218
#include "stdio.h"
#include <string>
main(int argc, char * argv[]){
int i;
char temp[100];
/*引数の順番を入れ替える*/
for(i=0;i<argc/2; i++){
strcpy(temp,argv[i]);
strcpy(argv[i],argv[argc-i-1]);
strcpy(argv[argc-i-1],temp);
}
printf("%d argument(s), \n", argc -1);//,
for(i=0;i<argc; i++) {
printf("argv[%d]:\"%s\"\n", i, argv[i]);
}
}
220:デフォルトの名無しさん
07/06/30 09:24:06
えー?
>/*引数の順番を入れ替える*/
だからこうじゃないの?
for(i=argc -1; i > 0; i--) {
printf("argv[%d]:\"%s\"\n", i, argv[i]);
}
221:デフォルトの名無しさん
07/06/30 10:51:12
>引数の順番を入れ替えとあるから、引数の配列を並べ替えるような希ガス
ただ単に、逆順で表示するだけなら"引数の順番を入れ替え"を書かずに
"次に引数を逆順に表示するプログラムに直せ"で良いような希ガス
下手をすると、在日より日本語力の低い俺がどうこう言える立場じゃないけどな。
222:デフォルトの名無しさん
07/06/30 12:22:17
>#include "stdio.h"
むしろこれに突っ込んであげて
223:デフォルトの名無しさん
07/06/30 12:48:59
>>222
自作のヘッダファイルつくったんじゃない?
224:デフォルトの名無しさん
07/06/30 14:55:18
>>221
>在日より日本語力の低い俺がどうこう言える立場じゃないけどな。
手抜きの説明文しか書けない218よりは日本語力あるだろ。
よって、どうこう言える立場にある。
225:デフォルトの名無しさん
07/07/01 04:30:59
>>222
それの何が問題?コンパイルできなかった?
226:デフォルトの名無しさん
07/07/01 04:38:10
OKOK、俺が書き直してやんよ。
#include "stdio.h"
main(int argc, char * argv[]){
int i;
char *tmp;
/*引数の順番を入れ替える*/
for(i=1;i<argc/2; i++){
tmp=argv[i];
argv[i]=argv[argc-i];
argv[argc-i]=tmp;
}
printf("%d argument(s) \n", argc -1);
for(i=1;i<argc; i++) {
printf("argv[%d]:\"%s\"\n", i, argv[i]);
}
}
227:デフォルトの名無しさん
07/07/01 05:55:21
だから、標準インクルードファイルを""で括ってインクルードするなって。
228:デフォルトの名無しさん
07/07/01 05:57:41
な・ん・で?それがタブーとされる理由でもあるの?自分ルールや自分スタイルを
押し付けるだけじゃだめだぞ。本質的に不適切かどうかで説明してみろよ?
お前わかってない分かってないって言う奴ほど、自分が本当は分かっていないなんて
オチはどこでもある。
229:デフォルトの名無しさん
07/07/01 06:05:45
>>227
だめな理由が見つからないだろ?自分の主観でそうしないよだの
それはおかしいだの言っている奴が他にもいるからそうなんだよ!
っていうゴネ方はなしな。まるで、子供が欲しいおもちゃがあると
「みんな持っている」とか言ってしまい、持っていない人もいて親に
「みんな持ってはいないよ」とつき返されるのと似た状況だなw
230:デフォルトの名無しさん
07/07/01 06:24:08
理由まだ~?""でヘッダファイル名を囲ってもなんらコンパイルエラーなんて出ないよ?
231:デフォルトの名無しさん
07/07/01 06:27:51
カレントディレクトリもインクルードファイルのサーチパスに含まれてしまうから、
同名のファイルをカレントディレクトリに置いておくと誤動作の原因になる。
こんな基本的なことも知らずにプログラミングやってるの?
「コンパイルエラーでないよ」って、エラーが出なければ全て正しいなんて
阿呆なこと言ってないで人生やり直してきたら?
232:デフォルトの名無しさん
07/07/01 06:37:46
231 名前:デフォルトの名無しさん 投稿日:2007/07/01(日) 06:27:51
カレントディレクトリもインクルードファイルのサーチパスに含まれてしまうから、
同名のファイルをカレントディレクトリに置いておくと誤動作の原因になる。
こんな基本的なことも知らずにプログラミングやってるの?
「コンパイルエラーでないよ」って、エラーが出なければ全て正しいなんて
阿呆なこと言ってないで人生やり直してきたら?
阿呆なこと言ってないで人生やり直してきたら?
阿呆なこと言ってないで人生やり直してきたら?
阿呆なこと言ってないで人生やり直してきたら?
阿呆なこと言ってないで人生やり直してきたら?
阿呆なこと言ってないで人生やり直してきたら?
阿呆なこと言ってないで人生やり直してきたら?
こんなことで他人をここまで罵倒できる基地外が良く言うぜw