C/C++の宿題を片付けます 109代目
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2008/06/08(日) 12:30:56【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。
・問題文は、出題されたまま全文を書いてください。
・問題文やコードをリンクするときは、一言内容にについて説明をつけましょう.
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。
【質問テンプレ】
[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
【過去ログ検索】 http://chomework.sakura.ne.jp/
【wiki】 http://www23.atwiki.jp/homework/
【前スレ】C/C++の宿題を片付けます 108代目
http://pc11.2ch.net/test/read.cgi/tech/1211980711/
0002デフォルトの名無しさん
2008/06/08(日) 19:14:28Cプログラミング
[2] 問題文(含コード&リンク):()
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6835.txt
[3] 環境
[3.1] OS: (Windows/Linux/等々)
linux
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
gcc
[3.3] 言語: (C/C++/どちらでも可 のいずれか)
C
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
明日まで
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
スレが変わったのでもう一度書き込ませていただきます。
明日までなのでどうにかよろしくお願いします。。
0003デフォルトの名無しさん
2008/06/08(日) 20:08:35[2]問題文
int型整数の四乗値を返す関数、int pow4(int x)を作る。
ただし関数sqrを利用すること。
[3-1]windows
[3-2]gcc
[3-3]C言語
[4]明後日まで。
よろしくお願いいたします。
0004デフォルトの名無しさん
2008/06/08(日) 20:09:51>関数sqr
ここ詳しく
0005デフォルトの名無しさん
2008/06/08(日) 20:18:31[2] 問題文:間隔1の碁盤目状に格子点が並んでいます。
外径R+1、幅1の円環に含まれる格子点の数nを求めるプログラムを作成しなさい。
なお、格子点が円環の境界上にあった場合、外側境界上の点は含め、内側境界上の点は含めない。
以下に半径R=2の場合を示します。
ttp://upp.sakura.ne.jp/src/upp18015.png
全部で16個の格子点が円環に含まれます。
半径が少ない場合の例をあげておきます。
(R,n)=(0,4),(1,8),(2,16),(3,20),(4,32)
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名:gcc
[3.3] 言語:C
[4] 期限:[2008年6月10日まで]
[5] その他の制限:まだ大した勉強はしていません。
0006デフォルトの名無しさん
2008/06/08(日) 20:19:04#include <stdio.h>
int sqr(int x) {
return x * x;
}
int pow4(int x) {
return sqr(sqr(x));
}
int main(void) {
int n;
scanf("%d", &n);
printf("%d\n", pow4(n));
return 0;
}
0007デフォルトの名無しさん
2008/06/08(日) 20:21:29問題文には、二乗値を返すという問題の際にsqrという関数を使ったんですが、この四乗値を返すという問題でもsqrを使えと書いてるんですよね。
0008デフォルトの名無しさん
2008/06/08(日) 20:31:17#include<stdio.h>
#include<math.h>
#define EPS (1e-10)
long internal_point(double r){
int x, y;
long count=0;
for(x=0;x<=r;x++){
y=sqrt(r*r-x*x+EPS);
if(x==0) count+=2*y+1;
else count+=(2*y+1)*2;
}
return count;
}
int main(void){
int R=2;
printf("%ld\n", internal_point(R+1)-internal_point(R));
return 0;
}
0009デフォルトの名無しさん
2008/06/08(日) 20:33:28int pow4(int x){ return sqr(x)*sqr(x); }
0010デフォルトの名無しさん
2008/06/08(日) 20:33:38ありがとうございました。
0011デフォルトの名無しさん
2008/06/08(日) 20:35:07#include <stdio.h>
#define R 2
int main()
{
int x, y;
unsigned n = 0;
for(x = -(R + 1); x <= R + 1; ++x)
for(y = -(R + 1); y <= R + 1; ++y)
{
unsigned r = x * x + y * y;
if(R * R < r && r <= (R + 1) * (R + 1)) ++n;
}
printf("%d\n", n);
return 0;
}
浮動小数点数つかうなんて正気の沙汰と思えねえ
0012デフォルトの名無しさん
2008/06/08(日) 20:45:550013デフォルトの名無しさん
2008/06/08(日) 20:50:20それだと実行時間が半端ねえよ
R=10000 の時
>>8 1[msec]
>>11 625[msec]
00145 ◆3kDaM44dXs
2008/06/08(日) 21:10:06すいません、これだと
R=2のときのものしかできないので、
Rを打ち込んでそのときのnを求めるプログラムがほしいのですが…
>>12
整数です。
0015デフォルトの名無しさん
2008/06/08(日) 21:30:10#include<stdio.h>
#include<math.h>
#define EPS (1e-10)
long internal_point(double r){
int x, y;
long count=0;
for(x=0;x<=r;x++){
y=sqrt(r*r-x*x+EPS);
if(x==0) count+=2*y+1;
else count+=(2*y+1)*2;
}
return count;
}
int main(void){
int R=2, n;
printf("Input R : ");
scanf("%d", &R);
n=internal_point(R+1)-internal_point(R);
printf("%d\n", n);
return 0;
}
0017デフォルトの名無しさん
2008/06/08(日) 21:47:230019デフォルトの名無しさん
2008/06/08(日) 22:03:53[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6826.txt
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:VisualC++6.0
[3.3] 言語: C++
[4] 期限:明日の昼までにお願いします。
[5] その他の制限:元の図をもとに、できるだけ簡単にお願いします。
0020デフォルトの名無しさん
2008/06/08(日) 22:04:20[2] 問題文(含コード&リンク):
たてa,よこbの長方形から半径cの円をできるだけ多く取りなさい
出力:円は何個できましたか?
長方形の何パーセント使いましたか?
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン:わかりません
[3.3] 言語: C
[4] 期限:明日中
[5] その他の制限:できるだけ簡単に
お願いします
0021前スレ765
2008/06/08(日) 22:06:33[2] 問題文(含コード&リンク):forkによる子プロセスの生成
子プロセスを2つ生成して、それぞれに、fork1, fork2 のプログ
ラムを実行させるようなプログラムを作成しなさい。
///fork1.c///
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6800.txt
///fork2.c///
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6801.txt
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:6月11日
fork1とfork2は外部プログラムとして呼びます。
よろしくお願いします。
0022デフォルトの名無しさん
2008/06/08(日) 23:16:23[2] 問題文(含コード&リンク):()
安定結婚問題を解くプログラムを実装し実行せよ。
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C
[4] 期限: 6/9(月)の13時まで
[5] その他の制限:
過去ログ106を基に組み立ててみたのですが、どうも安定な組合わせが
うまく出力できません。どうかよろしくお願いします> <
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6838.txt
0023デフォルトの名無しさん
2008/06/09(月) 00:14:47#include<stdio.h>
int main(void){
int a,b,c,count=0,menseki=0;
double circle=0,amari=0;
printf ("縦:");
scanf("%d",&a);
printf ("横:");
scanf("%d",&b);
printf ("円の半径:");
scanf("%d",&c);
menseki = a*b;
circle = c*c*3.14;
count = menseki/circle;
amari = (menseki-(circle*count))/menseki;
printf ( "%d個 余り%4.2f%%\n",count,(amari*100));
}
間違えたこれ円の個数じゃなくて、ただ面積引いてるだけだ
長方形から円を引くって難しいな…俺も知りたいから誰か答えて
0024デフォルトの名無しさん
2008/06/09(月) 01:08:42問題文は以上ですか?
その問題文ですべてなら
円はほぼ無限個でき、長方形のほぼ100%を使うことができます。
0025デフォルトの名無しさん
2008/06/09(月) 01:12:450026デフォルトの名無しさん
2008/06/09(月) 01:13:06わかりにくくてすみません
長方形を円でくりぬいていき何個円ができるかという感じでお願いします
>>23
考えてくださってありがとうございます
[2] 問題文:文字列を入力し、その長さ(入力した文字数)を求めよ
[例]文字列を入力して下さい:abcde fghijkl mn
文字の長さ:16
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名:VC++6.0
[3.3] 言語:C
[4] 期限:6月10日まで
[5] その他の制限:標準関数を使わずにお願いします。
0028デフォルトの名無しさん
2008/06/09(月) 03:44:47#include <stdio.h>
int main(void){
char str[64];
int nlen;
scanf("%s", str);
for (nlen = 0; str[nlen]; nlen++);
printf("文字列の長さ:%d", nlen);
return 0;
}
0029デフォルトの名無しさん
2008/06/09(月) 03:45:38ありがとうございます!
こうやってみるとめっちゃ簡単ですね(;><)
0031デフォルトの名無しさん
2008/06/09(月) 04:09:27scanf("%s", str);
↓
gets(str);
にしといてください
0032デフォルトの名無しさん
2008/06/09(月) 04:49:08int main(void)
{
int i, ch;
printf("文字列を入力して下さい:");
for(i=0; (ch=getchar())!='\n'; i++);
printf("文字の長さ:%d\n", i);
return 0;
}
0033デフォルトの名無しさん
2008/06/09(月) 05:29:30int main(void)
{
int i, ch;
printf("文字列を入力して下さい:");
for(i=0; (ch=getchar())!='\n' && ch!=EOF; i++);
printf("文字の長さ:%d\n", i);
return 0;
}
0034デフォルトの名無しさん
2008/06/09(月) 10:22:30ようするにクッキーの生地(長方形)から型(円)を何個とれるか、てこと?
0036デフォルトの名無しさん
2008/06/09(月) 12:33:25外部プログラムとして動かすのにforkなの?
003720
2008/06/09(月) 12:38:460038デフォルトの名無しさん
2008/06/09(月) 12:53:25難しいです
解法plz
0039デフォルトの名無しさん
2008/06/09(月) 13:18:42しかも今日中か。
0040デフォルトの名無しさん
2008/06/09(月) 13:21:42前回の課題とかせっかくだから載せてもらえる?
できれば作成したソースも。
0041デフォルトの名無しさん
2008/06/09(月) 13:25:31とりあえず a<b ならそれなりの解が出るソースコード
解法plz
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int pattern1(double a, double b, double c){
int x, y;
y=(a-2*c)/(sqrt(3.)*c)+1;
x=b/(2*c);
return x*y-y/2;
}
int pattern2(double a, double b, double c){
int x, y;
y=a/(2*c);
x=b/(2*c);
return x*y;
}
int main(int argc, char *argv[]){
double a=20., b=30., c=3.;
int num, maximum;
switch(argc){
case 4: c=atof(argv[3]);
case 3: b=atof(argv[2]);
case 2: a=atof(argv[1]);
}
maximum=pattern1(a, b, c);
num=pattern2(a, b, c);
if(num>maximum) maximum=num;
printf("円の数:%d 使用率:%.3f%%\n", maximum, (c*c*M_PI*maximum)/(a*b)*100);
return 0;
}
0043デフォルトの名無しさん
2008/06/09(月) 13:47:56[2] 問題文(含コード&リンク):
abbcという問題の中にabがあればそのabをxyzに置き換えるプログラムをつくりなさい、です。
また、なかった場合は問題をそのまま出力するようにしなさい、です。
問題と単語は自分で適当に入力するようにプログラムするようにしなさい、です。
どうぞよろしくお願いします。
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: (2008年6月12日まで
[5] その他の制限: ポインタ変数を習ってまもないです
0044デフォルトの名無しさん
2008/06/09(月) 14:00:10#include<stdio.h>
#include<string.h>
void replace(char dest[], const char src[], const char modify[], const char org[]){
const char *p;
int org_len;
org_len==strlen(org);
while((p=strstr(src, org))){
dest+=sprintf(dest, "%.*s%s", p-src, src, modify);
src+=p-src+org_len;
}
sprintf(dest, "%s", src);
}
int main(void){
char *src="abbc", *org="ab", *modify="xyz";
char dest[1024];
puts(src);
replace(dest, src, modify, org);
puts(dest);
return 0;
}
0045デフォルトの名無しさん
2008/06/09(月) 14:01:030046デフォルトの名無しさん
2008/06/09(月) 14:52:140047デフォルトの名無しさん
2008/06/09(月) 14:53:51ここも一緒に見てると、C言語に詳しい人があれこれ討論して
て知らないことも詳しくでてきたりするのでいいよ。
C言語なら俺に聞け(入門篇) Part 29
http://pc11.2ch.net/test/read.cgi/tech/1212329099/
0048デフォルトの名無しさん
2008/06/09(月) 15:22:34ありがとうございます。
あと、聞きたいのですが、xyzに置き換えるのはそのままでアルファベットを任意でprintf,scanfして行う場合は
どのようにプログラムを書いたらいいのでしょうか?
0049デフォルトの名無しさん
2008/06/09(月) 16:38:39[2] 問題文:
入力した文字からキャラクターを作成し、名前とパラメーターを表示。
入力した文字によってパラメーターが変化する。
例)・生命力 = 入力した文字コードの合計
・攻撃力 = 入力した偶数番目文字コードの合計
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名:VC++6.0
[3.3] 言語:C
[4] 期限:6月13日まで
[5] その他の制限:文字列操作を習ったばかりです。
例にある生命力、攻撃力の場合のプログラムをお願いします。
0050デフォルトの名無しさん
2008/06/09(月) 16:44:541+(1+2)+(1+2+3)+(1+2+3+・・・+n)
二重ループを用いて書いてください。
よろしくお願いします
0051デフォルトの名無しさん
2008/06/09(月) 16:46:22#include <stdio.h>
#include <string.h>
int main(void) {
char name[1024];
int code = 0;
int hp = 0, at = 0;
int i = 0;
gets(name);
for (i = 0; i < strlen(name); i++) {
code = name[i];
hp += code;
if (i % 2 == 0) {
at += code;
}
}
printf("名前:%s 生命力:%d 攻撃力:%d\n", name, hp, at);
return 0;
}
間違ってたら自分で治してね☆
0052デフォルトの名無しさん
2008/06/09(月) 17:15:12無事エラーも出ず、例のとおり実行できました。
ありがとうございます。
0053デフォルトの名無しさん
2008/06/09(月) 17:22:15#include <stdio.h>
int main(void)
{
int i, j, n, sum = 0;
scanf("%d", &n);
for(i=1; i<=3; i++) for(j=1; j<=i; j++) sum += j;
for(i=1; i<=n; i++) sum += i;
printf("%d", sum);
return 0;
}
0054デフォルトの名無しさん
2008/06/09(月) 17:33:091 + (1 + 2) + (1 + 2 + 3) + ・・・ + (1 + 2 + 3 + ・・・・ + n)
0055デフォルトの名無しさん
2008/06/09(月) 17:47:37[2] 問題文:
ノード数100、平均リンク数4の、 ランダムネットワークを生成。
各ノードには予め1or-1の値をランダムで割り振る。
このネットワーク全体の熱量を求めるプログラムを考えよ。
*注意1
Ni(ノードi)とNj(ノードj)、
熱量=Ni*Nj
上記の式を全リンクで計算し、結果を足し上げていく。
すなわち、接続しているノード同士が同じ値だと全体の熱量は増していく。
*注意2
ランダムネットワークとは、リンク数とリンク先がランダムに選択されたネットワークのことで、今回は分断されてないネットワークを利用すること。
[3] 環境
[3.1] 言語:C
[4] 期限:6月11日まで
以上、よろしくお願いします。
0056
2008/06/09(月) 19:31:20[1] 授業単元: c言語
[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6830.txt
[3] 環境
[3.1] OS:Windows vista
[3.2] コンパイラ名とバージョン:
[3.3] 言語: c
[4] 期限: ([yyyy年mm月dd日hh:mmまで] 今週中に
[5] その他の制限:問題文の部分に書いてます。
0057デフォルトの名無しさん
2008/06/09(月) 20:13:55int main(void){
int i=0;
int total=0;
int n=0;
scanf("%d",&n);
for(i=1;i<=n;i++){
total+=1+i*i/2;
}
return 0;
}
え?二重ループ?
無駄はない方がいいよ
0058デフォルトの名無しさん
2008/06/09(月) 20:18:12total+=(1+i)*i/2;
だね
ついでに
printf("%d",total);
も足しといて
0059デフォルトの名無しさん
2008/06/09(月) 20:26:210060デフォルトの名無しさん
2008/06/09(月) 20:53:40は壮大な釣りだよ。最密充填はそれほど簡単な問題ではない。
ここ数百年かけてかなり解けるようになってはいるけどね。
多数の数学者の頭脳を持ってしても手こずっている問題だと
推して知るべし。
006155
2008/06/09(月) 20:56:21再度お願いいたします。
[1] 授業単元:グラフ理論2
[2] 問題文:
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6843.txt
[3] 環境
[3.1] 言語:C
[4] 期限:6月11日まで
0062デフォルトの名無しさん
2008/06/09(月) 21:20:35そこまで大仰なものでもないだろ
0063デフォルトの名無しさん
2008/06/09(月) 21:24:520064デフォルトの名無しさん
2008/06/09(月) 21:28:25vistaでの日本語文字コードって何だっけ?
Shift-jis と仮定してよいなら、
int c;
while ((c = getchar()) != EOF) {
if (c & 0x80) {
putchar(c); c = getchar;
}
else if (islower(c)) c = toupper(c);
else if (isupper(c)) c = tolower(c);
putchar(c);
}
0065デフォルトの名無しさん
2008/06/09(月) 21:29:35最適解を求めることができればそれはとてもすごいことだということは
分かるが、自分の思いつく範囲で可能な限りたくさん、というのを
試しているのだと思うよ。
a b がともに2*cよりも大きい
→円は1個でき、(c*c*PI)*100/(a*b) パーセント
という、とても稚拙なものであっても、とりあえず要求は満たされてるんだよ
ということで、>>20にはがんばってもらいたい。
0066デフォルトの名無しさん
2008/06/09(月) 21:31:210067デフォルトの名無しさん
2008/06/09(月) 21:34:39Cプログラミング
[2] 問題文(含コード&リンク):()
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6846.txt
[3] 環境
[3.1] OS: (Windows/Linux/等々)
linux
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
gcc
[3.3] 言語: (C/C++/どちらでも可 のいずれか)
C
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
今日中
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
明日以降でも提出はできるのですが、一応期限は今日までなのでよろしくお願いします。
0068デフォルトの名無しさん
2008/06/09(月) 21:35:55たぶん前スレとかによく似たのがあるよ。
今日中ってのもアレな話だけど、がんばれ。
0069デフォルトの名無しさん
2008/06/09(月) 21:40:520070デフォルトの名無しさん
2008/06/09(月) 22:07:40ありがとうございます!
0071デフォルトの名無しさん
2008/06/09(月) 22:08:54Cプログラミング
[2] 問題文(含コード&リンク):()
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6847.txt
[3] 環境
[3.1] OS: (Windows/Linux/等々)
Windows
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
ChSciTE
[3.3] 言語: (C/C++/どちらでも可 のいずれか)
C
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
今日中
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
ファイル読み込み、書き込み
0072デフォルトの名無しさん
2008/06/09(月) 22:15:12前スレっていうと自分の頼んだ課題かもしれません。前スレでも依頼したので・・
長くて面倒そうだからやってもらえないのかもしれませんが、どうにかよろしくお願いします。。
0073デフォルトの名無しさん
2008/06/09(月) 22:32:55コンパイラはBorlandCでもいいです。
0074デフォルトの名無しさん
2008/06/09(月) 22:43:09http://pc11.2ch.net/test/read.cgi/tech/1211980711/866
この人?なら回答してくれてない?
既に依頼済みならあらためてアップロードしてる意味がちょっと
分からないです。しかも必要な内容削られてるし。。。なぜ。。
0075デフォルトの名無しさん
2008/06/09(月) 22:45:27その通りです。
1つ目の課題はやってもらったのですが、
もう一つの課題が残っていまして・・それが>>67なのです。。
007674
2008/06/09(月) 22:45:59例題のソースからもコメントがばっさり抜かれてるし、どういうことだろう。
007767
2008/06/09(月) 22:46:150078デフォルトの名無しさん
2008/06/09(月) 22:53:22何を削っていいか判断できるぐらいなら宿題も自分で解けるだろw
007967
2008/06/09(月) 22:58:26プログラミング上級者のここのスレの方達だと、例題のコメントや余計な制約は邪魔なだけかなと思って削らせていただきました。
何分実力不足なので、私自身の力では無理です。。力を貸して下さい
0080デフォルトの名無しさん
2008/06/09(月) 22:59:57[2]問題文
画面に「こんにちは」と表示して改行する、void hello(void)関数を作る。
[3-1]windows
[3-2]gcc
[3-3]C言語
[4]明後日まで。
よろしくお願いいたします。
0081デフォルトの名無しさん
2008/06/09(月) 23:01:19void hello(void)
{
printf("こんにちわ\n");
return;
}
0082デフォルトの名無しさん
2008/06/09(月) 23:04:05上級者(ってなんだ?)になればコメントが不要になるか?
→必要
制約を無視していいか?
→よくない
ということなんで、素直に
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6813.txt
の課題2をお願いしますって言っとけばよかったのに。
むやみにアップロードして資源を使うこともないよ。
0084デフォルトの名無しさん
2008/06/10(火) 00:31:55回答するつもりも無いならレスする必要(ry
こうですか?わかりません><
この言い方古いのかな
0085デフォルトの名無しさん
2008/06/10(火) 00:33:55っつーか2重ループの回答あがってるし、
どうでもいい
0087デフォルトの名無しさん
2008/06/10(火) 01:58:16どうせならこうするがね。
int main(void){
int n=0;
scanf("%d",&n);
printf("%d\n", n*(n+1)*(n+2)/6);
return 0;
}
0088デフォルトの名無しさん
2008/06/10(火) 02:01:110089デフォルトの名無しさん
2008/06/10(火) 02:09:47forkを使って、fork1.c fork2.cそれぞれから生成される実行体を
外部プロセスとして呼び出すのですか?
という意図の質問をしてしまったのであれば、前回の課題を実力で
解答したのではないことがばれたかと。
理解しなかったっしょ。もったいない。
0090デフォルトの名無しさん
2008/06/10(火) 02:42:29アフィン変換とかでぐぐってみればどうだろう。
0091デフォルトの名無しさん
2008/06/10(火) 03:28:18C言語入門
[2] 問題文(含コード&リンク):
二つの整数値を入力したら最大公約数を表示してくれるやつ作れ
[3] 環境
[3.1] OS:
windows
[3.2]
borland c++ 5.5.1
[3.3] 言語:
C
自分で作ってみたのですがうまく動きません
どこが間違ってるんでしょうか?
#include <stdio.h>
int main (void)
{
int x,y,z=0,i=1;
printf("二つの整数を「,」で区切って入力してください:");
scanf("%d,%d",&x,&y);
while(i==1){
if(x>y) z=x-y;
if(x<y) z=y-x;
else break;
}
printf("最大公約数は%d\n",z);
return 0;
}
0092デフォルトの名無しさん
2008/06/10(火) 03:50:48意味ないかもしれませんが
正解に近づいたかもしれないので貼ってみます
#include <stdio.h>
int main (void)
{
int x,y,a,b;
printf("二つの整数を「,」で区切って入力してください:");
scanf("%d,%d",&x,&y);
a=x;
b=y;
while(a!=b){
if(a>b) a=a-b;
if(a<b) a=b-a;
}
printf("%d%dの最大公約数は%d\n",x,y,a);
return 0;
}
0093デフォルトの名無しさん
2008/06/10(火) 03:52:44[1] 授業単元:
C言語
[2] 問題文(含コード&リンク):()
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6849.txt
[3] 環境
[3.1] OS: (Windows/Linux/等々)
Windows
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
Microsoft Visual Studio 2008
[3.3] 言語: (C/C++/どちらでも可 のいずれか)
C
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
明日
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
無し
お願いします。
0094デフォルトの名無しさん
2008/06/10(火) 04:12:00int main(void)
{
int i, j, count[11] = {0}, n;
while(1) {
scanf("%d", &n);
if(n==-1) break;
if(0<=n && n <= 100) count[n/10]++;
}
for(i=0; i<10; i++) {
printf("%3d -%3d %d人 ", i*10, i*10 + 9, count[i]);
for(j=0; j<count[i]; j++) putchar('*');
putchar('\n');
}
printf("100 %d人 ", count[10]);
for(j=0; j<count[10]; j++) putchar('*');
putchar('\n');
return 0;
}
0095デフォルトの名無しさん
2008/06/10(火) 04:16:28#include <stdio.h>
int main (void)
{
printf("二つの整数を「,」で区切って入力してください:");
scanf("%d,%d",&x,&y);
int a,i;
if (x>y) {
for (i=1;i<=y;i++) {
if (y%i == 0) {
if (x%i == 0) a = i;
}
}
} else {
for (i=1;i<=x;i++) {
if (x%i == 0) {
if (y%i == 0) a = i;
}
}
}
printf("%d%dの最大公約数は%d\n",x,y,a);
return 0;
}
0096デフォルトの名無しさん
2008/06/10(火) 04:19:57発展
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
int i, j, count[11] = {0}, n;
srand(time(NULL));
while(1) {
n = rand() % 102 - 1;
if(n==-1) break;
count[n/10]++;
}
for(i=0; i<10; i++) {
printf("%3d -%3d %3d人 ", i*10, i*10 + 9, count[i]);
for(j=0; j<count[i]; j++) putchar('*');
putchar('\n');
}
printf("100 %3d人 ", count[10]);
for(j=0; j<count[10]; j++) putchar('*');
putchar('\n');
return 0;
}
0097デフォルトの名無しさん
2008/06/10(火) 04:43:15ありがとうございます
0098デフォルトの名無しさん
2008/06/10(火) 04:55:23while(a > b) a -= b;
a = a + b;
b = a - b;
a = a - b;
}
0099デフォルトの名無しさん
2008/06/10(火) 04:56:26,で区切る意味が全く分からない
再帰を使わずに作ると
#include <stdio.h>
int gcd(int a, int b);
int main(void){
int x, y, z;
scanf("%d", &x);
scanf("%d", &y);
z = gcd(x, y);
printf("%d\n", z);
}
int gcd(int a, int b){
int c;
while (b > 0){
c = a % b;
a = b;
b = c;
}
return a;
}
010022
2008/06/10(火) 05:12:14いつでもいいので、どうかよろしくお願いします。
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6850.txt
0101デフォルトの名無しさん
2008/06/10(火) 05:43:56#include <sys/types.h>
#include <sys/wait.h>
#include <stdio.h>
#include <unistd.h>
int main(void) { pid_t c[2], p; int s;
switch (c[0] = fork()) { case -1: perror("fork"); break;
case 0: execlp("./fork1", "fork1", NULL); perror("fork1"); _exit(1); /* NOTREACHED */
default: break; }
switch (c[1] = fork()) { case -1: perror("fork"); break;
case 0: execlp("./fork2", "fork2", NULL); perror("fork2"); _exit(1); /* NOTREACHED */
default: break; }
while (c[0] != -1 || c[1] != -1) { int i;
if ((p=wait(&s)) == -1) { perror("wait"); break; }
else for (i = 0; i < 2; i++) if (p==c[i]) {
if (WIFEXITED(s)) printf("fork%c exit(%d)\n", i+1, WEXITSTATUS(s));
else if(WIFSIGNALED(s)) printf("fork%c killed(%d)\n", i+1, WTERMSIG(s));
c[i]=-1;break; }
if (i==2) {fprintf(stderr, "?\n"); break;}}
return 0; }
0102101
2008/06/10(火) 05:45:590103デフォルトの名無しさん
2008/06/10(火) 05:57:44ソースを貼るのには適さないんだし、行が多い場合はテキストファイルを
ここ用のロダにあげなよw
0104デフォルトの名無しさん
2008/06/10(火) 10:17:3615人分の学生を表示し、入力により内容を変動させる。
表示順番:出席表
<入力>学生番号0〜14
<入力>曜日番号0〜6
<入力>時限番号0〜3
<入力>出欠番号0〜1
<入力>学生番号0〜14の時に99を入力するとプログラム終了。
0105デフォルトの名無しさん
2008/06/10(火) 10:17:59#include <stdio.h>
int main()
{
int gakusei,youbi,jigen,syukketsu;
printf("学生Noを入力してください----");
scanf("%d", &gakusei);
printf("曜日番号を入力してください----");
scanf("%d", &youbi);
printf("時限番号を入力してください----");
scanf("%d", &jigen);
printf("出欠番号を入力してください----");
scanf("%d", &syukketsu);
if(gakusei=99){
printf("学生番号は99以外の数字を入力してください。\n");
}
if(gakusei>=0||gakusei<=14 || youbi>=0||youbi<=6 || jigen>=0||jigen<=3 || syukketsu>=0||syukketsu<=1){
printf("学生No%d\n",gakusei);
printf("月曜日\n");
printf("時限番号%d\n",jigen);
printf("出欠番号%d\n",syukketsu);
}else{
printf("エラーです\n");
}
return 0;
}
0106デフォルトの名無しさん
2008/06/10(火) 12:05:18forkしてexecか。なる。
出題者じゃないが勉強になった。
0107デフォルトの名無しさん
2008/06/10(火) 12:20:46小耳に挟んだ
ということと
勉強になったということは
根本的に違うということは区別しようね。
0108デフォルトの名無しさん
2008/06/10(火) 12:28:220109デフォルトの名無しさん
2008/06/10(火) 12:33:35TAB1個->全角スペース3個とかで置換かけてから投下しようよw
それがあれならアップローダーにあげるとかさ・・・
0110デフォルトの名無しさん
2008/06/10(火) 12:33:57円の中心に原点をおくと、格子点はi,jを整数として座標(i,j)で表される。(i,j)が円環に含まれる場合に1,含まれない場合に0を返却する関数
is_inrarge(double r, int i, int j)
を作成し、これを用いて、半径Rをキー入力することでn(R)を表示するプログラムを作成しなさい。
とのことなのでこれを踏まえてもう一度この問題の解答をお願いします。
0111デフォルトの名無しさん
2008/06/10(火) 12:53:24全角はねーよw
0112デフォルトの名無しさん
2008/06/10(火) 13:05:53[2] 問題文キーボードから2以上の整数を入力し、その数が素数であるかどうかを判断するコードを記述せよ。
ただし入力される数値が2以上でない場合、繰り返し入力を求めること。[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: (gcc 3.4 )
[3.3] 言語: C++
([[4] 期限:今日の5時mで
[5] その他の制限:なし
0113デフォルトの名無しさん
2008/06/10(火) 13:07:32#include <stdio.h>
int is_inrange(double r, int i, int j)
{
return r * r >= i * i + j * j;
}
int main(void)
{
int i, j, r, count = 0;
scanf("%d", &r);
for(i=-(r+1); i<=r+1; i++) {
for(j=-(r+1); j<=r+1; j++) {
if(is_inrange(r+1, i, j)&&!is_inrange(r, i, j)) count++;
}
}
printf("%d", count);
return 0;
}
0114デフォルトの名無しさん
2008/06/10(火) 13:08:44出した講師か教師が糞
2^2^1024-1が素数かも判定しなきゃならなくなる罠
0115ルート
2008/06/10(火) 13:11:11[2] 問題文(含コード&リンク): 【課題】
BMPファイルを読み込み、以下の処理を行って下さい。
�@2値化(白黒画像) 閾値は指定できること
�Aディザ法による2値化
�B誤差拡散法による2値化
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: VC++
[3.3] 言語: C
[4] 期限: 〜6月13日0:00
[5] その他の制限: 無い
0116デフォルトの名無しさん
2008/06/10(火) 13:12:25と思うような出題内容が多いよな。
まあIT業界は悲惨なので学生時代に嫌いにさせておいて
就職口から外す講師の親心なのかもしれないけどw
ってそれはねーかw
0117デフォルトの名無しさん
2008/06/10(火) 13:18:150118デフォルトの名無しさん
2008/06/10(火) 13:19:34[1] 授業単元: C++
[2] 問題文 キーボードから2以上の整数を入力し、その数が素数であるかどうかを判断するコードを記述せよ。
ただし入力される数値が2以上でない場合、繰り返し入力を求めること。
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: gcc 3.4
[3.3] 言語: C++
[4] 期限: 6月10日
[5] その他の制限: なし
�A
[1] 授業単元: C++
[2] 問題文 直角三角形の表示を行うフローチャートは左下が直角の直角三角形を表示するプログラムであった。直角が左上側、右上側、右下側の三角形を表示するプログラムをそれぞれ作成せよ。
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: gcc 3.4
[3.3] 言語: C++
[4] 期限: 6月17日
[5] その他の制限: なし
お願いします。
0119デフォルトの名無しさん
2008/06/10(火) 13:24:220120デフォルトの名無しさん
2008/06/10(火) 13:24:34#include <iostream>
int main(void)
{
int n, flag = 1;
do {
std::cout << "2以上の整数を入力してください:";
std::cin >> n;
}while(n < 2);
for(int i = 2; i*i<=n; i+=2) {
if(n % i == 0) {
flag = 0;
break;
}
}
std::cout << n << "は素数" << (flag ? "です" : "ではありません") << std::endl;
}
0121デフォルトの名無しさん
2008/06/10(火) 13:32:0115は素数です
0122デフォルトの名無しさん
2008/06/10(火) 13:32:56i+=2 → i++
0123デフォルトの名無しさん
2008/06/10(火) 13:33:47#include <iostream>
int main()
{
int i, j, n;
std::cin >> n;
//左上
for(i=n; i>0; i--) {
for(j=i; j>0; j--) std::cout << '*';
std::cout << std::endl;
}
//右下
for(i = 0; i<n; i++) {
for(j=1; j < n - i; j++) std::cout << ' ';
for(j=0; j<=i; j++) std::cout << '*';
std::cout << std::endl;
}
//右上
for(i=0; i<n; i++) {
for(j=0; j<i; j++) std::cout << ' ';
for(j=n; j>i; j--) std::cout << '*';
std::cout << std::endl;
}
}
0124デフォルトの名無しさん
2008/06/10(火) 13:44:202は素数ではありません
0125デフォルトの名無しさん
2008/06/10(火) 13:50:00バカ発見
0126デフォルトの名無しさん
2008/06/10(火) 14:02:11[2] 問題文(含コード&リンク)課題:ファイル"test.txt"から文字列を読み込み、並びを逆にしてファイル"sample.txt"に出力するプログラムを作成せよ。
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン:Microsoft Visual Studio 2005
[3.3] 言語: C
[4] 期限: 〜6月11日11:00
[5] その他の制限: ポインタを使う
0128デフォルトの名無しさん
2008/06/10(火) 14:15:28#include <stdio.h>
void f(FILE *in, FILE *out)
{
int ch = fgetc(in);
if(ch==EOF) return;
f(in, out);
fputc(ch, out);
}
int main(void)
{
FILE *f_in, *f_out;
if((f_in=fopen("test.txt", "r"))==NULL) return 0;
if((f_out=fopen("sample.txt", "w"))==NULL) return 0;
f(f_in, f_out);
fclose(f_in);
fclose(f_out);
return 0;
}
0129デフォルトの名無しさん
2008/06/10(火) 14:31:41正しく実行できません。
0130デフォルトの名無しさん
2008/06/10(火) 14:37:33int main(void) {
FILE* in;
FILE* out;
int c;
char ss[1024];
int i = 0;
in = fopen("test.txt", "r");
if (in == NULL) {
return -1;
}
out = fopen("sample.txt", "w");
if (out == NULL) {
return -1;
}
while ((c = fgetc(in)) != EOF) {
ss[i] = c;
i++;
}
ss[i] = '\0';
i--;
while (i >= 0) {
fputc(ss[i], out);
i--;
}
fclose(in);
fclose(out);
return 0;
}
適当すぎたorz
0131130
2008/06/10(火) 14:39:26結構、初心者向けに書いたつもりなので
013220
2008/06/10(火) 15:38:13int pattern1(double a, double b, double c){
int x, y;
y=(a-2*c)/(sqrt(3.)*c)+1;
x=b/(2*c);
return x*y-((b-x*2*c<c)?y/2:0);;
}
すみませんがここの処理が何をやってるのかわからないのですが
説明していただけませんか?
0133デフォルトの名無しさん
2008/06/10(火) 15:38:36Cプログラミング
[2] 問題文(含コード&リンク):()
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6813.txt
の課題2をお願いします
[3] 環境
[3.1] OS: (Windows/Linux/等々)
linux
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
gcc
[3.3] 言語: (C/C++/どちらでも可 のいずれか)
C
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
明後日
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
特にありません
0134デフォルトの名無しさん
2008/06/10(火) 15:41:55[2] 問題文(含コード&リンク):小さい順の友愛数ペア10組を探し出すプログラムをつくれ。
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:VC 6.0
[3.3] 言語:C++
[4] 期限:2008年6月17日14:40まで
[5] その他の制限:for,while,if文ぐらいしか習ってません。
main関数のみでお願いします。
参考プログラム:約数の和の計算
#include <stdio.h>
void main()
{
int m; /* 整数 */
int n; /* 1〜m まで繰り返す */
int s; /* 約数の和(累計) */
scanf("%d", &m); /* キーボードから整数を読み込む */
s = 0; /* s の内容をクリア */
for (n = 1; n <= m; n++) { /* 1〜m まで繰り返す */
if (m % n == 0) /* 約数の判定 */
s += n; /* 約数であれば s に足す */
}
printf("整数%dの約数の和は%dです。\n", m, s); /* 約数の和の画面表示 */
}
よろしくお願いします。
0135デフォルトの名無しさん
2008/06/10(火) 15:48:26[2] 問題文次々に入力される値を合計する処理である。
変数dtにデータを入力する処理を繰り返し行い、
入力終了後その合計sumと平均aveを出力する。
なお、入力データは正の整数とし、
入力するデータがなくなったら、
終わりの印として負の値を入力する。
【ヒント】
平均の計算は、合計÷入力回数。
入力回数も変数を用意して数える。
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: (gcc 3.4 )
[3.3] 言語: (C++)
[4] 期限: ([2008年06月24日午後5時までまで] )
[5] その他の制限:なし
0137デフォルトの名無しさん
2008/06/10(火) 16:02:34[2] 問題文 次の処理を行うプログラムを作成しなさい。
キーボードから入力した2進数を
10進数に変換して出力する。
ただし,入力が2進数でなかった場合
エラーメッセージを出力して最初からやりなおす。
【実行例】
2進数を入力してください 10101
21
2進数を入力してください 12345
エラー(2進数ではありません)
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: (gcc 3.4 )
[3.3] 言語: (C++)
[4] 期限: ([2008年06月24日午後5時までまで] )
[5] その他の制限:なし
お願いします
0139デフォルトの名無しさん
2008/06/10(火) 16:18:36#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void) {
char input[1024];
int temp = 0;
int dt = 0;
int count = 0;
gets(input);
while ((temp = atoi(input)) >= 0) {
count++;
dt += temp;
gets(input);
}
printf("合計:%d\n", dt);
printf("平均:%d\n", dt / count);
return 0;
}
0140デフォルトの名無しさん
2008/06/10(火) 17:26:47[2]以下のようなstudent構造体の配列をプログラム内に定義しておく。
struct student{
int num;
char name[20];
int score;
};
struct student St[]={{3, "鈴木三郎", 86}, {1, "山田一郎", 75}, {14, "高橋十四子", 93}, {2, "田中二子", 68}};
このデータをfprintf()を用いてファイルに出力するプログラムを作成せよ。またcatコマンドなどにより出力し、内容が正しいことを確認せよ。
[3]OS Linux
言語 C
[4]10日18時
[5]なし
おねがいします。
0141デフォルトの名無しさん
2008/06/10(火) 17:33:54#include <stdio.h>
int f(int n)
{
int i, s = 0;
for(i=1; i<=n/2; i++) if(n % i == 0) s += i;
return s;
}
int main(void)
{
int i, j, cnt = 0;
for(i=1; cnt < 10; i++) {
j = f(i);
if(j > i && i == f(j)) {
printf("%d, %d\n", i, j);
cnt++;
}
}
return 0;
}
0142デフォルトの名無しさん
2008/06/10(火) 17:43:09#include <iostream>
using namespace std;
int main()
{
int i, n = 0;
char buff[256], *p;
while(1) {
cout << "2進数を入力してください ";
cin >> buff;
for(p=buff; *p; p++) if(*p!='0' && *p!='1') break;
if(!*p) break;
cout << "エラー(2進数ではありません)" << endl;
}
for(p=buff; *p; p++) n = n * 2 + *p - '0';
cout << n << endl;
}
0143デフォルトの名無しさん
2008/06/10(火) 17:44:02struct student {
int num;
char name[20];
int score;
};
int main(void) {
FILE* fp = fopen("aaa.txt", "w");
int i = 0;
struct student St[]={{3, "鈴木三郎", 86}, {1, "山田一郎", 75}, {14, "高橋十四子", 93}, {2, "田中二子", 68}};
struct student st;
if (fp == NULL) {
return -1;
}
for (; i < 4; i++) {
strcpy(st.name, St[i].name);
st.num = St[i].num;
st.score = St[i].score;
fprintf(fp, "番号:%d 氏名:%s スコア:%d\n", st.num, st.name, st.score);
}
fclose(fp);
return 0;
}
Cで動くかしらんけど。
0144デフォルトの名無しさん
2008/06/10(火) 17:44:25一応動くけど初心者なので責任は取れない
暇な人は添削を m( __ __ )m
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6851.txt
0145デフォルトの名無しさん
2008/06/10(火) 17:50:27ま、いっか。
それくらい自分でなんとなしてくれ。
0146デフォルトの名無しさん
2008/06/10(火) 18:15:56main関数のみでお願いします。
せっかくやってもらった立場でそうと言いにくい
>>134に代わって御願いします
0147デフォルトの名無しさん
2008/06/10(火) 18:40:06ほんとありがたいです。ありがとうございました!
0148デフォルトの名無しさん
2008/06/10(火) 19:11:37#include <stdio.h>
int main(void)
{
int i, j, cnt = 0, m, n;
for(i=1; cnt < 10; i++) {
n = 0;
for(j=1; j<=i/2; j++) if(i % j == 0) n += j;
if(n > i) {
m = 0;
for(j=1; j<=n/2; j++) if(n%j ==0) m += j;
if(m == i) {
cnt++;
printf("%d, %d\n", i, n);
}
}
}
return 0;
}
0149デフォルトの名無しさん
2008/06/10(火) 19:34:18ありがとうございます
0150デフォルトの名無しさん
2008/06/10(火) 19:44:13[2] 問題文(含コード&リンク):
1.2の補数を用いて負の数も扱えるように拡張せよ.
2.2つの2進数の差を求めるプログラムを作成せよ.
3.任意の(変数や定数で指定した)桁数の2進数を扱えるようにせよ.
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:VC 6.0
[3.3] 言語:C++
[4] 期限:2008年06月11日まで
[5] その他の制限:このプログラムを基にお願いします。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/clip.gif
0151デフォルトの名無しさん
2008/06/10(火) 19:44:42ワロタw
0152デフォルトの名無しさん
2008/06/10(火) 19:45:31[2] 問題文(含コード&リンク):
1.2の補数を用いて負の数も扱えるように拡張せよ.
2.2つの2進数の差を求めるプログラムを作成せよ.
3.任意の(変数や定数で指定した)桁数の2進数を扱えるようにせよ.
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:VC 6.0
[3.3] 言語:C++
[4] 期限:2008年06月11日まで
[5] その他の制限:このプログラムを基にお願いします。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6853.txt
0153デフォルトの名無しさん
2008/06/10(火) 19:45:350154デフォルトの名無しさん
2008/06/10(火) 19:49:42[2]問題文
警報をno回鳴らす関数void alart(int no)をメイン文も含め作る。
[3-1]windows
[3-2]gcc
[3-3]C言語
[4]明後日まで。
よろしくお願いいたします。
0156Ctrl+Gがどうしようもないや
2008/06/10(火) 20:16:15int main(void){
int no=0;
alart(no);
return 0;
}
void alart(int no){
if(no);
system("echo 数字を入力してください");
system("set /p no=");
system("for /l in (1,1,%no%) do echo ^G");
system("set no=");
}
0157デフォルトの名無しさん
2008/06/10(火) 20:31:48[2] 問題: http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6854.txt
[3.1] OS: WindowsXp
[3.2] コンパイラ名とバージョン:visualstdio 2008
[3.3] 言語:C++
[4] 期限:6月13日
[5] その他の制限:なし。
よろしくお願いします.
0158scanfの戻り値に自信なし
2008/06/10(火) 20:47:52#include <stdio.h>
void alart(int no);
int main(void){
int ret=0;
int no=0;
printf("数字を入力して下さい");
scanf("%d",&no);
if(ret){
puts("数字っつったろぼけ");
return 1;
}
alart(no);
return 0;
}
void alart(int no){
int i=0;
for(i=0;i<no;i++){
printf("\a");
}
}
0159デフォルトの名無しさん
2008/06/10(火) 20:51:190160デフォルトの名無しさん
2008/06/10(火) 20:52:08分かります
0161デフォルトの名無しさん
2008/06/10(火) 20:54:170163デフォルトの名無しさん
2008/06/10(火) 20:58:430164デフォルトの名無しさん
2008/06/10(火) 21:01:180165デフォルトの名無しさん
2008/06/10(火) 21:07:16[2] 問題文(含コード&リンク)課題:
ファイル"test.txt"から文字列を読み込み、並びを逆にしてファイル"sample.txt"に出力するプログラムを作成せよ。
[3] 環境
コンパイラ名とバージョン:Microsoft Visual Studio 2005
言語: C
[4] 期限: 〜6月11日
[5] その他の制限: ポインタを使う
0166デフォルトの名無しさん
2008/06/10(火) 21:08:22ファイルポインタじゃ、ダメだった?
0167デフォルトの名無しさん
2008/06/10(火) 21:11:41といてもらって、お礼もいわんとは
0168デフォルトの名無しさん
2008/06/10(火) 21:14:55あえて言おう
ここは2ちゃんねる
久しぶりに言った
0169デフォルトの名無しさん
2008/06/10(火) 21:16:33前回依頼時へのポインタを示してくれればそこからいろいろたどれるのに。
具体的には>>165が>>126へ貼ってくれさえいればダメだったらしい
回答であるところの>>130がすぐ見れたわけだ。
もう少し考えていただければと思う。
0170デフォルトの名無しさん
2008/06/10(火) 21:17:150171デフォルトの名無しさん
2008/06/10(火) 21:17:53ファイルポインタは大丈夫みたいなんですが、
while ((c = getc(in)) != EOF)
などが上手く動作しないみたいで困ってます。
0172デフォルトの名無しさん
2008/06/10(火) 21:19:45>while ((c = getc(in)) != EOF)
~~~~~
fgetcじゃなくて?
0173デフォルトの名無しさん
2008/06/10(火) 21:19:54次からそうします。
失礼しました。
0174デフォルトの名無しさん
2008/06/10(火) 21:20:100175デフォルトの名無しさん
2008/06/10(火) 21:26:29fgetcです。
文字列の書き込みや出力の部分がとんで動作しているみたぃです。
0176デフォルトの名無しさん
2008/06/10(火) 21:33:15気づけば大元のソースが見る影もなくなっていた
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6855.cpp
0177デフォルトの名無しさん
2008/06/10(火) 21:33:340178157
2008/06/10(火) 21:37:51ありがとうございます。
0179デフォルトの名無しさん
2008/06/10(火) 22:02:06[2] 問題文(含コード&リンク):()
文字列を逆向きに表示する関数void printrev(char[]);を定義せよ.テキストファイルの最初の1行を逆向きにして表示するプログラムを作成せよ.
出力例:
bash-3.2$ ./rev1 < rev1.c
>h.oidts< edulcni#
ヒント:
・文字列を逆向きに表示する関数を定義する
・繰り返し文 while ((c = getchar()) != EOF) {...} で,改行記号まで配列に文字を順番に代入する
・改行記号が来たら break
・できあがった文字の配列に終端文字\0を入れて文字列にする
・文字列を逆向きに表示する関数を使って表示する
[3] 環境
[3.1] OS:Linux
[3.2] gcc (すみません、詳しいことはよくわかりません;)
[3.3] C言語
[4] 期限:前期中
[5] その他の制限:なし。
よろしくお願いします。
0180デフォルトの名無しさん
2008/06/10(火) 22:27:58バナーならなんとかできるか?
0181デフォルトの名無しさん
2008/06/10(火) 22:35:56#include <string.h>
int main(void) {
int i, j;
char buf[81], *p;
fgets(buf, sizeof buf, stdin);
if (p = index(buf, '\n')) *p = '\0';
for (i = 0, j = strlen(buf) - 1; i < j; i++, j--) {
int t;
t = buf[i]; buf[i] = buf[j]; buf[j] = t;
}
fputs(buf, stdout);
fputs("\n", stdout);
return 0;
}
0182デフォルトの名無しさん
2008/06/10(火) 22:38:480183デフォルトの名無しさん
2008/06/10(火) 22:42:060184デフォルトの名無しさん
2008/06/10(火) 22:44:22>>180
>>174
>>167
こいつバカじゃね?いい加減うぜぇな。無駄口叩く奴って
本当に役に立たないクズだよなw
0185デフォルトの名無しさん
2008/06/10(火) 22:45:19おまえもな
0186デフォルトの名無しさん
2008/06/10(火) 22:45:370187181
2008/06/10(火) 22:48:410188デフォルトの名無しさん
2008/06/10(火) 23:02:10はぁ?バカは四の五の言ってねーでソース書けよw
そのレスに反論するのは、指摘された本人だろ?
他は黙ってソース書いてんだよ、ボケが
0189デフォルトの名無しさん
2008/06/10(火) 23:03:20>>160
これもうぜーなぁ。バカは口閉じてろよ、あっキーボードを打つ指を
休めているか、タイピングできないように切断しとけば?w
0190デフォルトの名無しさん
2008/06/10(火) 23:10:10おまいさんが酉つけてガンガン回答してくれたら納得しとくわ。
0191デフォルトの名無しさん
2008/06/10(火) 23:17:36僕ちゃんは、宿題を教えてもらえなかったのかな?
0192デフォルトの名無しさん
2008/06/10(火) 23:26:47あるわけだが、それはそれでちょっとやだなあ
0193デフォルトの名無しさん
2008/06/10(火) 23:57:390194デフォルトの名無しさん
2008/06/11(水) 00:09:45#include <stdio.h>
void printrev(char str[])
{
char *p = str;
while(*p) p++;
while(p-- > str) putchar(*p);
}
int main(void)
{
int i = 0, c;
char str[256];
while((c = getchar())!=EOF) {
str[i++] = c;
if(c=='\n') break;
}
str[i] = '\0';
printrev(str);
return 0;
}
0195デフォルトの名無しさん
2008/06/11(水) 00:30:24の問題を教えてください
0196デフォルトの名無しさん
2008/06/11(水) 00:32:41そんなこと関係なくウザイ奴は一生ウザイ。
言動や行動に性格、人間性が露呈していることに気づかず
指摘されると指摘してきた奴を執拗に罵倒して自分を正当化できると
勘違いしているから、その他の周りからも嫌われているって気づいてないんだよ
0197デフォルトの名無しさん
2008/06/11(水) 00:39:56自己紹介乙w
0198179
2008/06/11(水) 00:42:39回答ありがとうございます!
ただ、
7行目の while(p-- > str)
13行目の char str[256];
の意味がよくわからないのですが、よかったら説明いただけないでしょうか。
0199デフォルトの名無しさん
2008/06/11(水) 00:44:04128や130のどこが気に入らないのか具体的に。
もしかして一行文字列読み込む度にそれを逆順にするとか?
0200デフォルトの名無しさん
2008/06/11(水) 00:47:49[2]問題文・コード
リンク http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.cgi
[3] 環境
[3.1] OS: Windows vista
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語:C
[4] 期限: 2008年6月12日14:30まで
[5] その他の制限:標準ライブラリに関しての制限はありませんが、一応malloc以外は使わない方針です。一方向連結リストの削除、挿入がこの単元の狙いなので双方向リストは使えません。
よろしくお願いします。
0201デフォルトの名無しさん
2008/06/11(水) 00:50:50char str[256]は単に配列。
strは変数名で特別な意味があるわけじゃない。
while(p-- > str) は
while(p > str) {
p--;
と同じこと。
pは最初文字列終端の'\0'のアドレスになってるからそこから一文字分前に移動する。
そこから順番に一文字ずつ前に移動して表示、
最後はp[0](元の文字列の先頭)を表示してループから抜ける。
0202デフォルトの名無しさん
2008/06/11(水) 00:57:57すいません少し待ってください。
0203200
2008/06/11(水) 00:58:35http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6857.txt
0204デフォルトの名無しさん
2008/06/11(水) 00:58:43コテや酉つきの回答者のウザさは異常
↑いちいち自分の不満をたらたら漏らす、場違い野郎がうざいんだが。
自己紹介って返す奴は、自分の素性をどんぴしゃで当てられて
必死になっているのを隠さずにはいられないくらい動揺している証拠。
0205デフォルトの名無しさん
2008/06/11(水) 00:59:04#include<stdio.h>
#include<stdlib.h>
#define SRC_FILE "test.txt"
#define DST_FILE "sample.txt"
int main()
{
FILE *fs, *fd;
long size, i;
char *buf;
if((fs = fopen(SRC_FILE, "r")) == NULL) {
perror(SRC_FILE);
return 1;
}
if((fd = fopen(DST_FILE, "w")) == NULL) {
fclose(fs);
perror(DST_FILE);
return 1;
}
fseek(fs, 0, SEEK_END);
size = ftell(fs);
fseek(fs, 0, SEEK_SET);
buf = malloc(size);
size = fread(buf, 1, size, fs);
for(i = size - 1; i >= 0; i --)
fputc(buf[i], fd);
free(buf);
fclose(fd);
fclose(fs);
return 0;
}
0206デフォルトの名無しさん
2008/06/11(水) 01:47:30GJ。ちと自分なりに突っ込み。
int main(void)
fseek(fs, 0L, SEEK_END); < 特に必要ないがlong型ということで
fseek(fs, 0L, SEEK_SET); < 0ではあるが後ろにLを
buf = (char*)malloc(size * sizeof(char)); < キャストと念のために型のサイズを
余談だが、1文字2バイトの全角文字には非対応やね。質問者はどこまで
要求しているのかはっきりせぬが。
0207デフォルトの名無しさん
2008/06/11(水) 01:49:240209デフォルトの名無しさん
2008/06/11(水) 02:10:22知ったか無知を露呈しなくて良いぞ、ろくにソースも書かずに
無駄口を叩くバカは。ちなみに、蛇足でもないから。
たまたま問題の無い例を用いて否定すると、墓穴掘るぞ。
0210デフォルトの名無しさん
2008/06/11(水) 02:27:280211デフォルトの名無しさん
2008/06/11(水) 02:46:39バイナリファイルとしての逆順とはやはり微妙に違うよな
元ファイルの最初の行が改行されてると、出力ファイルは先頭が空行になるのは何だかな....で、ちょっと書いてみた
ygguB .kcehC rorrE oN tfarD//
srotcarahc 5904 revo erom evah ton od "txt.tset" fo senil hcae demussA//
>h.oidts< edulcni#
{)(niam tni
;s*,]6904[fub rahc;tuo*,ni* ELIF
;)"w","txt.elpmas"(nepof=tuo;)"r" ,"txt.tset" (nepof=ni
;0=]0[fub
{))ni(foef!(elihw
{) )ni,5904,]1[fub&)*rahc((stegf=s (fi
{)s*(elihw
;kaerb) )31==s*(||)01==s*( (fi
;++s
}
;--s)s*(fi
};))--s(*,"c%",tuo(ftnirpf{)s*(elihw
;)"n¥",tuo(ftnirpf
esle}
;kaerb
}
;)tuo(esolcf;)ni(esolcf
;0 nruter
}
0212デフォルトの名無しさん
2008/06/11(水) 02:47:43動いているものには触るなっていうタイプですか?
リファクタリングとか理解できない人に多いよね。
0213デフォルトの名無しさん
2008/06/11(水) 03:18:40sizeof(char)が必ず1でも、省略すべきではない
http://pc11.2ch.net/test/read.cgi/tech/1187521586/
ぜひ止まったこのスレを盛り上げてくれw
0214デフォルトの名無しさん
2008/06/11(水) 05:25:00[2] 問題文(含コード&リンク):
1!〜53!の階乗値を右揃えで出力せよ。
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 明日正午まで
[5] その他の制限: 各機能(計算処理や出力等)毎に関数に分ける事。
助けてください。お願いします。
0215デフォルトの名無しさん
2008/06/11(水) 05:40:49ほらよ。どうやれば省略しているところを作れるかは自分で考えな。
#include <stdio.h>
char *f[] = {
"1",
"2",
"6",
/* 47 行省略 */
"1551118753287382280224243016469303211063259720016986112000000000000",
"80658175170943878571660636856403766975289505440883277824000000000000",
"4274883284060025564298013753389399649690343788366813724672000000000000",
};
int
main()
{
int i;
for (i = 0; i < 53; i++) {
printf("%70s\n", f[i]);
}
return 0;
}
0216デフォルトの名無しさん
2008/06/11(水) 05:59:16ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6858.txt
0217デフォルトの名無しさん
2008/06/11(水) 07:09:270218デフォルトの名無しさん
2008/06/11(水) 07:39:51#include <stdio.h>
int main(void)
{
int i, j, figure = 0, fac[53][128] = {0};
fac[0][0] = 1;
for(i=1; i<53; i++) {
for(j=0; j<=figure; j++) {
fac[i][j] += fac[i-1][j] * (i + 1);
if(fac[i][j] >= 10) {
fac[i][j+1] += fac[i][j] / 10;
fac[i][j] %= 10;
if(j==figure) figure++;
}
}
}
for(i=0; i<53; i++) {
for(j=figure; fac[i][j]==0; j--) putchar(' ');
for(; j>=0; j--) printf("%d", fac[i][j]);
putchar('\n');
}
return 0;
}
0220デフォルトの名無しさん
2008/06/11(水) 10:35:07[2] 問題文(含コード&リンク):
3より大きく、入力された上限の数未満の全ての自然数かつ非素数について、3で割り切れるものは無視し、3で割った余りが1のものは加算し、余りが2のものは減算して合計を求めよ
次のように表示する. Input Upper Limit: 11 [Enter]
Answer is: 6
[3] 環境
[3.1] OS: Windows Vista
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 明日の正午まで
[5] その他の制限:特になし
お願いします><
0221デフォルトの名無しさん
2008/06/11(水) 13:28:31[2]
#include <stdio.h>
int main(void)
{
FILE *file;
file = fopen("test.txt","w");
fclose(file);
return 0;
}
このプログラムを実行すると、test.txtという名前のファイルが作成される。
では、text.txtはどこに作成されるか答えよ。
[3-1]windows
[3-2]gcc
[3-3]C言語
[4]今日中
[5]結構ユーモラスで意地悪な問題が好きな先生なので
何かしらのひっかけがあるかもしれません
よろしくお願いします
0222デフォルトの名無しさん
2008/06/11(水) 13:28:562値化
http://hooktail.org/computer/index.php?%A3%B2%C3%CD%B2%BD%A4%F2%A4%B7%A4%C6%A4%DF%A4%EB
ディザ法
http://hooktail.org/computer/index.php?%A5%CF%A1%BC%A5%D5%A5%C8%A1%BC%A5%F3%BD%E8%CD%FD%28%A5%C7%A5%A3%A5%B6%CB%A1%29
誤差拡散法
http://hooktail.org/computer/index.php?%A5%CF%A1%BC%A5%D5%A5%C8%A1%BC%A5%F3%BD%E8%CD%FD%28%B8%ED%BA%B9%B3%C8%BB%B6%CB%A1%29
ソースもついてる
0224デフォルトの名無しさん
2008/06/11(水) 14:38:06[2] test.txtから文字列を読み込み、
大文字だけを画面に表示するプログラムを作成せよ。
[3]
[3.1] Windows
[3.2] cisual stadio .NET2003
[3.3] 言語:C
[4] 期限:今日中
全くの初心者なので、なるべく簡単なコードで
お願いします。
0225デフォルトの名無しさん
2008/06/11(水) 15:08:07#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i, j, n, sum = 0;
char *sieve;
printf("Input Upper Limit:");
scanf("%d", &n);
sieve = malloc(sizeof(int) * n);
for(i=0; i<n; i++) sieve[i] = 0;
for(i=4; i<n; i+=2) sieve[i] = 1;
for(i=3; i * i <= n; i+=2) {
if(!sieve[i]) {
for(j=i*i; j<n; j+=i) sieve[j] = 1;
}
}
for(i=4; i<n; i+=3) if(sieve[i]) sum += i;
for(i=5; i<n; i+=3) if(sieve[i]) sum -= i;
printf("Answer is : %d\n", sum);
free(sieve);
return 0;
}
0226デフォルトの名無しさん
2008/06/11(水) 15:11:50#include <stdio.h>
int main(void)
{
int ch;
FILE *fp;
if((fp=fopen("test.txt", "r"))==NULL) return 0;
while((ch=fgetc(fp))!=EOF) if('A'<=ch && ch <='Z') putchar(ch);
fclose(fp);
return 0;
}
0227デフォルトの名無しさん
2008/06/11(水) 15:14:02カレントディレクトリ
0228デフォルトの名無しさん
2008/06/11(水) 15:47:47締め切り近いのでもう一度張らしてもらいました。
すみませんが、よろしくお願いします。
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
1.2の補数を用いて負の数も扱えるように拡張せよ.
2.2つの2進数の差を求めるプログラムを作成せよ.
3.任意の(変数や定数で指定した)桁数の2進数を扱えるようにせよ.
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:VC 6.0
[3.3] 言語:C++
[4] 期限:2008年06月11日まで
[5] その他の制限:このプログラムを基にお願いします。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6853.txt
0229224です
2008/06/11(水) 16:00:00ありがとうございます
0230デフォルトの名無しさん
2008/06/11(水) 16:32:44[2] 問題文(含コード&リンク):
次のプログラムは整数x,yを読み込み、その
和、差、積、商、剰余を出力するプログラム
である。このプログラムでは共通変数を用い
関数間の値の受渡しをしているが、これを全
て引数で値の受渡しをするように変更せよ。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6860.txt
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:2008年06月11日まで
[5] その他の制限:このプログラムを基にお願いします。
よろしくお願いします
0231デフォルトの名無しさん
2008/06/11(水) 16:42:47[1] 授業単元:C言語演習1
[2] 問題文
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6859.txt
上記をもとに親プロセスがキーボードから入力した行をパイプで
子プロセスに標準出力ファイルとして送り、子プロセスは標準入力から受けとってスクリーンに
エコーバックするようなプログラムを作れ。
ヒント:dup2(fd[1],fileno(stdout)), fgets(line, MAXLINE, stdin), fputs(....)
(親) (子)
キーボード-->| stdin stdout| ---> |stdin stdout|---->ディスプレ
[3] 環境
[3.1] OS: (Linux)
[3.2] コンパイラ名とバージョン: (gcc )
[3.3] 言語: (C言語)
[4] 期限: (6月16日)
[5] その他の制限:上記のURLのプログラムを元によろしくお願いします。
よろしくおねがいします
0232デフォルトの名無しさん
2008/06/11(水) 17:22:25#include <stdio.h>
void readdata(int *x, int *y) {
printf("input integers (x y): ");
scanf("%d%d", x, y);
}
void calculate(int x, int y, int *wa, int *sa, int *seki, int *sho, int *joyo)
{
*wa = x + y;
*sa = x - y;
*seki = x * y;
*sho = x / y;
*joyo = x % y;
}
void printresult(int x, int y, int wa, int sa, int seki, int sho, int joyo) {
printf("%d + %d = %d\n", x, y, wa);
printf("%d - %d = %d\n", x, y, sa);
printf("%d * %d = %d\n", x, y, seki);
printf("%d / %d = %d\n", x, y, sho);
printf("%d %% %d = %d\n", x, y, joyo); /* '%'の出力*/
}
int main(void)
{
int x, y, wa, sa, seki, sho, joyo;
readdata(&x, &y);
calculate(x, y, &wa, &sa, &seki, &sho, &joyo);
printresult(x, y, wa, sa, seki, sho, joyo);
return 0;
}
0233デフォルトの名無しさん
2008/06/11(水) 17:38:15>h.oidts< edulcni#
{ )y* tni ,x* tni(ataddaer diov
;)" :)y x( sregetni tupni"(ftnirp
;)y ,x ,"d%d%"(fnacs
}
)oyoj* tni ,ohs* tni ,ikes* tni ,as* tni ,aw* tni ,y tni ,x tni(etaluclac diov
{
;y + x = aw*
;y - x = as*
;y * x = ikes*
;y / x = ohs*
;y % x = oyoj*
}
{ )oyoj tni ,ohs tni ,ikes tni ,as tni ,aw tni ,y tni ,x tni(tlusertnirp diov
;)aw ,y ,x ,"n¥d% = d% + d%"(ftnirp
;)as ,y ,x ,"n¥d% = d% - d%"(ftnirp
;)ikes ,y ,x ,"n¥d% = d% * d%"(ftnirp
;)ohs ,y ,x ,"n¥d% = d% / d%"(ftnirp
/*ヘ熔称〓'%' */ ;)oyoj ,y ,x ,"n¥d% = d% %% d%"(ftnirp
}
)diov(niam tni
{
;oyoj ,ohs ,ikes ,as ,aw ,y ,x tni
;)y& ,x&(ataddaer
;)oyoj& ,ohs& ,ikes& ,as& ,aw& ,y ,x(etaluclac
;)oyoj ,ohs ,ikes ,as ,aw ,y ,x(tlusertnirp
;0 nruter
}
0234デフォルトの名無しさん
2008/06/11(水) 17:38:20[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
テキストファイルに保存された改行で区切られた整数を読み込んで、
その平均値を計算し、結果をファイルに保存することのできるプログラムを作成せよ。
データ数は最大1000個まで計算できるようにする。
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:C
[3.3] 言語:C言語
[4] 期限:2008年06月12日まで
さっぱりわかりませんでした。宜しくお願いします。
0235デフォルトの名無しさん
2008/06/11(水) 17:43:14[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6861.txt
上記を元に,システムコールalarm とpause を使用してsleep コマンドと同等の働きをするコマンドmysleep を
作って下さい.
Ctrl-c(Interrupt)、Ctrl-z(Suspend) に反応しないようにしてください.途中終了はCtrl-Y=(Quit)
のみとし,“User quit” といったメッセージと残り時間を表示させてください.
• ヒント: 対処すべきシグナルは4 種類,SIGINT,SIGTSTP,SIGALRM,SIGQUIT です.
[3] 環境
[3.1] Linux
[3.2] gcc
[3.3] c
[4] 期限: 6月11日中
[5] その他の制限: 上のtxtを元にしていただけたら、他は特にありません。
どうかよろしくお願いします。
0236デフォルトの名無しさん
2008/06/11(水) 18:02:150237デフォルトの名無しさん
2008/06/11(水) 18:11:00http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6863.c
0238デフォルトの名無しさん
2008/06/11(水) 18:11:340239デフォルトの名無しさん
2008/06/11(水) 18:13:05[2] 問題文(含コード&リンク):()
クイックソートにより配列をソートするプログラムを作れ
http://www2.uploda.org/uporg1474868.txt.html
ネットを参考に書いたのですが、中途半端にしかソートされません
どこが違うのか指摘お願いします
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 2008/6/3まで
[5] その他の制限: とくになし
0240デフォルトの名無しさん
2008/06/11(水) 18:13:52[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6862.txt
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:2008年06月12日18:00
[5] その他の制限:ポインタまで学習済み
0241デフォルトの名無しさん
2008/06/11(水) 18:19:03http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6865.c
0242デフォルトの名無しさん
2008/06/11(水) 18:19:19#include<stdio.h>
int main(void){
char *filename="data.txt";
FILE *fp;
int i, data;
double average=0.0;
if(!(fp=fopen(filename, "r"))) return 1;
for(i=1;i<=1000;i++){
if(fscanf(fp, "%d", &data)!=1) break;
average=(average*(i-1)+data)/i;
}
printf("%f\n", average);
return 0;
}
0243デフォルトの名無しさん
2008/06/11(水) 18:21:16[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6866.txt
[3] 環境
[3.1] OS:windowsXP
[3.2] コンパイラ名とバージョン: VC6.0
[3.3] 言語: C++
[4] 期限:なし
[5] その他の制限:なし
問題文はソースの上に記しています
0244デフォルトの名無しさん
2008/06/11(水) 18:22:29一々平均計算しなおすのはどうかと思うぜ。
0245デフォルトの名無しさん
2008/06/11(水) 19:09:48[1] 授業単元:情報ネットワーク論
[2] 問題文(含コード&リンク):
基数変換プログラムを作成しなさい。
「元:2〜16進数(選択)→変換先:2〜16進数(選択)」
という基数の指定ができるようにすること
[3] 環境
[3.1] OS:Window
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:6月19日まで
[5] その他の制限:基数変換を行う関数や外部プログラム等を用いてはいけない
プログラミング類はやらないと言われていたのに出てしまいお手上げです
よろしくお願いします
0246デフォルトの名無しさん
2008/06/11(水) 19:15:571.
#include <stdio.h>
int chkmatch(char *t1, char *t2)
{
while(*t2) if(*t1++!=*t2++) return 0;
return 1;
}
int main(void)
{
char t1[256], t2[256], *p;
scanf("%s", t1);
scanf("%s", t2);
for(p=t1; *p; p++) if(chkmatch(p, t2)) break;
printf("%s", *p ? "yes" : "no");
return 0;
}
0247デフォルトの名無しさん
2008/06/11(水) 19:18:072.
#include <stdio.h>
int chkmatch(char *t1, char *t2){
while(*t2) if(*t1++!=*t2++) return 0;
return 1;
}
char *findstr(char *t1, char *t2){
while(*t1) {
if(chkmatch(t1, t2)==1) return t1;
t1++;
}
return NULL;
}
int main(void){
char *p, *q, *tag, t1[256], t2[256];
scanf("%s%s", t1, t2);
p = t1;
while(*p) {
tag = findstr(p, t2);
if(tag == NULL) {
while(*p++) putchar(' ');
break;
}
while(p!=tag) {
putchar(' ');
p++;
}
for(q=t2; *q; q++, p++) putchar('^');
}
return 0;
}
0248デフォルトの名無しさん
2008/06/11(水) 19:20:393.
#include <stdio.h>
void swapmax(int *data, int num)
{
int temp, i, max_indx = 0;
for(i=1; i<num; i++) if(data[i] > data[max_indx]) max_indx = i;
temp = data[0];
data[0] = data[max_indx];
data[max_indx] = temp;
}
int main(void)
{
int data[10], i, n;
scanf("%d", &n);
for(i=0; i<n; i++) scanf("%d", data + i);
swapmax(data, n);
for(i=0; i<n-1; i++) printf("%d ", data[i]);
printf("%d", data[i]);
return 0;
}
0249デフォルトの名無しさん
2008/06/11(水) 19:56:19http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6867.txt
0250デフォルトの名無しさん
2008/06/11(水) 20:02:48文字列を整数に
int my_strtol(char* str, int base) {
int l, val;
l = 0;
while (*str) {
if (*str >= '0' && *str <= '9') {
val = *str - '0';
}
else if (*str >= 'A' && *str <= 'F') {
val = *str - 'A' + 10;
}
else if (*str >= 'a' && *str <= 'f') {
val = *str - 'a' + 10;
}
// 16進数以外の文字が出たらそれまでの数値を返す
else {
return l;
}
// 基数以上の数値が出たらそれまでの数値を返す
if (val >= base) {
return l;
}
l *= base;
l += val;
str++;
}
return l;
}
0251デフォルトの名無しさん
2008/06/11(水) 20:03:54整数を文字列に
int my_ltostr(int l, int base, char *str, int len) {
int val, mod, i;
val = l;
i = 0;
// 桁数を求める
while (val) {
val /= base;
i++;
}
// 文字数オーバー
if (i > len) {
return -1;
}
str[i + 1] = '\0';
for (; i >= 0; i--) {
mod = l % base;
if (mod >=0 && mod <= 9) {
str[i] = mod + '0';
}
else if (mod >= 10 && mod <= 15) {
str[i] = mod - 10 + 'A';
}
l /= base;
}
return 0;
}
0252デフォルトの名無しさん
2008/06/11(水) 20:07:080253デフォルトの名無しさん
2008/06/11(水) 21:28:14[1] 授業単元:自習
[2] 問題文(含コード&リンク):
グレースケール化した画像の0〜3次までのモーメントMpqを求めたいです。
Mpq = ΣΣ((x-xx)^p)*((y-yy)^q)*f(x,y)
xx = M10/M00 = ΣΣx*f(x,y) / ΣΣf(x,y)
yy = M01/M00 = ΣΣy*f(x,y)/ ΣΣf(x,y)
数式の記述はこちらのほうが見やすかったです
http://mikilab.doshisha.ac.jp/dia/research/person/shuto/research/0605/tokutyo.html
[3] 環境
[3.1] OS: CentOS5.0
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限:6/14
[5] その他の制限: 特になし
使っている画像の種類はpgmです。
よろしくお願いいたします。
0254デフォルトの名無しさん
2008/06/11(水) 21:35:30[2] 問題文(含コード&リンク):int a[4]={30,15,60,5}を昇降に並び替える。(ポインタ使用)
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 6月11日11:00まで
[5] その他の制限: ポインタ・再帰まで学習済み。
関数部分でif文で左右を比較し、whileかfor文を用いて繰り返すことはわかったのですが、どう書いていいかわかりません。お願いします。
0255デフォルトの名無しさん
2008/06/11(水) 21:37:40ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6868.c
10進数をn進数に変換するのみ。10進数以外は適当に
一度10進数にしてから変換し直す仕組みでも作って下さい ><;
0256デフォルトの名無しさん
2008/06/11(水) 21:46:44#include <stdio.h>
#include <stdlib.h>
static int cmp(const void*a, const void*b) {
return *(int*)a < *(int*)b ? -1: *(int*)a > *(int*)b ? 1 : 0;
}
int main(void) {
int a[4] = {30, 15, 60, 5};
qsort(a, sizeof a/sizeof *a, sizeof *a, (int(*)(const void*, const void*))cmp);
return 0;
}
0257デフォルトの名無しさん
2008/06/11(水) 21:51:11[2] 問題文(含コード&リンク):西暦yy年mm月dd日と(文字には1から12の数字が入る)入力するとその日の昨日の日付と明日の日付
を出力するプログラムをつくれ
ただし閏年については以下のプログラムを使うこと
int isleap(int year)
{
return (year % 4 == 0 && year % 100 != 0 || year % 400 = 0);
}
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語:C
[4] 期限: 来週まで
[5] その他の制限: swich文は使わない方向でお願いします
0258デフォルトの名無しさん
2008/06/11(水) 21:52:03できました
ありがとうございました。
0259デフォルトの名無しさん
2008/06/11(水) 21:52:13[2] 問題文(含コード&リンク)課題:http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6869.txt
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン:Microsoft Visual Studio 2005
[3.3] 言語: C
[4] 期限: 6月13日
[5] その他の制限: 特に無し
初歩的なことかも知れませんが
どうかよろしくお願いします
0260257
2008/06/11(水) 21:54:11閏年については以下のプログラムを使うこと→うるう年は以下の関数で判定すること
0261デフォルトの名無しさん
2008/06/11(水) 22:15:21[2] 問題文:
「キーボードから異なる実数を3つ入力し、大きい順に3つの値を
表示させるプログラム」をswitch文を用いて作成せよ。
「キーボードから数値を1つ入力し、実数か整数か自然数か判定し、
当てはまるものすべてを表示するプログラムを作成しなさい」
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C
[4] 期限: 明朝7:00まで
お願い致します。
0262デフォルトの名無しさん
2008/06/11(水) 22:40:53#include<stdio.h>
int main()
{
double a[3], t;
int i, j;
for(i = 0; i < 3; i ++)
scanf("%lf", a+i);
for(i = 0; i < 3; i ++)
for(j = i + 1; j < 3; j ++)
if(a[i] < a[j]) {
t = a[i]; a[i] = a[j]; a[j] = t;
}
for(i = 0; i < 3; i ++)
printf("%g\n", a[i]);
return 0;
}
-----------------------------------
#include<stdio.h>
#include<math.h>
int main()
{
double a, b;
scanf("%lf", &a);
printf("%gは実数です。\n", a);
if(modf(a, &b) == 0) {
printf("%gは整数です。\n", a);
if(b > 0.5)
printf("%gは自然数です。\n", a);
}
return 0;
}
0263デフォルトの名無しさん
2008/06/11(水) 22:43:540264デフォルトの名無しさん
2008/06/11(水) 22:50:24携帯からなんで1のヒントだけ
switch((a>b)+(b>c)*2+(c>a)*4)
0265デフォルトの名無しさん
2008/06/11(水) 22:55:45http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6870.c
0266デフォルトの名無しさん
2008/06/11(水) 22:59:53return (year % 4 == 0 && year % 100 != 0 || year % 400 = 0);
明らかに括弧の位置と、 year%400 == 0 の部分が間違っているんで訂正
0268デフォルトの名無しさん
2008/06/11(水) 23:30:22画像処理のことはあまりわからんので、ちょっと質問。
・グレースケールの画像を使うと書いてあるが、読み込んだRGBの値がバラバラの場合、輝度はRGBの平均値でおk?
・ヒストグラムの形式は何でもいい?例えば、N=8だったらこんな感じ?
0: *****
32: ************
64: *******
96: ********************
128: ***************************
160: ***************
192: ****
224: **
0269デフォルトの名無しさん
2008/06/11(水) 23:41:30[2] 5人の学生の3教科(国語・数学・英語)の点数を2次元配列を用いて次の二つ
の処理を実行するプログラムを作成せよ
�@科目別の最高点を求める
�A各学生の平均点を求める
[3] 環境
[3.1] OS:Windows vista
[3.2] コンパイラ名とバージョン: borland5.5.1
[3.3] 言語:C
[4] 期限: 2008年6月12日中
[5] その他の制限: 特になし
よろしくお願いします
0270デフォルトの名無しさん
2008/06/11(水) 23:56:27自分がいまいちわかってないので自信がないのですが
グレースケール画像の各成分の輝度値を量子化する以外は
平均値をとるなどの指示はないです。
ヒストグラムの方は後でエクセルで処理をするので
値をテキストファイルに保存できればいいです。
0271デフォルトの名無しさん
2008/06/12(木) 00:05:02pgm形式、rawとascii、2つのモードがあるですが。両方対応ですか?
0273デフォルトの名無しさん
2008/06/12(木) 00:43:55http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6872.txt
エラーチェックもしてないし
終了もしてないけどおやすみなさい。
0274デフォルトの名無しさん
2008/06/12(木) 00:48:23勘違いしていたのでもう一度書き込みします。
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
1.0/1による8桁の2つの2進数入力に対して,それらの和を2進数表現で求め,その2進数表現を出力せよ.
このとき,2ビットの論理和,論理積,排他的論理和を求める関数,および,これらを用いて2進数1桁の加算を行う全加算器の機能を関数で実現すること.
なお,確認を容易にするため,入力と出力の各2進数に対する10進数表現も出力すること.
さらに2の補数を用いて負の数も扱えるように拡張せよ.
2.2つの2進数の差を求めるプログラムを作成せよ.
3.任意の(変数や定数で指定した)桁数の2進数を扱えるようにせよ.
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:VC 6.0
[3.3] 言語:C++
[4] 期限:2008年06月11日まで
[5] その他の制限:1については 2の補数を用いて負の数も扱えるように拡張する前までは作ることができたのでうpしておきます。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6853.txt
よろしくお願いします。
0275デフォルトの名無しさん
2008/06/12(木) 00:54:05前スレの
http://pc11.2ch.net/test/read.cgi/tech/1211980711/753-756
有り難う御座いました
勉強させて頂きます
0276デフォルトの名無しさん
2008/06/12(木) 01:15:08[4] 期限:2008年06月12日までですが最終16日まで大丈夫です。
0277デフォルトの名無しさん
2008/06/12(木) 02:02:12一致しない場合は 1 を返せばおk、だったかと。
0278デフォルトの名無しさん
2008/06/12(木) 02:23:07流れてたんであげなおします
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6873.txt
よろしくお願いします
0279デフォルトの名無しさん
2008/06/12(木) 02:34:38Dll_BMP_C.h とかいうファイルがないので動くかどうかわからんが
とりあえずExcelで読めるようCSVで出力するようにした
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6875.txt
0280デフォルトの名無しさん
2008/06/12(木) 02:57:18釣りっぽい気もするけど、とりあえずtyuuouの後半が間違ってんじゃん
0281デフォルトの名無しさん
2008/06/12(木) 03:19:27http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6876.c
> さらに2の補数を用いて負の数も扱えるように拡張せよ.
先頭の桁が1なら負にするようにしてあるけど、それは
10進数に変換するときの計算結果でやってます。
> 2.2つの2進数の差を求めるプログラムを作成せよ.
これはやってない。
0282デフォルトの名無しさん
2008/06/12(木) 03:20:200283デフォルトの名無しさん
2008/06/12(木) 03:21:38[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6877.txt
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ名とバージョン:VC6.0
[3.3] 言語:C++
[4] 期限:
[5] その他の制限:問題文上部に記載
よろしくお願いします
0284デフォルトの名無しさん
2008/06/12(木) 03:34:27問題文上部を理解することのなんと困難なことか!
0285デフォルトの名無しさん
2008/06/12(木) 03:39:28[2] 問題文(含コード&リンク):
文字列を反転させて表示するプログラムを作成せよ。
ここでの”反転”とは例えば”Program”という文字列を入力したら
”margorP”と出力するものである。
(実行例)
文字列を入力せよ:Program
反転した文字列:margorP
単純な配列の並び替えでOKです、文字の長さを調べるstrlenの使用可。
ただし終端文字をどのように扱うかは注意。
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C言語
[4] 期限:本日6/12 午後1時までにお願いします。
当方strlenで文字列カウントして、その後どうすれば文字列を反転させられるのかが分かりません。
0286デフォルトの名無しさん
2008/06/12(木) 03:43:03どうすりゃいいの
input()をメンバ関数で持っていいの?
0287デフォルトの名無しさん
2008/06/12(木) 03:45:080288デフォルトの名無しさん
2008/06/12(木) 03:46:39>>211
0289デフォルトの名無しさん
2008/06/12(木) 03:50:45参考にさせてもらってどうにかできました!
本当にありがとうございます〜
助かりました
0290デフォルトの名無しさん
2008/06/12(木) 04:13:27???
strlenも使ってないし、分からない関数だらけでC言語なんでしょうか?
0291デフォルトの名無しさん
2008/06/12(木) 04:20:10int main(void)
{
char *p, str[256];
printf("文字列を入力せよ:");
scanf("%s", str);
for(p=str; *p; p++);
printf("反転した文字列:");
while(p-- > str) putchar(*p);
return 0;
}
0292デフォルトの名無しさん
2008/06/12(木) 04:20:23> いらんもんを付け足すほうがアホだろ。
勝手にお前が要らんって思っているだけで、本当は必要なものだよw
バーカ、gdgd知ったか無知を晒す前にこのスレに来るな、来ても
発言せずにROMってろ、クズ
0293デフォルトの名無しさん
2008/06/12(木) 04:22:10#include <stdio.h>
#include <string.h>
int main(void)
{
char buf[80], t;
int i, len;
printf("文字列を入力せよ:");
gets(buf);
len = strlen(buf);
for (i = 0; i < len / 2; i++)
t = buf[i], buf[i] = buf[len - i - 1], buf[len - i - 1] = t;
printf("反転した文字列:%s\n", buf);
return 0;
}
0294デフォルトの名無しさん
2008/06/12(木) 04:25:18sizeof(char)は1であるので省略可能。
どちらもあってもなくても問題はない。
0295デフォルトの名無しさん
2008/06/12(木) 04:25:32ソースも書かない、知ったような口を聞いているお前が言うと笑えるw
0296デフォルトの名無しさん
2008/06/12(木) 04:27:20> どちらもあってもなくても問題はない。
ダウト。適切か不適切か、考えたら普通はそんなことは言わない。
そもそも、char型が単に1バイトだから、たまたま都合よく通っただけ。
本来あれを正式な場所でやった場合、不適切とされ、どんな言い訳をしても
知らなかったと駄目だしをされるだけだよ。これだから ド素人 は口を閉じてろって
言われるんだよw
0297デフォルトの名無しさん
2008/06/12(木) 04:29:20ありがとうございます、ただ*pがどういう意味なのか分からなかったです。
>>293
こちらもありがとうございます、これなら当方にもちゃんと分かります。
とても参考になります。
0298デフォルトの名無しさん
2008/06/12(木) 04:29:21キャストの場所を勘違いしていないか?にしても、mallocの前に
記述していないのは大減点。おまけに、そこじゃなくて
fseekの0Lについてでは?これについても問題はなかったにしろ
どちらも問題が無かっただけで、コードとしては完全に不適切。
だから要らん口出しはしない方が、自分が無知、バカだと露呈せずに済むよw
0299デフォルトの名無しさん
2008/06/12(木) 04:29:34sizeof(char)が必ず1でも、省略すべきではない
http://pc11.2ch.net/test/read.cgi/tech/1187521586/
0300デフォルトの名無しさん
2008/06/12(木) 04:33:43定数という点で、long型の変数に引き渡すことになっているため
ほとんどの資料には後ろにLを記述しているものが見られるよ。
中には書いてないものもあるが、符号無しでUをつけるように
いくら暗黙のキャストがあろうが、適切なコードに対して
蛇足
なんて知ったかぶるからバカにされるんだよ。そんな知ったかが
適切な記述を蛇足って言うなら、そいつは本当に必要なものに対しても
蛇足と思い込んでいるだろうね。これだから視野の狭い奴は相手にならねー
0301デフォルトの名無しさん
2008/06/12(木) 04:35:050302デフォルトの名無しさん
2008/06/12(木) 04:49:440303デフォルトの名無しさん
2008/06/12(木) 04:57:59言うと笑えねーな・・・少なくとも>>210はプログラマには向いてない。
些細なことでイラついて、ムッキーポッポーで、業界に入っても
淘汰されて下手すりゃ排除されるよ。あぁ恐ろしや恐ろしや。
0304デフォルトの名無しさん
2008/06/12(木) 05:01:090305デフォルトの名無しさん
2008/06/12(木) 05:20:06桁落ち誤差が累積する事はない
0306デフォルトの名無しさん
2008/06/12(木) 05:26:52is_inrarge(double r, int i, int j)
を作成し
というところまでを自分でr、i、jを入力する方法でやって
#include <stdio.h>
#include<math.h>
#include<stdlib.h>
int main(void)
{
int r,i,j;
printf("r,i,j =");
scanf("%d,%d,%d", &r,&i,&j);
printf("%d,%d,%d \n",r,i,j);
inrange();
return 0;
}
int inrange(double r,int i, int j)
{
double o,p,q;
o=r*r;
p=(i*i+j*j);
q=(r+1)*(r+1);
if (q >= p && p>o){
printf("1");
}else{
printf("0");
}
}
ここまでやって5時間かけてもどうにもうまくいきません。
vista vc05ですけど関係ないような気もします。
誰か教えてください。
0307デフォルトの名無しさん
2008/06/12(木) 05:29:11代入した直後の数字とは別の数字が出ます。
printf("%d,%d,%d \n",r,i,j);
わけがわかりません
0308デフォルトの名無しさん
2008/06/12(木) 05:39:07//inrange()
としてもう一度確かめてみそ
0309デフォルトの名無しさん
2008/06/12(木) 05:42:14[2] 問題文(含コード&リンク):
任意の文字列を配列に読み込み、その中に出てくる特定の文字列を指定した文字列に置き換えるプログラムを作成せよ。
(実行例)
文字列を入力せよ : kadai no teisyutukigen ha mamore
置き換え元を入力せよ : kadai
置き換え後を入力せよ : report
結果 : report no teisyutukigen ha mamore
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: cygwin gcc
[3.3] 言語: C言語
[4] 期限: 本日午後2時までにお願いします。
[5] その他の制限: 空白ごと読み込む方法はgetchar命令、もしくはfgets命令を用いるとよい。
0310デフォルトの名無しさん
2008/06/12(木) 05:58:41pow関数にdouble渡してカウンタにしてたってーのは知らないけど
情報落ちも考慮するとdoubleは異常
0311デフォルトの名無しさん
2008/06/12(木) 06:01:42入力:111
置き換え元:11
置き換え後:aa
結果:aa1
結果:1aa
どっち?
0312デフォルトの名無しさん
2008/06/12(木) 06:02:22while( e<d )
e+=(double)1.0;
このコードは停止するか?
0313デフォルトの名無しさん
2008/06/12(木) 06:06:23最初に見つかった方をするようにお願いします。
結果:aa1
0314デフォルトの名無しさん
2008/06/12(木) 06:45:29お前が相当な馬鹿だということが分かった・・・っつか、お前の言っていることって
言わなきゃ良いことばかりだよ?かなりあほだな・・・進路を変えろ、基地外
0315デフォルトの名無しさん
2008/06/12(木) 06:47:54double pow(double x, double y);
知った無知の基地外は、自分基準で相手を罵倒することに
専念するだけだから困る。しっかりと資料を提示するなり
見れば無駄口を叩くこともなかっただろうに。
適切な取り扱いを知らない奴は、こういった業界では
絶対に通用しない。
0316デフォルトの名無しさん
2008/06/12(木) 06:54:33[2]ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6878.txt
[3]環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:borland c++5.5
[4] 期限:来週の月曜日
[5] その他の制限:関数まで習いました
ぜんぜんわからないのでよろしくお願いします
0317デフォルトの名無しさん
2008/06/12(木) 07:33:40入力するとき,で区切って入力してないってオチじゃない?
0318デフォルトの名無しさん
2008/06/12(木) 07:40:04#include <stdio.h>
int my_tolower(int ch)
{
if('A'<=ch && ch<='Z') ch += ('a' - 'A');
return ch;
}
int main(void)
{
char str[256];
int i, len;
scanf("%s", str);
for(len=0; str[len]; len++);
printf("文字列の長さ:%d\n", len);
for(i=0; i<len; i++) str[i] = my_tolower(str[i]);
printf("大文字を小文字に変換した文字列:%s\n", str);
for(i=0; i<len / 2; i++) if(str[i]!=str[len-1-i]) break;
if(i==len/2) printf("回文です\n");
else printf("回文ではありません\n");
return 0;
}
0319デフォルトの名無しさん
2008/06/12(木) 08:01:11文字列を複製する関数:strcpy(str1,str2,n)
文字列の長さを返すかんすう:strlen(str1)
文字列をn文字比較する関数:strncmp(str1,str2,n)
文字列str2をstr1のあとの連結する関数:strcat(str1,str2)
を使うなど、このレベルでプログラムを組んでいただけると助かります。
0320デフォルトの名無しさん
2008/06/12(木) 08:32:23[2] 問題文(含コード&リンク):
PNMという画像フォーマットを用いるとprint文で文字コードを出力することで
画像が作成できる。
(説明例:http://a-gamyl.hp.infoseek.co.jp/Clang/pnm_read.html)
これを用いて任意の画像を作成する。2次元の配列変数x,y座標を持つ平面に見立てて
画像を構成することが可能である。例えば画像の大きさ256x256の大きさとして
中央の(128,128)の場所に赤い点をひとつだけ打つには以下のようなプログラムになる。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6879.txt
以下のように直接出力してみよう。
$ cc en5-3.c
$ ./a.out > test.ppm
出来上がったtest.ppmというファイルをファイルブラウザで開いてみると
中央に赤い点が打たれているのが分かる。どのようなデータが書き込まれているかは
プログラムの最後のfor文を見ていただきたい。
(課題)
・sin派を描いた画像を作成するプログラムに変更せよ。
・円を描いた画像を作成するプログラムに変更せよ。
・うずまきを描いた画像を作成するプログラムに変更せよ。
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C言語
[4] 期限:無理を承知で後日6/12 午後2時までにお願いします。
0321デフォルトの名無しさん
2008/06/12(木) 09:03:24の老婆心
つまり、処理系によって、ちゃんと解釈してくれないよ
という忠告は
小さな親切余計なお世話
というのが>>207
で女々しい口喧嘩を繰り返すと。
要するにだ、207がちゃんとキャストをするなりしてコードを書いて
206がそれをハンディコンパイルすればそれで済む話
(できれば207がコードを実行すれば尚良い)
0322デフォルトの名無しさん
2008/06/12(木) 09:08:45Cの規格読み直せw
0323デフォルトの名無しさん
2008/06/12(木) 09:20:41○小さな親切大きなお世話
0324デフォルトの名無しさん
2008/06/12(木) 09:23:04いいんじゃないのか?(自分のコンパイラで動作確認もとってないのにソース上げるのは論外だけど)
どんな処理系でも動作するポータビリティなんて要求されてないし、
仮に要求してきたにせよ宿題丸投げの要求なんて無視していい
というか、そんなウィルスコードここに貼るな。
0325デフォルトの名無しさん
2008/06/12(木) 10:24:27だからといってなコードは削ればいいという思想もウィルス
0326デフォルトの名無しさん
2008/06/12(木) 10:29:39ありがとうございました!
0327デフォルトの名無しさん
2008/06/12(木) 10:36:54×自分のコンパイラ
○テンプレ[3]で指定されている環境
まぁ適当に書いてもだいたい通るから大丈夫だけど
0328デフォルトの名無しさん
2008/06/12(木) 10:46:120329デフォルトの名無しさん
2008/06/12(木) 10:54:15解析するのがコンパイラ
0330デフォルトの名無しさん
2008/06/12(木) 13:25:47なんだ、まだ5時間しか考えてないのか、というのはヤボですかね。
0331デフォルトの名無しさん
2008/06/12(木) 14:21:05>>205
char *buf;
buf = malloc(size);
int main()
0332デフォルトの名無しさん
2008/06/12(木) 14:23:170333デフォルトの名無しさん
2008/06/12(木) 14:26:55ttp://www.bohyoh.com/CandCPP/FAQ/FAQ00042.html
とりわけ「準拠」というなら、何に?ANSI、ISO準拠なら
int mainについても蛇足とは言わない指摘がされるぞ。
だから無知は黙ってろって言われるんだよw
何に対して、何を元に指摘されているかわかってないんだろ。
資料を読んでから意見しろ。ルールブックも読まない奴が
勝手に自分ルールでそれは要らないよ、従っている人に
蛇足だよ、無駄だよなんて言っても通じない。
0334デフォルトの名無しさん
2008/06/12(木) 14:45:230335デフォルトの名無しさん
2008/06/12(木) 14:47:03スレはあるようだけど過疎ってるなw
C#,C#の宿題片付けます。
http://pc11.2ch.net/test/read.cgi/tech/1197620454/
0336デフォルトの名無しさん
2008/06/12(木) 15:01:03誘導ありがとうございます。
31に書き込んだのでどなたかよろしくお願いします
0337デフォルトの名無しさん
2008/06/12(木) 16:32:57Cプログラミング
[2] 問題文(含コード&リンク):()
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6881.txt
[3] 環境
[3.1] OS: (Windows/Linux/等々)
linux
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
gcc
[3.3] 言語: (C/C++/どちらでも可 のいずれか)
C
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
6月16日
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
特にありません。よろしくお願いします。
0338デフォルトの名無しさん
2008/06/12(木) 16:47:02int main(void){
QUEUE_TYPE x;
initQueue();
while(1) {
printf("整数を入力して下さい:\n");
scanf("%d",&x);
if (x<0) break;
if(x % 2) {
printf("dequeue() %d : ",dequeue());
printQueue();
}
else {
enqueue(x);
printf("enqueue(%d) : ",x);
printQueue();
}
}
while(!chkEmpty()){
printf("dequeue() %d : ",dequeue());
printQueue();
}
return 0;
}
0339デフォルトの名無しさん
2008/06/12(木) 16:53:10すばやい回答ありがとうございました!
0340デフォルトの名無しさん
2008/06/12(木) 16:56:53Cプログラミング
[2] 問題文(含コード&リンク):()
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6883.txt
[3] 環境
[3.1] OS: (Windows/Linux/等々)
linux
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
gcc
[3.3] 言語: (C/C++/どちらでも可 のいずれか)
C
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
6月16日まで
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
>>337の続きの課題なのですが・・
よろしくお願いします
0341デフォルトの名無しさん
2008/06/12(木) 17:16:43printf("整数を入力して下さい:\n");
scanf("%d",&x);
if (x<0) break;
if(x % 2) {
dequeue(&Q);
printQueue(&Q);
}
else {
enqueue(x, &Q);
printf("enqueue(%d) : ", x);
printQueue(&Q);
}
}
0342デフォルトの名無しさん
2008/06/12(木) 17:23:16ありがとうございます。
しかし、
負の数字-100を入力した場合に、実行例に在るとおりに
dequeue します: キューの中 [ 20 30 ]
dequeue します: キューの中 [ 30 ]
dequeue します: キューの中 [ ]
空状態のためデキューできません。
と表示されないのと、奇数の数字35等を入力した場合にdequeue しますという文字が表示されません。
それとやはり、デキューされた値を表示するのは難しいのでしょうか?
0343デフォルトの名無しさん
2008/06/12(木) 17:37:10dequeue(&Q);
printQueue(&Q);
}
を
if(x % 2) {
dequeue(&Q);
printf("dequeue します: ");
printQueue(&Q);
}
に
q=Q.front;以下はそのまま使ってる?
0344デフォルトの名無しさん
2008/06/12(木) 17:47:19すいません、q=Q.front;以下も一緒に消してしまっていました。
負の数の時のも無事いけました!
デキューされた値を表示するのは無理でしょうか?
0345デフォルトの名無しさん
2008/06/12(木) 17:54:280346デフォルトの名無しさん
2008/06/12(木) 17:55:56int dequeue(struct queue *Q){ /* デキューする関数 dequeue の定義 */
struct cell *q; /* キューの先頭(デキューされるセル)を指す*q の宣言 */
int x;
if(Q->front == NULL) { /* Q->front がNULL(キューが空状態)であれば */
printf("空状態のためデキューできません。\n"); /* 左記のメッセージを画面に表示して */
exit(1); /* プログラムを終了 */
}
else { /* Q->front がNULL(キューが空状態)でなければ */
q=Q->front; /* ポインタ変数*q はキューの先頭を指す */
x=q->element;
Q->front = (Q->front)->next; /* キューの先頭(Q->front)を置き換える */
free(q); /* デキューされたセルのメモリを解放 */
}
if(Q->front == NULL){ /* Q->front がNULL(キューが空状態)であれば */
Q->rear = NULL; /* キューの初期化 */
}
return x;
}
あとmain()内の
dequeue(&Q);
printf("dequeue します: ");
を
printf("dequeue() %d : ",dequeue(&Q));
にすればいけると思う
0347デフォルトの名無しさん
2008/06/12(木) 17:56:530348デフォルトの名無しさん
2008/06/12(木) 17:57:33>>255
ありがとうございます。助かりました
0349デフォルトの名無しさん
2008/06/12(木) 17:59:56いいんじゃね?
main()を変えてって指定があるのは337の問題の方だけだし
0350デフォルトの名無しさん
2008/06/12(木) 18:09:16ありがとうございました!見事に動作しました
0351340
2008/06/12(木) 18:17:57>偶数(0 を含む)である場合は、その整数をエンキューする。キューがフル状態である場合には、
>その整数をエンキューせず、『enqueue : フル状態のためエンキューできません。』と表示した後、プログラムを終了する。
の部分も付け加えなければいけないと思うのですが、
この部分はどうすればよいのでしょうか?
恐らくmain以外もいじくってよいと思います。。
よろしくお願いします
0353デフォルトの名無しさん
2008/06/12(木) 18:28:17>>340の場合は、要素が入る度にmallocでqueueのサイズを増やしてるから、
キューがフルである状態というのがそもそもない。
だからその部分は必要ないはず。
まあ、もしもそれを分かっていて、mallocするメモリが存在しなかった場合の話をしているなら、
enqueue内の
p=(struct cell *)malloc(sizeof(struct cell)); /* エンキューするセルを指すポインタ変数*p の獲得 */
を
if((p=(struct cell *)malloc(sizeof(struct cell)))==NULL){
printf("enqueue : フル状態のためエンキューできません。\n");
exit(1);
}
とすればおk
0355デフォルトの名無しさん
2008/06/12(木) 21:37:58[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6886.txt
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン:bcc
[3.3] 言語: C
[4] 期限:明日中
[5] その他の制限:
1http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6884.c
2-1http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6885.c
自分で作れた所までです。
2-2はよくわかりませんでした
お願いします
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン:bcc
[3.3] 言語: C
[4] 期限:明日中
[5] その他の制限:
お願いします
0356デフォルトの名無しさん
2008/06/12(木) 22:18:12[2] 問題文http://http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6888.txt
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン:VC 6.0
[3.3] 言語: C
[4] 期限: 6月15日日曜日(早いと助かります)
[5] その他の制限:できるだけ簡単に
お願いします
0357デフォルトの名無しさん
2008/06/12(木) 22:19:55[2] 問題文http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6888.txt
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン:VC 6.0
[3.3] 言語: C
[4] 期限: 6月15日日曜日(早いと助かります)
[5] その他の制限:できるだけ簡単に
お願いします
0358デフォルトの名無しさん
2008/06/13(金) 00:16:390359デフォルトの名無しさん
2008/06/13(金) 00:18:43どれがわかんないの?
int main(void)
{
//文字列入力
//置き換えられる文字入力
//その文字列が最初に入力した文章ないにあるかチェック
//無いときの処理
//置き換える文字列入力
//置き換え前文字列表示
//置き換え処理
//置き換え後文字列表示
return(0);
}
0360デフォルトの名無しさん
2008/06/13(金) 01:21:21[2] 3つの整数を入力し、入力値を昇順に入れ替える処理を作成する。
ソート処理は関数を使って作成し、処理結果は関数の外で行う。
ソート関数は引数がポインタ、参照の2種類の関数をオーバーロードで作成する
出力イメージ:
"整数を3つ入力しなさい"
"入力した値は15,1,12"
"昇順に並び替えると1,12,15"
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:bcc
[3.3] 言語:C++
[4] 期限:6月14日
[5] その他の制限:どうぞ宜しくお願いします
0361309
2008/06/13(金) 01:22:57・指定した文字列が含まれているか判定
・無いときの処理
・置き換え方
特に置き換える際は、どうやって文字を置き換えているのかさっぱり分からないです。
自分で分からないものを煮詰めても、まったくす進まないので、丸投げで全部作っていただきたく思います。
0362デフォルトの名無しさん
2008/06/13(金) 01:26:13#include <stdio.h>
#include <string.h>
#define BUFF_SIZE 1024
void ex(char *dest, char *src,char *a,char *b){
while(*src!='\0'){
if(strncmp(src,a,strlen(a))==0){
strncpy(dest,b,strlen(b));
src+=strlen(a);
dest+=strlen(b);
}
else
*dest++=*src++;
}
*dest='\0';
}
int main( void )
{
char buf[BUFF_SIZE],src[BUFF_SIZE],dest[BUFF_SIZE],a[BUFF_SIZE],b[BUFF_SIZE];
printf("文字列を入力せよ : ");
fgets(buf,BUFF_SIZE,stdin);
sscanf(buf,"%[^\n]",src);
printf("置き換え元を入力せよ : ");
fgets(buf,BUFF_SIZE,stdin);
sscanf(buf,"%[^\n]",a);
printf("置き換え後を入力せよ : ");
fgets(buf,BUFF_SIZE,stdin);
sscanf(buf,"%[^\n]",b);
ex(dest,src,a,b);
printf("結果 : %s\n",dest);
return 0;
}
0363362
2008/06/13(金) 01:30:54優秀な方がつっこんでくれるに期待して
一応>>311の通りに置きかえ
0364デフォルトの名無しさん
2008/06/13(金) 01:36:46if((p=strchar(buf, '\n'))!=NULL) *p = '\0';
ってやるのが一般的か?
0365デフォルトの名無しさん
2008/06/13(金) 01:37:450366デフォルトの名無しさん
2008/06/13(金) 02:52:16[2] コマンドラインから数字の文字列を入力して、
unsigned intの範囲外の値が入力された場合は
エラー文を返す。それ以外は入力値を標準出力する。
例) 入力 → 出力
例1) "4294967295" → 4294967295
例2) "4294967296" → 入力値が範囲外です。
[3] 環境
[3.1] OS:Ubuntu
[3.2] コンパイラ名とバージョン:gcc4
[3.3] 言語:C
[4] 期限:6月15日
[5] その他の制限:特にありません。isdigit()は使うと思います。
よろしくお願いいたします。
0367デフォルトの名無しさん
2008/06/13(金) 03:05:53[2] http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm 6889
[3] 環境
[3.1] OS windows
[3.2] コンパイラ名とバージョン: Visual studio2005
[3.3] 言語: C
[4] 期限 本日13時まで
[5] その他の制限:特になし
よろしくお願いします
0368デフォルトの名無しさん
2008/06/13(金) 03:08:52>>280をスルーしたからスルーされてるのかなー?
0369デフォルトの名無しさん
2008/06/13(金) 03:10:02sum2 += (the[i] - mea2[i]) * (the[i] - mea2[i]);
0370デフォルトの名無しさん
2008/06/13(金) 03:11:20[2] http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm 6889
[3] 環境
[3.1] OS windows
[3.2] コンパイラ名とバージョン: Visual studio2005
[3.3] 言語: C
[4] 期限 本日13時まで
[5] その他の制限:特になし
よろしくお願いします
0371デフォルトの名無しさん
2008/06/13(金) 03:12:30#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
unsigned int u = ~0;
double d;
if(argc!=2) return 0;
d = atof(argv[1]);
if(d - u > 0) printf("入力値が範囲外です。\n");
else printf("%u", (unsigned int)d);
return 0;
}
0372デフォルトの名無しさん
2008/06/13(金) 03:12:320373デフォルトの名無しさん
2008/06/13(金) 03:13:47> 文字列をn文字比較する関数:strncmp(str1,str2,n)
を使ってくれといっているのに
> ・指定した文字列が含まれているか判定
が分からないとは。
自分が分からないものを他人に作ってもらって分かったふりして
提出する程度の人だからしょうがないけど。
0374デフォルトの名無しさん
2008/06/13(金) 03:22:47解決しました
ありがとうございました
0376366
2008/06/13(金) 03:32:440378デフォルトの名無しさん
2008/06/13(金) 03:49:43符号無しが範囲だから、0未満は範囲外として良いん?
0379366
2008/06/13(金) 03:56:170〜4294967295以外はエラーという事でお願いします。
こんな感じでしょうか?
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
unsigned int u = ~0;
double d;
if(argc!=2) return 0;
d = atof(argv[1]);
if(d - u > 0) printf("入力値が範囲外です。\n");
else if(d < 0) printf("入力値が範囲外です。\n");
else printf("%u", (unsigned int)d);
return 0;
}
0380デフォルトの名無しさん
2008/06/13(金) 04:00:550381デフォルトの名無しさん
2008/06/13(金) 04:01:390382デフォルトの名無しさん
2008/06/13(金) 04:09:29範囲って言うと・・・どうなん?>質問者
まぁ、切り落としちゃえば良い話だろうけど
0383デフォルトの名無しさん
2008/06/13(金) 04:14:20>>382
ここでは小数を想定していないので、
「不正な形式です。」と表示させたいです。
文字列が0〜9の数字で構成されているかチェックする必要が
ありそうです。
0384デフォルトの名無しさん
2008/06/13(金) 04:17:030385デフォルトの名無しさん
2008/06/13(金) 04:34:290386デフォルトの名無しさん
2008/06/13(金) 04:36:41表しているかどうかは、次の方法を取るべきであろう。
まず、文字に不正な文字が含まれていないか検査する。
これは文字列を先頭からスキャンし、不正な('0'~'9'以外の)文字が
含まれているか否かをチェックし、検出された場合は、エラー出力
して終了する。
4294967295は10桁なので、スキャンが終わった段階で、長さ
??以上あった場合はエラーとしたいが、それは間違いである。
先頭に?が何個継続しているかで、文字列の長さが100あっても
正しく範囲にあるかも知れない。
最初に?ではない文字が出た位置を記憶(これを実質開始位置とする)し、
文字終端の位置と比較して、差を取り、??桁より大きい場合はこの時点
でエラー出力して終了して良い。
以降文字列の開始点が上記実質開始位置であるとして考える。
文字列の長さが?桁未満の場合は、正常終了できる。
??桁の時が問題であり、先頭の文字が?以下の時は正常数量
?以上の時はエラー終了とする。
?桁目を見て、?以下の場合は正常終了、?以上の時はエラー終了する。
?桁目を見て、?以下の場合は正常終了、?以上の時はエラー終了する。
以降同様の処理を1桁目まで書く。
0387デフォルトの名無しさん
2008/06/13(金) 04:41:08ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6890.c
麻呂のクソースを喰らうでおま〜
0388デフォルトの名無しさん
2008/06/13(金) 04:43:110389デフォルトの名無しさん
2008/06/13(金) 04:47:12http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6891.c
今度こそ、喰らうでおじゃる
0390デフォルトの名無しさん
2008/06/13(金) 04:50:34間違ってる
0391デフォルトの名無しさん
2008/06/13(金) 05:18:31strtoulを使い、エラーチェックすれば簡単。
if (先頭が数字でない || *endがNULでない || errnoがERANGE && 結果がULONG_MAX) 不正な形式です。
longがunsigned intの大きさが異なるなら、これにさらにチェックを加えれば良い。
ライブラリ関数を使わないのであれば、
unsigned int r, s; int i;
for (r = 0, i = 0; s = r * 10 + argv[1][i] - '0'; i++, r = s)
if (r > s || argv[1][i]が数字でない) 不正な形式です。
かな。こちらは自信なし。
0392デフォルトの名無しさん
2008/06/13(金) 05:20:140393デフォルトの名無しさん
2008/06/13(金) 05:37:32アッーーー!って、見つけちゃったあなた、罰ゲームとして修正しておまっ
0394デフォルトの名無しさん
2008/06/13(金) 05:40:440395デフォルトの名無しさん
2008/06/13(金) 05:59:48またお前か・・・態度でバレバレ。桁が同じだったときの
各桁の大小の評価のところだろ。面倒だから後はあんたがやっとけw
0396デフォルトの名無しさん
2008/06/13(金) 06:05:37教えてくださいって 教えてくださいって 言えよ。 言えよ。
これはハマるぜ、この程度のことでここまで偉そうに出来るやつって
日ごろ相当つまらないことで恩着せがましい態度で嫌われてんぞw
0397デフォルトの名無しさん
2008/06/13(金) 06:09:100398デフォルトの名無しさん
2008/06/13(金) 06:24:190399デフォルトの名無しさん
2008/06/13(金) 06:24:25本当はコードのどこが間違っているか分かってなかったのかYO!
0400デフォルトの名無しさん
2008/06/13(金) 06:25:040401デフォルトの名無しさん
2008/06/13(金) 06:25:25> どこが間違ってるか分からないなら素直に教えてくださいって言えよ。
って指摘したら指摘した奴が率先して口先だけじゃないってことを
証明するためにも、修正しないか?ウホッ?
0402デフォルトの名無しさん
2008/06/13(金) 06:30:050403デフォルトの名無しさん
2008/06/13(金) 06:59:32> 1時間かけてようやく分かった癖にw
そもそも、ソースを書いた本人じゃないし、俺はw
指摘した奴が詳細を把握してないのに、何言ってんだお前?w
どうせ数日前に現れた蛇足野郎だろ?w
あれを蛇足なんて言う程度の低さだから、どうせ口先だけだろ。
0404デフォルトの名無しさん
2008/06/13(金) 07:07:050405デフォルトの名無しさん
2008/06/13(金) 07:29:160406デフォルトの名無しさん
2008/06/13(金) 07:36:14if(argv[1][i] < uim[i]) break;
を追加するだけ。
0407デフォルトの名無しさん
2008/06/13(金) 09:12:35もうこんなのでいいんじゃないか?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 0〜9の文字以外の表現だと不正な値になる unsigned int のパーサ
unsigned int parse(const char *str){
unsigned int u=0;
for(; str!='\0'; str++){ u+=u*10+(*str-'0'); }
return u;
}
int main(int c, char **a){
unsigned int u = parse(a[1]);
char us[11];
sprintf(us, "%u", u);
if(strcmp(us, a[1])!=0) printf("unsigned int の範囲外です");
else printf("%u", u);
}
0408デフォルトの名無しさん
2008/06/13(金) 09:24:250409デフォルトの名無しさん
2008/06/13(金) 09:45:08まじだあああああああ
ありがとうございます(つд⊂)エーン
0410デフォルトの名無しさん
2008/06/13(金) 09:55:330411デフォルトの名無しさん
2008/06/13(金) 09:59:29実行してから貼れよ
>for(; str!='\0'; str++){ u+=u*10+(*str-'0'); }
いくらなんでもこれはひどすぎだろ
0412デフォルトの名無しさん
2008/06/13(金) 10:27:07すいません、見落としてました
ピボットのとり方が変わってもソート結果が変わることはないので、
原因はほかにあると思うんですがよろしくお願いします
0413デフォルトの名無しさん
2008/06/13(金) 12:11:33ふざけてはないと思う。よく見れば単なるタイプミス
*が抜けてて+が余計についてる。
for(;str !='¥0'...→for(;*str !='¥0'...
u+=u*10...→u=u*10...
貼る時に、インデント付けようと、コピペじゃなく
ブラウザのtextareaに直接タイプしたんじゃなかろうか(想像)
ただし実行して確かめてみたコードだとしても、
>>366の要求をほぼ満たしてるとは言い切れないと思う。
>>366は、>>407のコードを修正して実行出来たのかな?
041455
2008/06/13(金) 14:51:43[2] 問題文:
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6843.txt
[3] 環境
[3.1] 言語:C
スルーだったので、少しばかり自分でやってみました。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6893.txt
初心者の自分にはこの程度が限界です。
ヘルプをお願いいたします。
0415デフォルトの名無しさん
2008/06/13(金) 14:55:00http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6894.txt
0416デフォルトの名無しさん
2008/06/13(金) 15:03:420417デフォルトの名無しさん
2008/06/13(金) 15:06:440418デフォルトの名無しさん
2008/06/13(金) 15:14:45コードを書くまで信用するな
0419デフォルトの名無しさん
2008/06/13(金) 15:16:10言わないと、かなり印象が悪いぞ。例え間違っているのがわかっていても
何でお前はそれを指摘したか?逆に言い返されると、お前がわかってないだの
茶化すから余計に悪い。
0420デフォルトの名無しさん
2008/06/13(金) 15:18:00小数点を入力したときがおかしい
0421デフォルトの名無しさん
2008/06/13(金) 15:25:23手持ちのgccでチェックしたが、
[Suma]:~ Asagiri$ ./6894 4199999999
4199999999
[Suma]:~ Asagiri$ ./6894 4200000000
範囲外です。
となった
0422デフォルトの名無しさん
2008/06/13(金) 15:42:28ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6896.c
クソースを改良したでおまる
0423デフォルトの名無しさん
2008/06/13(金) 15:49:33>415はstrcmp()の戻り値の仕様を誤解しているらしい。
0424デフォルトの名無しさん
2008/06/13(金) 15:49:46strcmp の返り値に注意
0425デフォルトの名無しさん
2008/06/13(金) 15:52:52> 等しければ0、s1がs2より大きければ正の整数値、
> s1がs2より小さければ負の整数値を返す。
0426デフォルトの名無しさん
2008/06/13(金) 15:55:23否strcmpの仕様がおかしい。1,-1,0のいずれかを返すべき
0427デフォルトの名無しさん
2008/06/13(金) 15:58:380428デフォルトの名無しさん
2008/06/13(金) 15:58:460429デフォルトの名無しさん
2008/06/13(金) 16:12:04バーカ
ISO/IEC 9899:1999を読んでから言え
0430デフォルトの名無しさん
2008/06/13(金) 16:12:56そこの実現例、nはどっから湧いてきたんだ?
0431デフォルトの名無しさん
2008/06/13(金) 16:40:42確かに、実装例はおかしいね・・・サイト管理者に聞いてみw
0432デフォルトの名無しさん
2008/06/13(金) 16:43:06そう思って strncmp のとこも見に行ったw
0433デフォルトの名無しさん
2008/06/13(金) 16:50:14こういう間違いを犯す事もあるんだな
0434デフォルトの名無しさん
2008/06/13(金) 16:57:130435デフォルトの名無しさん
2008/06/13(金) 16:58:04簡単なことは気が抜けちゃうんだよ
0436デフォルトの名無しさん
2008/06/13(金) 17:02:04映像コンテンツに於いても、映画ではあまりそういうことはないが
アニメなんて日本語でおk日本語でおkなものも少なくないw
0437デフォルトの名無しさん
2008/06/13(金) 17:46:24[2] 問[1] 1^1+2^2+3^3+4^4+……99^99を1000で割った値を求めよ。
問[2] 1から20までの数すべてで割り切れる最小の正整数を求めよ。
[3] 環境
[3.1] LINUX
[3.3] C
[4]6月16日
[5]なし
2問も書いて厚かましいかもしれませんが
よろしくお願いします
0438デフォルトの名無しさん
2008/06/13(金) 18:19:22#include <stdio.h>
unsigned int f(unsigned int a,unsigned int b,unsigned int m)
{
/* a^b (mod m) */
unsigned int x=1;
while(b!=0){
if(b%2==0){
a=(a*a)%m;
b=b/2;
}
else{
x=(x*a)%m;
b=b-1;
}
}
return x;
}
int main( void )
{
int i;
int answer=0;
for(i=1;i<=99;i++)
answer=(answer+f(i,i,1000))%1000;
printf("1^1+2^2+3^3+...+99^99≡%d (mod 1000)",answer);
return 0;
}
実行結果:1^1+2^2+3^3+...+99^99≡920 (mod 1000)
a^b ( mod m)の値を返す関数の引数やら色々unsigned int になってるけど
気に入らなかったらこのくらいの計算ならintに変えても大丈夫だろう
というか、答えあってるのかな・・・これ
0439デフォルトの名無しさん
2008/06/13(金) 18:20:590440デフォルトの名無しさん
2008/06/13(金) 18:22:050441デフォルトの名無しさん
2008/06/13(金) 18:24:08[2] 問題文:
構造体配列で名前と背丈適当に入れて、1番背の高い人表示するプログラムを作成せよ。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6898.txt
[3] 環境 OS:WindowsC言語
その他:
関数list srchmaxtall内の maxt.name = (p + i)->name;の行でのエラーが出てしまい困っています。
maxt.name = (p + i)->name;この行を消すとエラーが消え、実行されるのでこの行がどこか間違っていると思うのですが
文字列の格納の仕方がどこか間違ってますか?
お願いします、誰か教えて下さい。
0442デフォルトの名無しさん
2008/06/13(金) 18:33:56文字列には代入できない。エラーが出た時は常にエラーメッセージをちゃんと読むこと。
strcpy(maxt.name,(p + i)->name);
0443デフォルトの名無しさん
2008/06/13(金) 18:34:53問[2]
#include <stdio.h>
int gcm(int a, int b) { return a % b ? gcm(b, a%b) : b; }
int main(void)
{
int i, n = 1;
for(i=2; i<=20; i++) if(n % i) n *= i / gcm(n, i);
printf("%d", n);
return 0;
}
0444デフォルトの名無しさん
2008/06/13(金) 19:00:40ありがとうございます!助かりました!
大学の講義でstrcpyは習った事がなかったのですが
この関数以外で簡単に記述する方法があれば教えて下さい
0445デフォルトの名無しさん
2008/06/13(金) 19:03:540446デフォルトの名無しさん
2008/06/13(金) 19:07:02232792560
232792560 % 2=0
232792560 % 3=0
232792560 % 4=0
232792560 % 5=0
232792560 % 6=0
232792560 % 7=0
232792560 % 8=0
232792560 % 9=0
232792560 % 10=0
232792560 % 11=0
232792560 % 12=0
232792560 % 13=0
232792560 % 14=0
232792560 % 15=0
232792560 % 16=0
232792560 % 17=0
232792560 % 18=0
232792560 % 19=0
232792560 % 20=0
検算コード入れてみた。すげー。あってるじゃん。検算コード入りソース↓
0447デフォルトの名無しさん
2008/06/13(金) 19:07:51#define int long long
int gcm(int a, int b) { return a % b ? gcm(b, a%b) : b; }
#undef int
int main(void)
#define int long long
{
int i, n = 1;
for(i=2; i<=20; i++) if(n % i) n *= i / gcm(n, i);
printf("%lld¥n", n);
/*チェック*/
for(i=2;i<=20;i++)
printf("%lld % %% lld=%lld¥n",n ,i,n %i);
return 0;
}
0448デフォルトの名無しさん
2008/06/13(金) 19:07:52>251さん
raw形式です。気にかけてくださって有難うございます。
0449デフォルトの名無しさん
2008/06/13(金) 19:24:14nを2で割って447のチェック試してみろ
0450デフォルトの名無しさん
2008/06/13(金) 20:17:47問1を適当にといてみたら答えがオーバーフローしたw
0451デフォルトの名無しさん
2008/06/13(金) 20:25:42とりあえず作ってみた
出力の仕様がよくわからんので適当になおしてくれ
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6899.c
0452デフォルトの名無しさん
2008/06/13(金) 20:34:321^1+2^2+....+99^99=(恐らく)
371115746176445351701210713361941528546861949073514542015172437236580034634746971244943788132460150776779198800002366059871900041784732217539059306483834977865973576751345853385981719448969027641920
だから1000で割った値は、下3桁を000にしたものが答
ソースはC++だから無意味なんで省略
こういった問題はC/C++の問題としては余りにも不適当。検算のしようがないじゃん。
誰だこんな宿題出したの?
この結果で見る限り
>>438で使われてる式は合ってるな (ま、当然と言えば当然だが)
0453デフォルトの名無しさん
2008/06/13(金) 20:39:120454デフォルトの名無しさん
2008/06/13(金) 20:41:44ユークリッドの互除法を使ってるのは分かるんですが
そのプログラムにより何故目的の数値が出てくるのか分からないんですが…
できれば詳しく教えてもらえませんか?本当にすいません
0455デフォルトの名無しさん
2008/06/13(金) 20:43:38数学板の質問箱にでも逝って1,2,3,4,5,6,7,8,9,10,...,20の最小公倍数を求める方法を
聞いてくるのが最善かと
0456デフォルトの名無しさん
2008/06/13(金) 20:47:241と2の最小公倍数と3の最小公倍数を求める
1〜3の最小公倍数と4の最小公倍数を求める
・
・
1〜19の最小公倍数と20の最小公倍数を求める
0457デフォルトの名無しさん
2008/06/13(金) 20:48:22ありがとうございます
>>452
今日の実技試験でこの問題が出されました
問題にはヒントとしてオーバーフーロー起こすからどうとかこうとか書いてました
0458デフォルトの名無しさん
2008/06/13(金) 20:48:31構造体はそのままコピーできる
つまり
maxt.tall = (p + i)->tall;
strcpy(maxt.name, (p + i)->name);
じゃなくて
maxt=p[i];
でいい
0459デフォルトの名無しさん
2008/06/13(金) 20:54:56本当に1000で割った値?余りじゃなくて?
0460デフォルトの名無しさん
2008/06/13(金) 20:56:47先ほどプリント見たら
余りでした…すいません…
0461デフォルトの名無しさん
2008/06/13(金) 20:58:510462デフォルトの名無しさん
2008/06/13(金) 21:05:49int main(void)
{
int i, j, rt = 0;
for(i=1; i<=99; i++) {
int r = 1;
for(j=0; j<i; j++) r = (r * i) % 1000;
rt += r;
if(rt >= 1000) rt -= 1000;
}
printf("%d\n", rt);
return 0;
}
0463デフォルトの名無しさん
2008/06/13(金) 21:24:08ありがとうございます
0464デフォルトの名無しさん
2008/06/13(金) 22:19:10ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6900.c
まっ、麻呂もクソースを提示するでおじゃ〜
0465デフォルトの名無しさん
2008/06/13(金) 22:58:24[2] 問題文:コマンドラインに指定されたディレクトリのファイルに変更があったら、そのファイルをコンソールに
出力するプログラムを作りなさい。(出力:時刻、ファイル名、(新規作成/削除/内容変更/アクセス))
[3] 環境 OS:gcc Linux
[4]言語: C
[5]その他:
system関数などの子プロセスを作成をさせたりすることはしてはならないそうです。
0466465
2008/06/13(金) 22:59:210467デフォルトの名無しさん
2008/06/13(金) 23:05:59変更があったらって、何をもとに判断するん?
0468デフォルトの名無しさん
2008/06/13(金) 23:27:13[2] 問題文 以下を逆ポーランド記法を使って答えを求めるプログラムを作成せよ
char a[] = "123+*45+*"
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン:VC 6.0
[3.3] 言語: C
[4] 期限:14日まで
[5] その他の制限:関数、配列、などを習いました
よろしくお願いします
0469デフォルトの名無しさん
2008/06/13(金) 23:41:36今日一日、友人と考えていたのですが、置き換えた文字列が別の文字に化けたりで
結局完成しませんでした。
なので>>362さんのコードを是非使わせていただきます。ありがとうございます。
0470デフォルトの名無しさん
2008/06/14(土) 00:17:58http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6901.c
とりあえず指定したディレクトリの中身と
中にあるファイルのファイル名、作成、更新、アクセス時間を表示する
部分は作っておいたでおじゃる。
時間に関してはプロパティの時間の値をもとに ctime を用いて表示しているでおまる。
あとは、適当に、何をもとに変更したか条件をつけて作り変えるでござるよ。
0471デフォルトの名無しさん
2008/06/14(土) 00:44:42[2] 問題文(含コード&リンク):
1,文字列に母音(a,i,u,e,o)が何個含まれているかをint型数値として返すような関数VowelNumber()を作成せよ。
また,この関数を使用して,キーボードから入力された文字列に
母音が何個含まれているかを表示するプログラムを作成せよ。
2,
(1)
ある自然数に対して,その自然数の約数は何個かを関数値として返すような
関数FactorQuantity()を作成せよ。
例として20の場合は{1,2,4,5,10,20}なので個数は6となる。
(2)
ある自然数Nの約数の個数が2個だけ(1とNだけ)の場合,Nは素数である。
そこで(1)の関数FactorQuantity()を利用してNが素数がどうかを判定し,
Nが素数なら1を返し,素数でなければ0を返す関数Prime()を作成せよ。
(3)
(2)の関数Prime()を用いて次のプログラムを作成せよ。
2つの自然数a,bを入力させ(a<bとする),a以上b以下の素数を全て表示するプログラムを作成せよ。
※ソースファイルは1つのファイルにまとめよ。
[3] 環境
[3.1] OS:Linux
[3.3] 言語:C
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
いままで習ったのは、printf,scanf,ループ文,if文,配列,strcat,strcpy,strlen,stricmp,strcmpなどです。まだポインタは習っていません。
解説も少し加えてくれるとありがたいです。
よろしくお願いします。
0472デフォルトの名無しさん
2008/06/14(土) 00:56:232.
#include <stdio.h>
int FactorQuantity(int n)
{
int i, ret = 1;
for(i=1; i<=n/2; i++) if(n % i == 0) ret++;
return ret;
}
int Prime(int n)
{
return FactorQuantity(n) == 2;
}
int main(void)
{
int i, a, b;
scanf("%d%d", &a, &b);
for(i=a; i<=b; i++) if(Prime(i)) printf("%d ", i);
return 0;
}
0473デフォルトの名無しさん
2008/06/14(土) 00:58:390474デフォルトの名無しさん
2008/06/14(土) 01:08:01ありがとうございました
明日実行してみます
0475デフォルトの名無しさん
2008/06/14(土) 01:24:381
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6902.c
0476デフォルトの名無しさん
2008/06/14(土) 01:26:29自治厨いね
0477デフォルトの名無しさん
2008/06/14(土) 01:28:12もう出てるけどやっちゃたので
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6903.txt
解りやすいコードだと思うから解説なしで
0478デフォルトの名無しさん
2008/06/14(土) 01:28:48いちいち反論するお前みたいなバカがうざい
空気読め、引きこもり
0479デフォルトの名無しさん
2008/06/14(土) 01:30:17> 自治厨いね
日本語でおk。ここに書き込むのに、{} の位置やら無駄に改行をして
ウザイのが自分だと気づかない痛い自己中だろ・・・
0480デフォルトの名無しさん
2008/06/14(土) 01:31:44麻呂さんありがとうございます
0481デフォルトの名無しさん
2008/06/14(土) 01:43:57身勝手な行動をとるし、そのせいで放置されるんだろうね・・・
言っても聞かない基地外は、スルー、放置が一番だしな。
どうせ面倒臭いだの、他の奴に先を越されるのが嫌だから
少しでも早くって、必死に書き込んでいるんだろうけどさ・・・
何か言われると、俺に命令するな!だろ。しかも、罵倒レスをし返す。
孤立した引きこもりが取るお決まりのパターンだな。
だから集団社会の中に入れないんだよ。
頼むから秋葉原で暴れるなよ。昼と夜が逆転した自己中さん。
0482デフォルトの名無しさん
2008/06/14(土) 01:50:321レスで収まる範囲くらい許して欲しいところ
正直うpろだ使うのが面倒なときもある
0483デフォルトの名無しさん
2008/06/14(土) 01:51:530484デフォルトの名無しさん
2008/06/14(土) 01:56:30いね = 去ね
高校出てれば当然習ってるはずの言葉。
0485デフォルトの名無しさん
2008/06/14(土) 01:57:39毎日毎日よくそこまで暴れられるなw
0486デフォルトの名無しさん
2008/06/14(土) 01:59:02>>481はアウトですか?
0487デフォルトの名無しさん
2008/06/14(土) 02:00:46いつもうpロダ使えっていっては反論されて大暴れ。
0488デフォルトの名無しさん
2008/06/14(土) 02:06:17>>487 自己紹介乙。いつもうpロダ使えって注意されてファビョっているのがお前か・・・
>>484 ますます日本語でおk。どこの高校だよ、お前は?w
0489デフォルトの名無しさん
2008/06/14(土) 02:09:400490デフォルトの名無しさん
2008/06/14(土) 02:10:110491デフォルトの名無しさん
2008/06/14(土) 02:10:18いろいろとひどいコードだなw
0492デフォルトの名無しさん
2008/06/14(土) 02:10:38現代において、現代語ではなく古典に出てくる言葉でコミュニケーションをとるなんて
流行ですか?w ますます日本語でおk、だな。時代によっては日本だって
大きく社会情勢も文化も違うし。あっ、近代を理解できない時代遅れか、すまねーな。
PCも性能も、随分変わっちまったしな。まぁ、うpロダも使えない時代遅れは
いつまでもコードを直接書いて、他人の迷惑を無視してなさい。
知らないところでウザがられてるから。
0493デフォルトの名無しさん
2008/06/14(土) 02:12:210494デフォルトの名無しさん
2008/06/14(土) 02:13:31>2 (動ナ四)
>〔補説〕 1 の四段化。近世中期以降の語
>[1] (関西地方で)立ち去る。帰る。
0495デフォルトの名無しさん
2008/06/14(土) 02:15:520496デフォルトの名無しさん
2008/06/14(土) 02:19:25華麗にスルーしようぜ
どうせこいつ第二の加藤君だから
0497デフォルトの名無しさん
2008/06/14(土) 02:26:18ttp://dic.yahoo.co.jp/dsearch?enc=UTF-8&p=%E3%81%84%E3%81%AC%E3%82%8B&stype=1&dtype=0
現代語でおk。現代において古典から用いる奴って、何がしたいんだ?
まぁ、最近じゃ文系でもプログラミングやってんの?俺の通ってた大学は
もともと外語学から発展した大学で、コンピュータだらけの学校だったが
文系でも一般教育の科目でコンピュータを扱う授業はあったが・・・
0498デフォルトの名無しさん
2008/06/14(土) 02:28:14ポインタ使ってるが良いか?
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6904.txt
0499デフォルトの名無しさん
2008/06/14(土) 02:30:31> ◆ナ変は現在関西方言で用いられる。また、近世中期以降、四段化して用いられるようにもなった。
0500デフォルトの名無しさん
2008/06/14(土) 02:32:10大学名教えてw
教えてくれなかったら脳内大学とみなす
0501デフォルトの名無しさん
2008/06/14(土) 02:34:390502465
2008/06/14(土) 02:35:24初期状態はすべて新規作成という設定だそうです。つまり起動したら対象のディレクトリのファイルを新規作成
という状態で出力しなければなりません。
プリントを確認したら、フォルダーの中のファイルは10000個以内に制限されるそうですがサブフォルダー
を任意の階層まで含むことはあり得るそうです。
明示されていないので、対象フォルダー以外のフォルダーへの書き込みアクセスは可能なようですが、
この点来週にでも確認したいと思ってます。
>>470
定期的にls -laをsystem()し、一時ファイル(対象ディレクトリ外)にリダイレクト出力し、
直近の同種ファイルリストとの差分で、出力しようかと思いましたが、system()やfork()が使用禁止らしいので
ls -laに相当するものを作らなければならないことは確実でしたが、参考になりました。
ありがとうございます。けれど、残念ながら回答にはなっていない感じです。
0503デフォルトの名無しさん
2008/06/14(土) 02:36:32いねくらいで荒れるなよ
0504デフォルトの名無しさん
2008/06/14(土) 02:37:090505デフォルトの名無しさん
2008/06/14(土) 02:37:37ttp://contest.thinkquest.jp/tqj2001/40555/doushi2.htm
ttp://en.wiktionary.org/wiki/%E5%8E%BB%E3%81%AC
あぁ、なんだ、関西人か?それとも、本当に古代人?化石になっても
なおこの世に未練を残した、貴族文化の時代の方々ですか?
最近の再生医療もすごいけど、古人を残す保存技術もあったんですかっ!?
ググってもろくなページが検出されねーや。ツマンネッ
0506468
2008/06/14(土) 02:37:59作っていただきありがとうございます
できればポインタを使わずに作っていただきたいのですが
あとまだ初心者なので簡単にお願いします
0507デフォルトの名無しさん
2008/06/14(土) 02:38:300508デフォルトの名無しさん
2008/06/14(土) 02:40:37いねを知っている程度でそこまで詰まらないことが言えるなんて
大学に入学したことがない、かなりレベルの低い知識しかもってないんだw
っつかね、もうお前みたいなことを言い出したら負けだよ。くだらねぇ。
この世に全知全能な奴だけが大学に入学しているわけでもないし、
プログラミングをやっているわけでもない。しかし、なんで知らなかったってことになってるの???
辞書も引いたことがない奴が入れる学校すらないだろうねw
ちゃんと出典を見たか?タイピングミスを無理やりフォローして必死になっている
ようにしか思えんな。みっともないから止めとけ。関西人
0509498
2008/06/14(土) 02:40:45あー、スマン
最初にスタックをchar型で作ってたから
/* スタック初期化 */
memset( stack, 0, STACK_SIZE );
を
/* スタック初期化 */
memset( stack, 0, sizeof(int) * STACK_SIZE );
に直してくれ
0510デフォルトの名無しさん
2008/06/14(土) 02:40:500512デフォルトの名無しさん
2008/06/14(土) 02:42:03> 必死で
にーーーほーーーんーーーーごーーーーでーーーー おkw
どっちが必死なんだよ、フォローにもならねー古典野郎w
お前はプログラミングなんてやってねーで、古事記でも読んでろや。
現代語を知らない方が痛す
0513デフォルトの名無しさん
2008/06/14(土) 02:44:480514デフォルトの名無しさん
2008/06/14(土) 02:46:20本物のクソース見せてやる><
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6905.c
0516デフォルトの名無しさん
2008/06/14(土) 02:51:07強がっている場違い、うpロダすら使えない奴が必死すぎて笑え・・・ない・・・
そんなの知らなくても大学に入学できるが、自分は知っていて
敢えてタイピングミスだと茶化してみたら、詰まらないフォローをしててワラタw
素直に認めたら?タイピングミスだって。ほんっと、現代語でおkな時代遅れか・・・
スレタイ読める?読めない?空気読める?読めない?
ttp://jp.youtube.com/watch?v=RIL28wqOQGA
お前ってさぁ〜〜〜、数学の授業中に歴史の話でもしてんの?
場違い野郎ってほんっとKYだよな。ぜってー社会じゃ成功しないタイプ。
むしろ、そういう詰まらないことを持ち出して、他人を罵倒、非難するから
余計に周りから無視されて、孤立が原因で失敗するんだろ?
だいたい、こんな時間にこのスレで必死になって、ソースも書かずに
罵倒レスとな?(麻呂風に)
もはや大学にすら入学できなかった奴の妬み、僻みだな。哀れ、チーン。
0517デフォルトの名無しさん
2008/06/14(土) 02:51:58str[i] == 'a' が2個あるぞw
0518デフォルトの名無しさん
2008/06/14(土) 02:52:40で、お前どこの大学なの?
0519デフォルトの名無しさん
2008/06/14(土) 02:52:450520デフォルトの名無しさん
2008/06/14(土) 02:53:30脳内に決まってるだろw
0521498
2008/06/14(土) 02:54:19>>511
…逆ポーランド記法で、俺の技量じゃ、これ以上簡単にならん…
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6906.txt
0522デフォルトの名無しさん
2008/06/14(土) 02:54:54相変わらず完全に論破されると後釣り宣言ですか。
全然進歩してないね。
0523デフォルトの名無しさん
2008/06/14(土) 02:57:22あれ?
君の敵は472じゃなかったの?
ソース書いてるじゃん。
0524デフォルトの名無しさん
2008/06/14(土) 02:58:47>もはや大学にすら入学できなかった奴の妬み、僻みだな。
なんでこいつ追い詰められると自己紹介しちゃうんだろうな。
0525デフォルトの名無しさん
2008/06/14(土) 03:00:00どうもです!!
まだ時間があるので自分でもねばってみます
0526デフォルトの名無しさん
2008/06/14(土) 03:02:520527デフォルトの名無しさん
2008/06/14(土) 03:09:39何だか末期的なスレでつね
0528デフォルトの名無しさん
2008/06/14(土) 03:12:04えー俺のクソースしかと?
0529デフォルトの名無しさん
2008/06/14(土) 03:14:41得意気になれる恥ずかしい香具師・・・こんな時間にコーヒーを
ディスプレイに吹いちまったじゃねーかよw
知らなかったと勘違いした奴を、勝手な自分基準で蔑む、貶す必死さ・・・
もう終わってるよ・・・。こんなスレで、自分以下の人間を見て安心してんだろ?
頼むから、秋葉原以外の歩行者天国で暴れるなよ。警備は強化されているだろうけど。
ちなみに、自分、高校生のときは10段階評価で平均8.0以上、3年間ほとんど9.0以上で
成績優秀者だったんで、センター試験なんぞ屁でもないものは受けずに
自己推薦で卒業する前の年には、入学する大学は決まってましたから。
理系の学科を専攻、大学生時代も、秀、優ばかりの成績優秀でしたが、何か?
国語の試験もあったけど、去ぬはたまたま試験に出なかったけど、知ってましたが何か?
スレが流れちゃうんで、この辺で。コード書けよ、古典で勝負しようとしないでw
0530デフォルトの名無しさん
2008/06/14(土) 03:20:17どこの高校なんだ?
どこの大学かもまだ訊いてないけどさ。
通知簿の成績なんてその学校の中での相対評価に過ぎないんだから、
学校のレベルが分からんことには9.0とか優とかいっても何の意味も成さないよ。
0531デフォルトの名無しさん
2008/06/14(土) 03:20:21お前の書き込みが一番口汚く他人を罵ってるよ。
0532デフォルトの名無しさん
2008/06/14(土) 03:21:370533じゃあ和むソースコードをひとつ
2008/06/14(土) 03:22:51int
main
(
void
)
{
printf
(
"H"
"E"
"L"
"L"
"O"
"!"
"W"
"O"
"R"
"L"
"D"
"!"
)
;
return
(
0
)
;
}
0534デフォルトの名無しさん
2008/06/14(土) 03:24:370535デフォルトの名無しさん
2008/06/14(土) 03:58:39バカが他人にケチつけるのは一億年はえーよw
0536デフォルトの名無しさん
2008/06/14(土) 04:00:27亀レスで蒸し返してんだ・・・やべぇ、こいつ歩行者天国に向かうぞ。
誰か阻止してやってくれ。
0537デフォルトの名無しさん
2008/06/14(土) 04:00:54これらをNGワードに加えればすべておk
と、今までROMってた自分が言ってみるテスト
0538デフォルトの名無しさん
2008/06/14(土) 04:04:21あれあれ?
自分は平気で一日前のを蒸し返すのに、他人には許さないの?
まさか445本人でしたか?
そりゃ恥ずかしくて思わずそう言いたくなるのも分かるよw
0539デフォルトの名無しさん
2008/06/14(土) 04:14:49ループの外にbuff[i] = '\0'があるのに、breakする前にもあるのはムダ。
あとVolumeNumber関数間違ってる。
0540デフォルトの名無しさん
2008/06/14(土) 04:23:22Vowelだぞ、よく見ろw
0542デフォルトの名無しさん
2008/06/14(土) 05:04:13本当だw
>>471は直しておいてね
0543デフォルトの名無しさん
2008/06/14(土) 05:36:21ここぞといわんばかりに、自分に対して意見をした奴とは別の奴に
噛み付いているよな・・・キモイ。見えない敵と戦う奴って、恥ずかしいなw
0544デフォルトの名無しさん
2008/06/14(土) 05:40:04資料を提示されて言い返されたのがよっぽど悔しかったんだな・・・
0545デフォルトの名無しさん
2008/06/14(土) 05:46:06壁のうちならいいけど、人は殴るなよw
0546デフォルトの名無しさん
2008/06/14(土) 05:53:03>>1にも長い時だけうpろだ使えと書いてあるし。
0547デフォルトの名無しさん
2008/06/14(土) 05:54:37そんなことどうでもいいから早く大学名とついでに高校名を教えろよw
脳内だから言えませんか〜〜〜w
0548デフォルトの名無しさん
2008/06/14(土) 05:59:330549デフォルトの名無しさん
2008/06/14(土) 06:01:530550デフォルトの名無しさん
2008/06/14(土) 06:04:390551デフォルトの名無しさん
2008/06/14(土) 06:10:010552デフォルトの名無しさん
2008/06/14(土) 06:20:240553デフォルトの名無しさん
2008/06/14(土) 06:43:00cont =1;
SIGINTを受けたらcontが0になるようハンドラーを仕込んでおく。
fts(3)で対象ディレクトリを開く。
while (cont) {
fts_children(3) でプレインファイルのリストを作成。
前回のリストと比較し、
増えたものは新規作成、
消滅したものは削除、
fts_statp->st_mtimeが変わっていたら内容変更、
fts_statp->atimeが変わっていたらアクセス。
前回のリストを破棄。
今回のリストを前回のリストとして記憶。
(次回のfts_children(3)の呼び出しで今回のリストは破壊されるので注意)
何秒かスリープ。
}
後始末。
でどうかな。
0554デフォルトの名無しさん
2008/06/14(土) 07:14:37人間性が崩れているお前が言うなよ・・・
しっかし、去ぬだけでここまで煽れるお前らに脱帽だぜ。
よっぽど暇な奴がこのスレに常駐してんだな。
0555デフォルトの名無しさん
2008/06/14(土) 07:16:31具体的にどこがダメか、指摘くらいしたら?口先だけの坊や。
0556デフォルトの名無しさん
2008/06/14(土) 07:21:350557デフォルトの名無しさん
2008/06/14(土) 07:27:00いやバカだからこそか?
0558デフォルトの名無しさん
2008/06/14(土) 07:29:13煽られるのは自分が原因だってわかってないの?
0559デフォルトの名無しさん
2008/06/14(土) 07:36:26そういう書き方が荒れるもとだろ。
0560553
2008/06/14(土) 07:46:020561デフォルトの名無しさん
2008/06/14(土) 07:53:07もはや人格どころか人生が狂ってるな、こいつら。だからこんな場所にいても
まともなソースが書けねーんだよw
0562デフォルトの名無しさん
2008/06/14(土) 08:24:18#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/wait.h>
#define MAXLINE 1024
int main(int argc, char *argv[]){
int fd[2];
char line[MAXLINE];
pid_t pid;
if (pipe(fd)<0) exit(1);
if ((pid=fork())>0) { /*parent process */
close(fd[0]);
dup2(fd[1],fileno(stdout));
close(fd[1]);
fgets(line, MAXLINE, stdin);
fputs(line, stdout);
fflush(stdout);
wait(NULL);
exit(0);
} else{ /*child process */
close(fd[1]);
dup2(fd[0],fileno(stdin));
close(fd[0]);
fgets(line, MAXLINE, stdin);
fputs(line, stdout);
exit(0);
}
}
0563465
2008/06/14(土) 09:19:16>>560
そういう方向性ですね。取り敢えずありがとうございます。
問題は2つのファイル情報リストファイル(新旧)の
突き合わせ処理ですね。何かめんどくさそうというか、
やり方を間違えると、激重になってしまう悪寒です
0564デフォルトの名無しさん
2008/06/14(土) 10:05:12[1] 授業単元:プログラミング演習
[2] classを使って行列式を計算する物を作る
足し算、行列同士の掛け算、スカラー倍できるもの
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:VisualC++6.0
[3.3] 言語: C++
[4] 期限:6月16日、13時まで
0565デフォルトの名無しさん
2008/06/14(土) 13:49:080566デフォルトの名無しさん
2008/06/14(土) 14:03:31あほかw
0567デフォルトの名無しさん
2008/06/14(土) 14:06:020568デフォルトの名無しさん
2008/06/14(土) 14:09:43この際、効率性は考えないとして、
小行列式展開すれば簡単だろ。
0569デフォルトの名無しさん
2008/06/14(土) 15:39:36[2] 問題文:動的配列を使ってヒープを実現せよ。ただし、各記憶要素xは整数値をとるものとする。
関数として、空のヒープを生成するcreate(),要素xを挿入するinsert(int x),
最小値を削除してその値を返すdeletmain(),ヒープが空かどうかを判定するempty(),
現在のヒープ内容全体を表示するshow()を用意する。
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc 3.4
[3.3] 言語: C
[4] 期限: 2008年6月28日まで
[5] その他の制限: ポインタはできるだけ使用しないでください
よろしくお願いします。
0570デフォルトの名無しさん
2008/06/14(土) 16:39:57期限過ぎてますが提出は出来るのでお願いします
0571デフォルトの名無しさん
2008/06/14(土) 16:46:49そのソースを修正するの?一からでもいいの?
0572デフォルトの名無しさん
2008/06/14(土) 17:36:33insert_sortのj--を分離、それからquickの最後の再帰を
quick(first,first_p);
quick(first_p+1,last);
にすりゃ動くだろ。
ついでにtyuuouとか余分な細かいとことかも直しとけよ。
0573デフォルトの名無しさん
2008/06/14(土) 18:10:22説明不足ですいません
二次の行列式を計算するやつです
0574デフォルトの名無しさん
2008/06/14(土) 18:41:57しねよ
0575デフォルトの名無しさん
2008/06/14(土) 18:46:12ttp://ja.wikipedia.org/wiki/%E5%A4%A7%E5%88%86%E5%BC%81
現代語だよ?秘密のケンミンSHOWで紹介されてたが
0576デフォルトの名無しさん
2008/06/14(土) 18:51:29またお前か、今度はタイピングミスはしなかったかw
0577デフォルトの名無しさん
2008/06/14(土) 18:54:49とっとといね
0578デフォルトの名無しさん
2008/06/14(土) 19:09:27お前さんはコードかかないのか?
0579デフォルトの名無しさん
2008/06/14(土) 19:12:34ホントに「行列式(ttp://ja.wikipedia.org/wiki/%E8%A1%8C%E5%88%97%E5%BC%8F)」を計算するのでいいのね?
0580デフォルトの名無しさん
2008/06/14(土) 19:17:57> 自治厨いね
0581デフォルトの名無しさん
2008/06/14(土) 19:40:310582デフォルトの名無しさん
2008/06/14(土) 19:42:48複数レスにわたる長いプログラムであればうpろだ使えってのはわかるが、
1レスで収まる範囲くらい許して欲しいところ
正直うpろだ使うのが面倒なときもある
0583デフォルトの名無しさん
2008/06/14(土) 19:53:12質問者でもないんだから他人のコードなんて見る必要ないじゃん。
0584デフォルトの名無しさん
2008/06/14(土) 20:42:11○このスレの流れを懸念している
0585デフォルトの名無しさん
2008/06/14(土) 20:48:160586デフォルトの名無しさん
2008/06/14(土) 21:53:06http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6907.txt
0587デフォルトの名無しさん
2008/06/15(日) 00:41:11> あとVolumeNumber関数間違ってる。
1行目の指摘はともかく、2行目の指摘は
言うからにはどこが間違っているか、具体的に。できるなら訂正も。
指摘無しに間違っているとだけ言うのは論外。
ちなみに、母音の数をカウントした結果はあっているようだが?
>>546
> 長い時だけ
だけ なんて限定はしていないよ。便利って記述はあるが?
にしても、なんで使えって言われているのかわかってないだろ。
質問者がではなく、回答する側だってスレをスクロールさせてみているし
やたらとソースをはりつけられてもスレが長くなってしまうことで、
答えたとしても質問者も回答レスを見つけるのに手間が掛かっているようだが?
答えたのに、まだ答えてもらってませんって催促するわ、回答者に
確認したレスはしないわで、かなり荒れてんだろ?だから質問、回答のレスが
増えたことも考えて、ここに直接書き込むのを自重してうpロダ使ったらどうだ?
って催促もあるんだよ。命令だの指図だの、自己中な考えじゃ
世の中うまく渡っていけないよ。例えルールが無くてもマナーってものは存在する。
引きこもってないで、外に出てみろ。特に人が集まる都心なんて、ちょっとしたことでも
自分勝手や周りに迷惑が掛かることは、監視員に注意されるよ。それで切れて
監視員に罵声を浴びせている映像が放送されてたけどなw
0588デフォルトの名無しさん
2008/06/15(日) 01:09:04クソースを活用して必要な情報をファイルに吐いて、次回起動時は
そのファイルと、現在の情報を比較して結果を出力、また情報を
吐いとく、でいいんじゃなくて?
> 直近の同種ファイルリストとの差分で、出力しようかと思いましたが
> ls -laに相当するものを作らなければならないことは確実でしたが
この辺見る限りだとクソースの部分があれば解決っぽく思えたのにな。
あと、クソクソ言ってごめんな>おじゃるまる
0589デフォルトの名無しさん
2008/06/15(日) 01:13:53最後にaiueo以外の文字で終わる文字列含めばおかしい事がすぐ分かる
strをインクリメントした結果がNULLの時、strchrは文字列最後のNULLも含んで探索するからカウントが1足されてる
while( *str++ ) {
if( strchr(boin,(int)*str) ) cnt++;
}
↓
while( *str ) {
if( strchr(boin,(int)*str) ) cnt++;
str++;
}
0590デフォルトの名無しさん
2008/06/15(日) 03:33:48>>581
平均40回以下のトライには、ちょっとなってないけど…
後は自分でAIルーチンを詰めてくれ
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6909.txt
0591デフォルトの名無しさん
2008/06/15(日) 04:21:38質問者が聞いてきたならともかく、他人の宿題を答えてやろうっていうやつが自分で
間違いをみつけられないのは論外。
0592デフォルトの名無しさん
2008/06/15(日) 05:21:58[2] 問題文(含コード&リンク):
要素数 nScores=13 の配列 scores[]={65,0,95,0,0,79,82,0,84,94,86,90,0} から0を除去して、
要素数 nScores=8 の配列 scores[]={65,95,79,82,84,94,86,90} を
求める関数 RemoveZeroElements(array,n) を書きなさい。
main() では次の実行文により、0を除去した配列の要素数を求めて、
ファイルに nScoresscores[] を書き出すこと。
nScores = RemoveZeroElements(scores,nScores);
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ名とバージョン:VisualC++6.0
[3.3] 言語:C++
[4] 期限: 6月16日まで
[5] その他の制限:配列、関数などは習いました。
よろしくお願いします。
0593320
2008/06/15(日) 05:35:24どなたかお願いします。
for文で描画しているようなので、for文を書き換えれば出来ると思うのですが
sin波や円を描くためのmath関数を使うのが、自分には難しくて出来ません。
期限は6/19(木曜日)でお願いします。
0594デフォルトの名無しさん
2008/06/15(日) 05:53:50{
int i, j;
for(i=j=0; i<n; i++) if(array[i]) array[j++] = array[i];
return j;
}
0595デフォルトの名無しさん
2008/06/15(日) 06:45:26int RemoveZeroElements(int *array, int n){
int i=0,j=n;
for(; i<n-1; i++) if(array[i]==0) array[i] = array[i+1] else j=i;
return j+1;
}
0596デフォルトの名無しさん
2008/06/15(日) 06:47:200597デフォルトの名無しさん
2008/06/15(日) 06:47:51小 細 工
0598デフォルトの名無しさん
2008/06/15(日) 07:14:29お前はここに書き込む資格ないよ
0599デフォルトの名無しさん
2008/06/15(日) 07:36:45処理の速度は度外視して、ローカル変数をi以外使わないで等価なものが書けるかな?
変数が自由に使える世界ばかりじゃないんだよ。勿論再帰は論外
0600デフォルトの名無しさん
2008/06/15(日) 07:43:12期限までまだ時間があるのでヒントだけ:
最初のfor文はクリアしてるだけ。
描画してるのはその直後の
data[0] [128] [128] = 255; /*最大値255, 最小値0*/
の所だよ。ここをfor文で囲う必要があるかな。
0601デフォルトの名無しさん
2008/06/15(日) 07:55:11題意を全く満たしてないクソと等価なもの書いてどうすんだよw
0602デフォルトの名無しさん
2008/06/15(日) 08:04:130603デフォルトの名無しさん
2008/06/15(日) 08:07:12見ただけじゃ理解できないほど脳みそ腐ってるんなら実行してから物言えよw
0604デフォルトの名無しさん
2008/06/15(日) 08:18:290605デフォルトの名無しさん
2008/06/15(日) 08:40:34595と596もj使ってるのに
0606デフォルトの名無しさん
2008/06/15(日) 08:42:03int CountZeroElements(int *array, int n){
int c;
for(c=0; n>=0; n--) c+=(array[n]!=0);
return c;
}
0607デフォルトの名無しさん
2008/06/15(日) 08:42:59int CountZeroElements(int *array, int n){
for(int c=0; n>=0; c+=(array[n--]!=0)) ;
return c;
}
0608デフォルトの名無しさん
2008/06/15(日) 08:43:370609デフォルトの名無しさん
2008/06/15(日) 08:47:41C++知らないからCで
int CountZeroElements(int *array, int n){
for(int c=0; n>=0; c+=(array[n--]!=0)) ;
return c;
}
int * RemoveZeroElements(const int * array, int n){
int i, c, *ret, len;
len=CountZeroElements(array, n);
ret=(int*)malloc(sizeof(int)*len);
for(i=c=0; i<n; i++)
if(array[i]!=0) ret[c++]=array[i];
return ret;
}
0610デフォルトの名無しさん
2008/06/15(日) 08:48:21if (array[i] == 0) {
for (--n; i < n; i++) array[i] = array[i + 1];
i = 0;
}
else i++;
}
return n;
0611デフォルトの名無しさん
2008/06/15(日) 08:49:55クソな595,596が使っているからこそ、ローカル変数を1つだけに
したコードを考えて欲しいんだナ
0612デフォルトの名無しさん
2008/06/15(日) 08:53:20>>610は一つになってるけど>>594よりムダが多いだろ
0613デフォルトの名無しさん
2008/06/15(日) 08:55:57int i;
??????????????????
}
この条件ではどーだ?
0614デフォルトの名無しさん
2008/06/15(日) 08:56:07int RemoveZeroElements(int* array, int n)
{
int len = 0; // 戻り値に使う配列の長さを格納する変数
int* work = new int[n]; // 作業用領域を確保
// 0を除去した配列を作業用領域に作り、配列の長さを求める
for(int i = 0; i != n; ++i)
{
if(array[i] != 0)
{
work[len++] = array[i];
}
}
// 作業用の配列から、引数で与えられた配列に、内容をコピーする。
for(int i = 0; i != len; ++i)
{
array[i] = work[i];
}
delete [] work; // 作業用領域の後始末
return len;
}
0615デフォルトの名無しさん
2008/06/15(日) 08:56:330616デフォルトの名無しさん
2008/06/15(日) 09:10:39[2] 問題文:
自然数nを入力し、nの階乗(1×2×…×n)を計算し、
10進数で表示するプログラムを作りなさい。ただし、n<10000程度までは正しく動くようにすること。
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:2008年6月27日まで
[5] その他の制限:いまポインタについて習っている所です
0617デフォルトの名無しさん
2008/06/15(日) 09:15:57>>218を参考にしな。
0618デフォルトの名無しさん
2008/06/15(日) 09:40:43#include <stdio.h>
#define N 1000000
int main(void)
{
int i, j, n, fig = 0;
int a[1000] = {0}, temp[1000] ={0};
scanf("%d", &n);
a[0] = 1;
for(i=2; i<=n; i++) {
for(j=0; j<=fig; j++) temp[j] = a[j] * i;
for(j=0; j<=fig; j++) {
if(temp[j] / N) {
a[j] = temp[j] % N;
if(j==fig) fig++;
temp[j+1] += temp[j] / N;
}
else a[j] = temp[j];
}
}
printf("%d", a[fig]);
for(i=fig-1; i>=0; i--) printf("%06d", a[i]);
return 0;
}
0619592
2008/06/15(日) 09:59:02若干流れが荒れてしまって申し訳ない。。。
0620デフォルトの名無しさん
2008/06/15(日) 10:10:08ありがとうございました。
0621デフォルトの名無しさん
2008/06/15(日) 10:11:020622デフォルトの名無しさん
2008/06/15(日) 10:17:28いまどきは滅多にないと思うけど、618は環境によっては正しく動かない可能性あるから。
0623デフォルトの名無しさん
2008/06/15(日) 10:21:18>>614はパソコン愛好会のお遊び勉強会向けのコードで大学の宿題じゃNG
効率はやや悪いが、
1.何を書き換えるかが把握しやすい。
2.ローカル変数をstaticにしている(必要もなくautoにしない)
3.newで許可無く勝手に変数を作っていない
という点に相違がある。こういうのが非常に大事になってくる。
int RemoveZeroElements(int *array, int n){
static int i,j;
for(i=0;i<n;i++){
if(array[i]==0){
for(j=i+1;j<n;j++){//後ろに0でない項があれば、それと交換する
if(array[j]){array[i]=array[j];array[j]=0;break;}
}//for
}//if
}//for
for(i=0;i<n;i++)
if(array[i]==0)
return i+1;
}
0624623
2008/06/15(日) 10:24:170625デフォルトの名無しさん
2008/06/15(日) 10:29:00>return i+1;
>return i+1;
>return i+1;
>return i+1;
0626デフォルトの名無しさん
2008/06/15(日) 10:30:43なんだこのクソコードw
0627デフォルトの名無しさん
2008/06/15(日) 11:23:48実行環境はメモリ余りまくりのWindowsXPだというのに・・・。
バカなの?
0628デフォルトの名無しさん
2008/06/15(日) 11:42:17ことなんて要求されないから、ローカル変数をautoに統一だなんて
DOSとかの貧弱なメモリ環境のコード書いてた時の戒律だぜw
実行環境はメモリ余りまくりのWindowsXPだというのに・・・。
それをやらないのってひょっとして
バカなの?
0629デフォルトの名無しさん
2008/06/15(日) 11:57:230630デフォルトの名無しさん
2008/06/15(日) 12:00:31すいません、実行すると配列の最後に0が入っちゃうんですけど。
配列の長さも9になってしまいます。
0631デフォルトの名無しさん
2008/06/15(日) 12:16:420632デフォルトの名無しさん
2008/06/15(日) 12:20:30>>593
誰もやらない理由って言うかさ、問題文と提示コードの内容が違うからじゃね
提示コードで処理してる data[3][Y_SIZE][X_SIZE]ってさ、明らかにPNMフォーマットじゃ無い
しかし問題文はPNMフォーマットを利用って書いてある
意味不明だよ、提示コードも良く分らずに君が書いたのか?
0633デフォルトの名無しさん
2008/06/15(日) 12:22:59よし、俺も関数内static変数バンバン使うぜ!
0634デフォルトの名無しさん
2008/06/15(日) 12:46:15C++ならこんな感じ
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6910.txt
0635デフォルトの名無しさん
2008/06/15(日) 13:07:10http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6911.c
0636デフォルトの名無しさん
2008/06/15(日) 13:09:478行目のPS3をP3にし、
21行目の%dの後ろにスペースを一個追加すれば、
ppmを吐くようになる。
0637デフォルトの名無しさん
2008/06/15(日) 13:16:15for (x = 0; x < X_SIZE; x++) {
y = 256 / 6.28 * sin(x / 256.0 * 6.28) + 128;
data[0][y][x] = 255;
}
0638デフォルトの名無しさん
2008/06/15(日) 13:17:08#include <math.h>
も忘れずに。
0639デフォルトの名無しさん
2008/06/15(日) 13:30:50(ただし、あまり美しくはかけない。)
double t;
for (t = 0; t < 6.28; t += 0.01) {
x = 128 * cos(t);
y = 128 * sin(t);
data[0][y][x] = 255;
}
ぐらいでどうかな。
渦巻きは、半径(ここでは128)をtにあわせて変化させてやれば良い。
0640デフォルトの名無しさん
2008/06/15(日) 13:37:50横着しないでpiから計算すれ。
0641デフォルトの名無しさん
2008/06/15(日) 13:39:04それぐらいは許容範囲にしてやれw
0642デフォルトの名無しさん
2008/06/15(日) 14:28:14[2] 問題文(含コード&リンク):ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6912.txt
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: VC6.0
[3.3] 言語: C++
[4] 期限: 2008/6/17
[5] その他の制限:問題文の制限のみ
なんだかもう頭の中がごちゃごちゃになってきました
御教授お願いしますorz
0643デフォルトの名無しさん
2008/06/15(日) 14:52:12#include<stdio.h>
int main()
{
int a[10], i, *pa, *pb;
for(i = 0; i < 10; i ++)
a[i] = i;
pa = a; /* a と &a[0] のどちらでも可 */
printf("a[0]=%d\n", pa[0]); /* pa[0] と *pa のどちらでも可 */
printf("a[4]=%d\n", pa[4]); /* pa[4] と *(pa+4) のどちらでも可 */
pb = a+5; /* a+5 と &a[5] のどちらでも可 */
printf("*(pb-2)=%d\n", *(pb-2)); /* *(pb-2) と pb[-2] のどちらでも可 */
return 0;
}
[2] 問題文(含コード&リンク):
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6913.txt
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: VC6.0
[3.3] 言語: C
[4] 期限: 本日24時まで
[5] その他の制限:出来るだけ簡素に
すいません、よろしくお願いします
0645デフォルトの名無しさん
2008/06/15(日) 18:37:20#include <stdio.h>
int char2int(const char *s);
int main(void){
char s[]="123";
int t;
t = char2int(s);
printf("文字列: %s \n", s);
printf("数値: %d \n", t);
return 0;
}
int char2int(const char *s){
int n = 0;
while(*s)
n = n * 10 + (*s++ - '0');
return n;
}
0646デフォルトの名無しさん
2008/06/15(日) 18:38:36#include <stdio.h>
#include <stdlib.h>
int char2int(char const *s);
int main(void){
char s[]="123";
int t = char2int(s);
printf("文字列: %s\n", s);
printf("数値: %d\n", t);
return 0;
}
int char2int(char const *s){
return atoi(s);
}
[2] 問題文:
(1) char*pstrというchar型のアドレスを宣言して、256バイトのメモリ領域を割り当てます。
割り当てたメモリ領域に以下のような文字を入れ、表示させなさい。
I'll finish this book today.
(2) (1)で割り当てたメモリ領域を512バイトに拡張しなさい。
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ:VC 6.0
[3.3] 言語:C
[4] 期限: 今日中でお願いします。
[5] その他の制限: malloc関数を使ってください。
0648デフォルトの名無しさん
2008/06/15(日) 19:47:08ありがとうございました
0651デフォルトの名無しさん
2008/06/15(日) 19:53:43#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void) {
char *pstr;
pstr = malloc(256);
strcpy(pstr, "I'll finish this book today.");
fputs(pstr, stdout);
pstr = realloc(pstr, 512);
return 0;
}
エラーチェックは省略。
0653デフォルトの名無しさん
2008/06/15(日) 20:18:54>>593
既に>>635で出てるが…
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6916.txt
0654デフォルトの名無しさん
2008/06/15(日) 20:59:58freeつける癖つけましょう
0655デフォルトの名無しさん
2008/06/15(日) 21:04:29freeすべきかどうかで
大論争があったね。
0656デフォルトの名無しさん
2008/06/15(日) 21:12:49[2] 問題文:
次をポーランド記法を用いて計算し、標準出力に出力せよ。
* + 3.2 1.6 - 8 / 9.1 0.2
[3] 環境
[3.1] OS:WindowsVista64
[3.2] コンパイラ:bcc32
[3.3] 言語:C
[4] 期限: 今日中でお願いします。
[5] その他の制限: ありません。
0657デフォルトの名無しさん
2008/06/15(日) 21:33:10C言語
[2] 問題文(含コード&リンク):()
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6917.txt
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6918.txt
[3] 環境
[3.1] OS: (Windows/Linux/等々)
Windows
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
Microsoft Visual Studio 2008
[3.3] 言語: (C/C++/どちらでも可 のいずれか)
C
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
明後日
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
二つあります。両方お願いします。
0658デフォルトの名無しさん
2008/06/15(日) 22:05:10http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6919.txt
0659デフォルトの名無しさん
2008/06/15(日) 22:11:29ありがとうございます。
0660デフォルトの名無しさん
2008/06/15(日) 22:12:38[2] 問題文(含コード&リンク):
CSVファイル内のレコードをスペース区切りで入力した文字列でアンド検索せよ
(「あいう けこ」と入力すると「あいうえお,かきくけこ,さしすせそ」というレコードがヒットする)
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: VC 6.0
[3.3] 言語: C
[4] 期限: 明日まで
[5] その他の制限: ライブラリはなしで
一つの文字列での検索は出来るのですが、複数のときにどうしたらいいのかわかりません…。
今書いているソース↓
FILE *fp= fopen(IN_FILE, "r");
char buff[256]; //CSVファイルのデータ用
char srch[256]; //検索ワード用
gets(srch); //検索するワードの取得
int i = 0; //行数。その後の編集や削除処理でデータを特定するために使用
int line = 0; //ヒットした行数
while(fgets(buff, 256, fp) != NULL)
{
++i;
if(strstr(buff, srch) != NULL)
{
printf("%d%s", i,buff);
++line;
}
}
fclose(fp);
0661デフォルトの名無しさん
2008/06/15(日) 22:31:12http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6920.c
問題017 単純選択法 発展
0662デフォルトの名無しさん
2008/06/15(日) 22:38:26入力された文字列をスペース区切りで複数の文字列に分割する
分割した文字列ごとに検索する
0663デフォルトの名無しさん
2008/06/15(日) 22:44:22http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6921.c
問題018 単純交換法 配列は乱数で決定しているんで、適当に
自分で入力する形式に変更してたもう
0664デフォルトの名無しさん
2008/06/15(日) 22:45:15ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6922.c
0665デフォルトの名無しさん
2008/06/15(日) 22:47:570666デフォルトの名無しさん
2008/06/15(日) 22:52:34http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6923.c
問題018 単純交換法
0667デフォルトの名無しさん
2008/06/15(日) 22:57:490668デフォルトの名無しさん
2008/06/15(日) 22:59:120669デフォルトの名無しさん
2008/06/15(日) 23:09:040671
2008/06/16(月) 00:14:460672デフォルトの名無しさん
2008/06/16(月) 01:02:140673デフォルトの名無しさん
2008/06/16(月) 01:09:29掘り返してすいません
何故さきに余りを求めて足して最後に1000以上なら1000を引くのかがわかりません
どうしてその考えにいたるのかが分かりません
できれば詳しく説明して欲しいのですがよろしいでしょうか?
0674デフォルトの名無しさん
2008/06/16(月) 01:11:56[2] 問題文:二次方程式 ax2+bx+c=0に適当なa,b,cを与えて
もし実数解をもつならば 解を計算して表示し、
虚数解であれば「実数解をもちません」と表示
するような、プログラム if-else文を使って作成せよ
[3] 環境
[3.1] OS: (WindowsXPです
[3.3] 言語: (Cになります。
[4] 期限: ([2008年6月16日10:00まで] になります(´;ω;`)
よろしくお願いいたします。。
0675デフォルトの名無しさん
2008/06/16(月) 01:21:01#include <math.h>
int main(void)
{
double a, b, c, d;
scanf("%lf%lf%lf", &a, &b, &c);
d = b * b - 4 * a * c;
if(d < 0) printf("実数解をもちません\n");
else if(d > 0) printf("%f, %f\n", (-b + sqrt(d))/ (2*a), (-b-sqrt(d)) / (2*a));
else printf("%lf\n", -b / (2 * a));
return 0;
}
0676デフォルトの名無しさん
2008/06/16(月) 01:22:01っ a==0
0677デフォルトの名無しさん
2008/06/16(月) 01:22:07> 何故さきに余りを求めて足して
まともに計算したら巨大な数になって、intもlongも超えちゃう。
最終的に下3桁を求めればいいのだから、
乗算と加算だけなら下3桁の範囲だけで計算していれば十分。
合同式とかいうんだっけ?あまり詳しくないけど。
> 1000以上なら1000を引くのか
rtは2000未満なので、余りを求めているのと同じ。
0678デフォルトの名無しさん
2008/06/16(月) 01:27:331 + 4 + 27 + 256 において、10で割った余りを求めることにしよう。
1^1 と 2^2 は10を越えていないんでそのままでおk。この時点で余りの合計は5。
3^3は27で10を越え、10で割った余りの7のみを残しておk。5+7=12、
ここで合計も10を越えたから10で割った余りの部分を残して2。
4*4 = 16 は10で割った余りの6のみ残して、次は
本来は16*4 = 64 だが、前の6に4を掛けて24で4のみ残しておk、さらにもう一度
本来は64*4 = 256 だが、前の4に4を掛けて16で6のみでおk
2+6 = 8で、答えはあっているじゃろう。
そうやって、10で割った余りの部分だけを残してべき乗を継続しても成り立つのが分かる。
0679デフォルトの名無しさん
2008/06/16(月) 01:33:32#define MAX 4
#define MOD 10
int main(void) {
int i, j, rt = 0;
for(i=1; i<=MAX; i++) { int r = 1;
for(j=0; j<i; j++) r = (r * i) % MOD;
rt += r;
if(rt >= MOD) rt%=MOD; } printf("%d\n", rt);
return 0; }
ちょいと拝借して、このソースの MAX 、 MOD を適当に変えてみ。
理屈が成り立つことが分かるから。
0680デフォルトの名無しさん
2008/06/16(月) 01:33:50>二次方程式
error C2440: '=' : 'void *' から 'char' に変換できません。
1> この変換が可能なコンテキストはありません。
って出るんですけどどうしたらいいでしょうか
0682デフォルトの名無しさん
2008/06/16(月) 01:53:09単に strdup() を無神経に使っていることに噛み付いただけなんですけれど‥‥‥。
0683デフォルトの名無しさん
2008/06/16(月) 02:17:03明示的にキャスト汁
pstr=malloc(256); →pstr=(char *)malloc(256);
pstr=realloc(pstr,512); →pstr=(char *)realloc(pstr,512);
0684デフォルトの名無しさん
2008/06/16(月) 02:19:57エラーメッセージのコピペかソースコードのコピペで失敗してるんじゃない?
0685デフォルトの名無しさん
2008/06/16(月) 02:20:470686デフォルトの名無しさん
2008/06/16(月) 02:20:58C++ 扱いでコンパイルしてませんか?
0687デフォルトの名無しさん
2008/06/16(月) 02:47:08[2] 問題文:ある2つの実数aとbを入力し、aの数が3で割り切れる、
または、bの数が2で割り切れる場合のみに、それらの
四則演算を行い、その結果を表示するプログラムを作成せよ
[3] 環境
[3.1] OS: WindowsXP
[3.3] 言語: C
[4] 期限: 今日中にお願いしたいです。。
よろしくお願いします。
0688デフォルトの名無しさん
2008/06/16(月) 02:50:03整数ではなくて実数?
実数なら必ず2で割り切れるという扱いでおk?
それでできました、ありがとうございます><b
0690デフォルトの名無しさん
2008/06/16(月) 03:14:05はい、実数で、
2で割り切れる扱いでお願いいたします(*´д`*)
0691デフォルトの名無しさん
2008/06/16(月) 03:27:09#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
int main(void){
char buf[256];
int i, chk, bufindex;
double a, b;
printf("Input a : ");
scanf("%255s", buf);
if(sscanf(buf, "%lf%n", &a, &bufindex)<1) return 1;
for(i=0,chk=0;i<bufindex;i++) if(isdigit(buf[i])) chk+=buf[i]-'0';
if(chk%3!=0) return 2;
printf("Input b : ");
if(scanf("%lf", &b)<1) return 3;
printf("a+b=%f+%f=%f\n", a, b, a+b);
printf("a-b=%f-%f=%f\n", a, b, a-b);
printf("a*b=%f*%f=%f\n", a, b, a*b);
if(b) printf("a/b=%f/%f=%f\n", a, b, a/b);
return 0;
}
0692デフォルトの名無しさん
2008/06/16(月) 05:24:04それでは「aの数」、「bの数」をどう解釈しても題意を満たさないのでは?
0693デフォルトの名無しさん
2008/06/16(月) 05:25:29ありがとうございます!
助かりました
今日提出しにいこうと思います
0694デフォルトの名無しさん
2008/06/16(月) 05:58:25[2] 問題文(含コード&リンク):
1.
{C1}=(a11 a12){b1}
{C2}=(a21 a22){b2}
↑は行列の積です。
C=A・bの形でA,bはfloat型
これを求めるプログラムの計算です。
2.
{d1}=(a11 a12)n乗{b1}
{d2}=(a21 a22){b2}
↑は1と同じ行列の積ですが、Aのところがn乗となっています。
わかりにくくて申し訳ないですが、お願いします。
[3] 環境
[3.1] OS: vista
[3.3] 言語:C
[4] 期限: できるだけはやくほしいです
[5] その他の制限: まだ、3ヶ月ほど習っただけでやったことがあるのは
演算と型、if、switch、do、while、for、配列、関数ぐらいです。
0695デフォルトの名無しさん
2008/06/16(月) 06:01:23C言語
[2] 問題文(含コード&リンク):()
ポゴソートについて調査し、それを実演するプログラムを書け。
データ数N=10000の場合について、整数の一様乱数の整数配列を作成してから
それをポゴソートし、結果がソートされているかをプログラムでチェックする。
配列を作成した時点からソートが完了した時点までにかかった時間をミリ秒単位で測定し、
処理にかかった時間を出力せよ。10回実行し、かかった時間を表にし、平均時間も計算し、
プログラムコードと共に提出せよ。
[3] 環境
[3.1] OS: linux
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
GCC
[3.3] 言語: (C/C++/どちらでも可 のいずれか)
C
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
本日中
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
乱数は起動の度に異なるようにすること。乱数配列の出力、整列済み乱数配列の出力は不要とのことです。
0696デフォルトの名無しさん
2008/06/16(月) 06:16:460697デフォルトの名無しさん
2008/06/16(月) 06:22:04格の低い男だな。
0698デフォルトの名無しさん
2008/06/16(月) 06:22:240699デフォルトの名無しさん
2008/06/16(月) 06:25:37これは酷い。こんなのは授業の一部で、効率の悪い例としてさらっと話して
生徒は聞き流す程度で終わらせてしまえば良いものを、敢えて課題にするとは・・・
嫌がらせか?
0700デフォルトの名無しさん
2008/06/16(月) 06:27:47int check(int *a, int size)
{
int i;
for(i=1; i<size; i++) if(a[i] < a[i-1]) return 0;
return 1;
}
void bogo_sort(int *a, int size)
{
int i, j, temp;
do {
for(i=1; i<size; i++) {
j = rand() / (RAND_MAX + 1.0) * (i + 1);
temp = a[j];
a[j] = a[i];
a[i] = temp;
}
}while(!check(a, size));
}
0701デフォルトの名無しさん
2008/06/16(月) 06:56:02(一様乱数とはほど遠い線形合同法を使ったCのライブラリ乱数で
N=10000もの順列を一様に生成すること自体至難の技なのだが)
0703デフォルトの名無しさん
2008/06/16(月) 09:47:52[2] 問題文(含コード&リンク):プログラムを、共振周波数を固定しCを変化させるプログラムに変更せよ
問題
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6925.c
complex.txt
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6926.txt
complex.h
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6927.txt
[3] 環境
[3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン: Visual C++(よくわかりません)
[3.3] 言語: C
[4] 期限: 2008/06/12 10:30
[5] その他の制限: RLC共振回路の問題です。先生に聞いてもよくわかりませんでした。
RとLを固定してやるそうです。急ぎです。よろしくおねがいします。
0704デフォルトの名無しさん
2008/06/16(月) 10:30:56void main(void)
{
complex zin, ai;
double v=10.,l=13.92e-3,c=0.01591e-6,pi=3.14159;
double r,fr,f,q,w,x,za,aiabs;
r=5;
// fr=1./(2.*pi*sqrt(l*c));
// q=2*pi*fr*l/r;
// printf("R=%lf fr=%lf Q=%lf¥n¥n",r,fr,q);
printf("C(Farad) L(Henry) freq.(Hz) I(ampare) Zin(ohm)¥n");
// for(f=9000.;f<=11000.;f+=25.){
f=9000.0;
for(c=1.0E-8;c<1.0;c*=1.001){
w=2.*pi*f;
x=w*l-1./(w*c);
zin=cmplx(r,x);
za=cabso(&zin);
ai=cmplx(v,0.0);
ai=cdiv(&ai,&zin);
aiabs=cabso(&ai);
printf("C=%12.2lf l=%f f=%12.2lf %14.4lE %15.5lE¥n",c,l,f,aiabs,za);
}
getchar();
return ;
}
0705 ◆rR6EHrq.2w
2008/06/16(月) 13:38:07[2] 問題文(含コード&リンク):下記のプログラムを参考にし、f(x)=2cos(x)-x/8=0の数値解を求めるプログラムを作成せよ
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6928.txt
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: VC6.0
[3.3] 言語: C
[4] 期限: 2008/06/16 14:30
[5] その他の制限:出来る限り簡単なものでお願いします
0706デフォルトの名無しさん
2008/06/16(月) 14:32:39問題のタイプが全然違うので、参考(マウスで選択して、キーボードからちょこちょこっと入力)にして解くことは
期待できないね。
この問題を出した奴はよほどのバカだ。まだ>>695を出したアホのほうがマシ
まともに相手せず、「氏んだほうがいいよ」と白紙のレポートなりメールなり出すのが吉かと
0707デフォルトの名無しさん
2008/06/16(月) 15:11:57微分を知っていれば10秒ほどでできるよ。
f()の中身をreturn 2 * cos(x) - x / 8.;にしてdf()の中身をreturn -2 * sin(x) - 1 / 8.;にするだけだ。
0708デフォルトの名無しさん
2008/06/16(月) 17:10:40[2] 問題文(含コード&リンク):(http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6929.txt
上記のソースコードをキューを使い幅優先探索するプログラムに変更せよ。
[3] 環境
[3.1] Linux
[3.2] gcc
[3.3] 言語:C
[4] 期限:明後日まで
0709デフォルトの名無しさん
2008/06/16(月) 17:58:40[2] 問題文(含コード&リンク):クイックソートでは、値が等しい要素 の位置を入力された順に
保つことができない。この問題を解
0710デフォルトの名無しさん
2008/06/16(月) 18:01:55[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):クイックソートでは、値が等しい要素 の位置を入力された順に
保つことができない。この問題を解
0711デフォルトの名無しさん
2008/06/16(月) 18:02:210712デフォルトの名無しさん
2008/06/16(月) 18:14:25>クイックソートでは、値が等しい要素 の位置を入力された順に
>保つことができない。
そのような事実は無い
0713デフォルトの名無しさん
2008/06/16(月) 18:15:26クイックソートが安定ソートじゃないのは常識だろ
0714デフォルトの名無しさん
2008/06/16(月) 18:21:440715デフォルトの名無しさん
2008/06/16(月) 18:25:090716デフォルトの名無しさん
2008/06/16(月) 18:28:56そうだね
>>709,710は諦めたのかな
0717デフォルトの名無しさん
2008/06/16(月) 18:43:42すぐ下のレスで完全否定される間抜けさからして、>>706も同一かもよ
0718デフォルトの名無しさん
2008/06/16(月) 18:56:33[2] 問題文:『階上の計算』
n=1〜12に対して、n!を計算して出力する。
ただし、n!=1*2*3*・・・・*(n-1)*nである。
なお、再帰法を用いてもよい。
[3] 環境
[3.1] OS:vista
[3.2] コンパイラ名:visual studio 2005
[3.3] 言語:C
[4] 期限:[2008年6月18日まで]
[5] その他の制限:まだ大した勉強はしていません、すいません。
多分C言語検定3級程度の実力くらいしかないです。
0719デフォルトの名無しさん
2008/06/16(月) 18:56:37思ってる>>707だろよ
0720デフォルトの名無しさん
2008/06/16(月) 18:58:300721デフォルトの名無しさん
2008/06/16(月) 19:33:41#include <stdio.h>
int fac(int n)
{
int ret = 1;
while(n) ret *= n--;
return ret;
}
int main(void)
{
printf("%d", fac(12));
return 0;
}
0722デフォルトの名無しさん
2008/06/16(月) 19:37:120723デフォルトの名無しさん
2008/06/16(月) 19:41:39{
int i;
for(i=1; i<=12; i++) printf("%d\n", fac(i));
return 0;
}
0724デフォルトの名無しさん
2008/06/16(月) 19:44:06http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6930.c
0726デフォルトの名無しさん
2008/06/16(月) 19:54:56unsigned int にしてるのに%dってw
0728デフォルトの名無しさん
2008/06/16(月) 20:02:300729デフォルトの名無しさん
2008/06/16(月) 20:05:21http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6931.c
0730703
2008/06/16(月) 20:11:040731デフォルトの名無しさん
2008/06/16(月) 20:30:220732デフォルトの名無しさん
2008/06/16(月) 20:30:30だがそれがいい
0733デフォルトの名無しさん
2008/06/16(月) 20:40:21http://ja.wikipedia.org/wiki/%E9%A8%8E%E4%B9%97%E4%BD%8D
0734デフォルトの名無しさん
2008/06/16(月) 21:23:12[2] 問題文:
http://a-draw.com/uploader/src/up1643.zip.html
このファイルをダウンロードしてもらって解凍してもらいたいんです。
prog.cのファイルを実行してセグメンテーションエラーをとってほしいんです
けど。
[3] 環境
[3.1] OS:linux
[3.3] 言語:C
[4] 期限:[2008年6月17日まで]
[5] その他の制限:fread,fseekの使いかたはあっています。
for文{printf文で配列の中身を表示しています.
0735デフォルトの名無しさん
2008/06/16(月) 21:23:500736デフォルトの名無しさん
2008/06/16(月) 22:38:53[2]問題文
リストの追加機能を作る。(他にも編集やら削除やら機能をつけなきゃならないけど、追加たけでお願いします)
キーボードから1と入力されたら、画面に
name:(aaa)
age:(57)
mail:(aa@bb)カッコ内はこちら側が入力。
上記3つを入力した後、下のように表示させる。
1:aaa:57:aa@bb
[3-1]windows
[3-2]gcc
[3-3]C言語
[4]明後日まで。
よろしくお願いいたします。
0737デフォルトの名無しさん
2008/06/16(月) 23:03:49C研究
[2] 問題文(含コード&リンク):()
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6935.txt
[3] 環境
[3.1] OS: (Windows/Linux/等々)
Windows
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
Microsoft Visual Studio 2008
[3.3] 言語: (C/C++/どちらでも可 のいずれか)
C++
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
6月21日
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
お願いします。
0738デフォルトの名無しさん
2008/06/17(火) 00:21:19やり直し
0739デフォルトの名無しさん
2008/06/17(火) 00:25:37三角関数をニュートン法で収束させるんだから、初期値の与え方によっては発散するのは常識。
負の値でも、-1辺りを入れれば収束するんじゃないか? 逆に正の値でも大きな値を入れたら発散しそうな希ガス。
せめてその位の確認してからけちつけたら?
0740デフォルトの名無しさん
2008/06/17(火) 00:27:40[2] 問題文(含コード&リンク):ジャンケンゲームを作る。
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン: borland c++ 5.5.1
[3.3] 言語: C++
[4] 期限: 6月18日まで
[5] その他の制限:入力、出力、クラス、コンストラクタ、if文くらいまで
よろしくお願いします。
0741デフォルトの名無しさん
2008/06/17(火) 00:39:39自分でやる気ないのにVIPで聞くんだな
0742デフォルトの名無しさん
2008/06/17(火) 03:00:36VCで作ったから、ビルダーでコンパイル出来るか知らん
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6936.txt
0743デフォルトの名無しさん
2008/06/17(火) 03:39:31発散する初期値より大きいところに収束初期値がありますね。x=0で発散します。
すべての解を求める方法としてはこういう問題は不適当です。
0744デフォルトの名無しさん
2008/06/17(火) 04:38:08[2]scanf関数を用いて入力された秒数を
「○秒=○時間○分○秒」の形にして表示するプログラムを作成しなさい
ただし、自作関数を一つ使いなさい
[3.1]windows
[3.2]gcc
[3.3]c
[4]明日まで
スレ違いだったら申し訳ありません
とりあえず自分で作ってみたのですが↓
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6937.txt
sub関数の中をもうちょっとすっきりさせることってできますか?
printf関数を二つも使ったりwhile文使ったりしなくてもできそうな気がして・・・
0745デフォルトの名無しさん
2008/06/17(火) 04:48:32[2] 問題文(含コード&リンク):
SA面体のサイコロがNA個のA組と、SB面体のサイコロがNB個のB組があるとする。
(SAとSBの範囲は2〜1000、NAとNBの範囲は1〜100000)
それぞれの組でサイコロを振った時、
1.A組がB組の出目を超える(>)確率
2.A組がB組の出目以上になる(>=)確率
それぞれを求める関数を作り、
a.計算結果(%表記、小数点以下6桁まで)
b.計算に要した時間
を標準出力に書き出せ。
[3] 環境:C++
[4] 期限:18日正午まで
[5] その他の制限:とくに無し
0746デフォルトの名無しさん
2008/06/17(火) 04:53:23結果を表示するのは
SA=2, SB=3, NA=6, NA=6の時
SA=1000, SB=500, NA=50000, NB=100000の時
の2つだけでOKです。
0747デフォルトの名無しさん
2008/06/17(火) 05:03:07http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6938.c
クソースでおじゃる
0748デフォルトの名無しさん
2008/06/17(火) 05:06:06ありがとうございます
0749デフォルトの名無しさん
2008/06/17(火) 05:09:12#include <stdio.h>
int total_sec;
int sec;
int min;
int hr;
void InputSec(void){
printf("秒数を整数で入力してください :");
scanf("%d", &total_sec);}
void CalcHMS(void){
hr = total_sec / 3600;
min = total_sec / 60 % 60;
sec = total_sec % 60;}
void PrintHMS(void){
printf("%d秒は%d時間%d分%d秒です\n", total_sec, hr, min, sec);}
int main(void){
InputSec();
CalcHMS();
PrintHMS();
return 0;}
0750デフォルトの名無しさん
2008/06/17(火) 05:14:55おまけにそんなものを直接書き込むKY、こりゃ真性の(ry
0751デフォルトの名無しさん
2008/06/17(火) 05:16:53さっさと死ね
0752デフォルトの名無しさん
2008/06/17(火) 05:17:55ファビョって必死になって、古文で使われている用法を
知らないの?って噛み付いてた粘着バカw
0753デフォルトの名無しさん
2008/06/17(火) 05:23:28別に糞には見えないんだが。
0754昼と夜が逆転した役立たず
2008/06/17(火) 05:25:03>>473
自治厨いね
484 名前:デフォルトの名無しさん 投稿日:2008/06/14(土) 01:56:30
>>479
いね = 去ね
高校出てれば当然習ってるはずの言葉。
487 名前:デフォルトの名無しさん 投稿日:2008/06/14(土) 02:00:46
473が余計なこと書かなきゃ荒れないのにな。
いつもうpロダ使えっていっては反論されて大暴れ。
↑うpロダ使えと言われては反論して罵倒レス。
自分に対して何か言ってくる奴がいると、そいつに対しては
とことん罵倒、威圧しないと気が済まない精神異常者?
0755デフォルトの名無しさん
2008/06/17(火) 05:27:01コードが長くなけりゃアップローダー使わなくて良いのがこのスレのルールだと言う事を
理解出来てないバカが居るな。
0756デフォルトの名無しさん
2008/06/17(火) 05:34:200757デフォルトの名無しさん
2008/06/17(火) 05:36:08その辺だけでもTABとかが削除されない方法を選ぶだろ・・・・
0758デフォルトの名無しさん
2008/06/17(火) 05:48:46俺の環境だと半角スペースはそのまま残って見える。
0759デフォルトの名無しさん
2008/06/17(火) 05:54:240760デフォルトの名無しさん
2008/06/17(火) 08:55:24[2] 問題文http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6888.txt
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン:VC 6.0
[3.3] 言語: C
[4] 期限: 6月23日月曜日(早いと助かります)
[5] その他の制限:できるだけ簡単に
お願いします
0761デフォルトの名無しさん
2008/06/17(火) 09:07:32検索程度しろ、前のに回答が上がってるだろ
0762デフォルトの名無しさん
2008/06/17(火) 09:36:2815人分の学生を表示し、入力により内容を変動させる。
表示順番:
出席表
<入力>学生番号0〜14
<入力>曜日番号0〜6
<入力>時限番号0〜3
<入力>出欠番号0〜1
<入力>学生番号0〜14の時に99を入力するとプログラム終了。
/* stdio.h をインクルード */
int main(void)
{
/* 必要な変数を宣言し、出席簿の初期値を設定 */
/* 学生番号を入力から一時変数に取り込み、それが妥当な値である間、以下の処理を繰り返す */
{
/* 曜日を入力から一時変数に取り込み、もし妥当な値でなければエラーメッセージを表示して continue する */
/* 時限を入力から一時変数に取り込み、もし以下略 */
/* 出欠を入力から以下略 */
/* 入力された一時変数の値を出席簿に反映する */
/* 出席簿の現在の内容を表示する */
}
return 0;
}
0763デフォルトの名無しさん
2008/06/17(火) 09:54:28[2] 問題文:BMP画像を読み込んで画面に出力するプログラムを作成
[3] 環境:
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン: borland c++ 5.5.1
[3.3] 言語:Cのみ
[4] 期限:18日午前8時まで
[5] その他の制限:とくに無し
0764デフォルトの名無しさん
2008/06/17(火) 09:54:32テキストサウンドノベルを作成する事。
キー入力でメッセージを表示し、途中で選択しを含める。(最大3つまで)
画面をスクロールさせることは禁止。ページ切り替えは、画面全消去で対処する事。
テキスト行数は、最低50行から最大100行までとする。
画面全消去方法は、先生に聞くこと。
0765デフォルトの名無しさん
2008/06/17(火) 09:56:38問答無用でマルチワロタ
0766デフォルトの名無しさん
2008/06/17(火) 14:22:16[2] 問題文:任意の文字列から任意の文字列を操作する。
例:「kokoha dokoda」
�@任意の文字列を検索し、削除する
例:「ko」を削除する
→「ha doda」
�A任意の文字列を検索し、長い文字列と置換する
例:「ko」を「max」に置換する
→「maxmaxha domaxda」
[3] 環境
[3.1] OS:Windows xp
[3.2] vc++ 2008
[3.3] 言語: C
[4] 期限:無期限
[5] その他の制限:<stdio.h> <string.h>を使用できます。
1文字を検索して削除なら出来るのですが、2文字になるとどう処理していいか
わかりませんorz
0767デフォルトの名無しさん
2008/06/17(火) 15:00:16[2] 問題文(含コード&リンク):
2008年は閏年(うるうどし)である。
現在の暦において閏年は,
地球が太陽の周りを公転する周期が,
約365.24日であることに由来する調整法である。
閏年でない年は平年という。
キーボードから西暦を入力し
入力された年が閏年かどうか判定する
プログラムを作成しなさい。
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C++
[4] 期限: 6月27日
[5] その他の制限:
3つの条件によって,うるう年か平年か決まるが,論理演算子を使って,双分岐型1つにまとめる
0768デフォルトの名無しさん
2008/06/17(火) 15:02:03[2] 問題文(含コード&リンク):
今年(2008年)はオリンピックイヤー
(オリンピック開催年)である。
8月8日から24日までにかけて,中国の北京で
夏季オリンピック第29回大会が開かれる。
次の説明はオリンピックの開催年についての説明である。
キーボードから変数year に入力された年号について,
開催された年に第何回大会が開催(中止)されたか
画面に表示するプログラムを作成しなさい。
またオリンピックイヤーでない場合は、
画面にその旨メッセージを出力すること。
【説明】
・1896年の第1回大会以来、4 年に1 度開催されている。
・1916年の第6回大会,1940年の第12回大会,1944年の第13回大会は
世界大戦の影響で中止された。ただし中止の場合も回数は数える。
・1906年には,近代オリンピック制定10周年記念大会が開催された。
ただし特別大会のため,回数には数えない。
・次回は2012年、第30回大会がロンドンで開催予定。
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C++
[4] 期限: 6月27日
[5] その他の制限:
第1回大会の年は,1986年。式にしなくてもよい。中止された年にも対応してください。
0769デフォルトの名無しさん
2008/06/17(火) 16:22:58#include <iostream>
int isleapyear(int y){
int i = y / 100;
return !(y == i * 100 ? i & 3 : y & 3);
}
int main(){
int n;
using namespace std;
cout << "input:";
cin >> n;
cout << ((isleapyear(n))?"閏年":"平年") << endl;
return 0;
}
0770デフォルトの名無しさん
2008/06/17(火) 16:26:30現在までの夏季能美なら、若干のifで可能。
ただし、拡張(冬季を追加、今後の夏季など)に柔軟に対応するためには、
開催年テーブルを持った方がいい。
0771デフォルトの名無しさん
2008/06/17(火) 16:35:350772デフォルトの名無しさん
2008/06/17(火) 16:53:22あとな、批判されるのが嫌だとか、間違ったソースをこのスレに残したくなかったら
うpロダ使え、新入り初心者めが
0773デフォルトの名無しさん
2008/06/17(火) 17:07:14strstr( )使え
0774デフォルトの名無しさん
2008/06/17(火) 17:12:12お前の指示とか受けないよ
俺の好きなようにやらせてもらう
だってここは2ちゃんねるだもの
0775デフォルトの名無しさん
2008/06/17(火) 17:14:12>>678
>>679
みなさん本当にありがとうございます
分かりました!
0776デフォルトの名無しさん
2008/06/17(火) 17:23:16この新入り馬鹿は頭がいかれてんだろ。実社会じゃ
周りの空気が読めずに、自分勝手な行動をして孤立したタイプだろw
0777デフォルトの名無しさん
2008/06/17(火) 17:25:02KYな基地外が現れるよな。どうせそれ以前に、質問して
答えてもらったからって、恩返しのつもりなんだろうけど
汚い素人未満のソースを長々と自己満足でこのスレに
残されても、他の回答者、質問者に迷惑なんだが。
0778デフォルトの名無しさん
2008/06/17(火) 17:32:280779デフォルトの名無しさん
2008/06/17(火) 17:34:250780デフォルトの名無しさん
2008/06/17(火) 17:37:380781デフォルトの名無しさん
2008/06/17(火) 17:45:16[2] 問題文:クラスを作成して行列式を計算しろ。
行列Aの内容を自分で指定できるようにする。
実行画面で何行何列にするか、各要素の値をいくつにするかを決められるようにする。
それを使ってA+A, A*A, n(スカラー)*A, Aの逆行列, Aの転置行列を求める。
[3] 環境:
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:Visual C++6.0
[3.3] 言語:C++
[4] 期限:19日
よろしくお願いします。
0782デフォルトの名無しさん
2008/06/17(火) 17:52:38[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6939.txt
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: VC6.0
[3.3] 言語:C++
[4] 期限:
[5] その他の制限: テキストに記載
0783デフォルトの名無しさん
2008/06/17(火) 17:55:28C++の練習問題としては余りにも不適当。出した教師はまともじゃないから
スルーでおK
0784デフォルトの名無しさん
2008/06/17(火) 18:01:41独習C++?
0785デフォルトの名無しさん
2008/06/17(火) 18:40:22お前みたいな基地外はこのスレには要らない
0786デフォルトの名無しさん
2008/06/17(火) 18:48:26正方行列以外に対応するのはそれほどまでに難しいことなの?
0787760
2008/06/17(火) 18:59:38>>761
#if AI_PLAYER
#else
#endif
enum
構造体
などを習っていないので使ってないプログラムをお願いしたいのですが
できるだけ簡単にお願いします
0788デフォルトの名無しさん
2008/06/17(火) 19:00:040789デフォルトの名無しさん
2008/06/17(火) 19:01:01[2] 問題文(含コード&リンク):ある整数(2以上)を入力し
自分自身を除く最大の約数を返す、関数を含むプログラムを作れ。
例えば12を入力すると6が返る。5を入力すると1が返る。
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:visual studio 2005
[3.3] 言語: C
[4] 期限:今日中
[5] その他の制限: 特になし
おねがいします
0790デフォルトの名無しさん
2008/06/17(火) 19:01:53[2] 問題文(含コード&リンク):while文を用いて求めよ
一、1から100までの整数の和を表示
二、1から100までの奇数の和を表示
三、1≦n≦50の任意の整数を入力し、nからn+50までの整数の和を表示
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C言語
[4] 期限:2008年06月18日が終わるまで
[5] その他の制限:while文でお願いします。
0791デフォルトの名無しさん
2008/06/17(火) 19:02:170792デフォルトの名無しさん
2008/06/17(火) 19:07:28#include <stdio.h>
int f(int n)
{
int i;
for(i=n/2; i>1; i--) if(n % i == 0) return i;
return 1;
}
int main(void)
{
int n;
do {
printf("2以上の整数を入力してください:");
scanf("%d", &n);
}while(n < 2);
printf("%dの自分自身を除く最大の約数は%d\n", n, f(n));
return 0;
}
0793デフォルトの名無しさん
2008/06/17(火) 19:07:44そしてもう一度>>781を読むんだ
0794デフォルトの名無しさん
2008/06/17(火) 19:09:180795デフォルトの名無しさん
2008/06/17(火) 19:14:58#include <stdio.h>
int main(void)
{
int i, sum, n;
sum = 0;
i = 1;
while(i<=100) sum += i++;
printf("1から100までの整数の和:%d\n", sum);
sum = 0;
i = 1;
while(i<=100) {
sum += i;
i += 2;
}
printf("1から100までの奇数の和:%d\n", sum);
do{
printf("1≦n≦50の任意の整数を入力:");
scanf("%d", &n);
}while(n<1 || n >50);
i=0;
sum=0;
while(i<=50) sum += n + i++;
printf("%d から %dまでの整数の和:%d\n", n, n+50, sum);
return 0;
}
0796デフォルトの名無しさん
2008/06/17(火) 19:16:24正方行列ではない場合に、積、逆行列、転置行列は出力しない、
もしくは計算できない旨のメッセージを出力すればいいわけでしょ?
>>781が何を指してキティだといっているのかさっぱりわからん
0797デフォルトの名無しさん
2008/06/17(火) 19:16:51何行何列の表記だけで正方じゃないと決めつけるなんてw
0798デフォルトの名無しさん
2008/06/17(火) 19:19:20自分たちの世界の常識は、他所では通用するとは限らない
これだけは覚えておけ
0799デフォルトの名無しさん
2008/06/17(火) 19:21:52ありがとうございました!!
0800デフォルトの名無しさん
2008/06/17(火) 19:24:14やたらと バカ 死ね いね(去ね) お前には従わないよ(誰にだよ?)
といった、とにかく何かと筋の通った販路はせず、お前が気に食わないと
罵倒レスをして反発をしないと気が済まない、集団社会に溶け込めない
孤立した自分勝手。相手に何かちょっとしたことでも指摘されるとファビョる。
前にもいたよな、蛇足とか言って、結局標準ライブラリの資料を提示されて
自分が無知だと晒した奴も。おまけに、自分が思ったことはすべて正しいということで
自分勝手な基準でキティとか言い出すし。お前くらいだぞ、基地外罵倒レスで
相手を威圧しているのは。だからKYって言われるんだよ。
0801デフォルトの名無しさん
2008/06/17(火) 19:24:520802デフォルトの名無しさん
2008/06/17(火) 19:24:59とてもそうは見えないよ。たとえばn行n列などと書かれてるなら別だけど。
だから、正方行列以外も指定できるのだろうか?と解釈した人は、
行える処理だけ行うようなコードに仕上げればよく、
正方行列のみと解釈した人は次数を1つのみ入力させるようにすればよい。
まあ、以下が守られてなさそうな気はしてるんだけどね。
> ・問題文は、出題されたまま全文を書いてください。
0803デフォルトの名無しさん
2008/06/17(火) 19:25:05自乗と逆行列はともかく、転置は任意の型の行列に定義されるだろ
0804デフォルトの名無しさん
2008/06/17(火) 19:26:20一行目に行列式を計算しろって書いてあって正方行列の問題だと思えないの?
0805デフォルトの名無しさん
2008/06/17(火) 19:26:40ごめんね、行列計算よく知らなくて適当にぐぐった知識で書いたんだ。ごめんね。
0806デフォルトの名無しさん
2008/06/17(火) 19:27:16足し算とスカラー倍はできるんでないの?これは行列式じゃないの?
0807デフォルトの名無しさん
2008/06/17(火) 19:28:20バカはだまってろw
0808デフォルトの名無しさん
2008/06/17(火) 19:28:44「行列式」を「行列の式」の意味で使ってる奴がいるよな。
質問者にも野次馬にも。
一様連続を一様に連続だとか思ってるみたいな。
0809デフォルトの名無しさん
2008/06/17(火) 19:29:53> まともに相手せず、「氏んだほうがいいよ」と白紙のレポートなりメールなり出すのが吉かと
> 「氏んだほうがいいよ」と
> 白紙のレポートなりメールなり出すのが吉かと
きっちっがっいって 分かりやすいよなぁ〜〜おいっw
0810デフォルトの名無しさん
2008/06/17(火) 19:32:12言葉の端で判断するのには問題があるかもしれんが、
プログラマとしては全く信頼出来ない人間であるような気がしてならないな。
行列式知っていると、プログラマとしては信頼出来ないというものでは勿論ないが。
0811デフォルトの名無しさん
2008/06/17(火) 19:32:280812デフォルトの名無しさん
2008/06/17(火) 19:35:39行列式は高校レベルの知識だってもはおいといても、
知らないことに対して適当なことを言うのはダメだろ。
わからないとこでもいい加減なコード書きそうでプログラマとして全く信頼できない。
0813デフォルトの名無しさん
2008/06/17(火) 19:36:24やる気があるならソース中に、明記されて無かったけれど
このように解釈してやりました、とでもコメント入れてあげるか
条件をきっちりさせてくれなり言うかすれば良いし
その気がないなら放って置けば良いじゃない
0814デフォルトの名無しさん
2008/06/17(火) 19:40:14それでも大学の一年生で習うと思うけど、どうなんだ?
0815デフォルトの名無しさん
2008/06/17(火) 19:40:220816デフォルトの名無しさん
2008/06/17(火) 19:42:29>>810
>>810
>>810
0817デフォルトの名無しさん
2008/06/17(火) 19:42:46知ってて尚且つやってあげる気があるならそうすればいいって意味だよ
行列式一つとってどうこう言ってるんじゃない
一番性質が悪いのはただ馬鹿にすることだろ
0818デフォルトの名無しさん
2008/06/17(火) 19:44:200819デフォルトの名無しさん
2008/06/17(火) 19:45:080820デフォルトの名無しさん
2008/06/17(火) 19:46:020821デフォルトの名無しさん
2008/06/17(火) 19:46:20あと誰かを擁護する気とか一切ありません
流れを見ててあんまりいいと思わなかったので口を出しました
変なこと言ってすまんかった
0822デフォルトの名無しさん
2008/06/17(火) 19:52:210823デフォルトの名無しさん
2008/06/17(火) 19:53:11数学の研究用の言語は、FORTRANとかだろ?
問題意識は別のところにおいたほうがいいよ。
行列式知らなくても、Cプログラマーとして信頼出来る人は幾らでもいるし。
0824デフォルトの名無しさん
2008/06/17(火) 19:55:35ソースでなくても良いから、もうお前らの長文発言にも うpロダ使えw
0825デフォルトの名無しさん
2008/06/17(火) 19:57:510826デフォルトの名無しさん
2008/06/17(火) 19:58:40知らないことと、知らないことに適当に口を挟んでくるのとでは全く違うんだが。
0827デフォルトの名無しさん
2008/06/17(火) 19:58:540828デフォルトの名無しさん
2008/06/17(火) 19:59:580829デフォルトの名無しさん
2008/06/17(火) 20:02:190830デフォルトの名無しさん
2008/06/17(火) 20:03:030831デフォルトの名無しさん
2008/06/17(火) 20:06:18[2] 問題文(含コード&リンク):最短経路長の計算を全てのノード対でし、表にしなさい
[3] 環境
[3.1] OS: 基本Windowsですが、Linuxでも大ジョブです
[3.2] コンパイラ名とバージョン: Borland C++ 5.5.1
[3.3] 言語: どちらでも可
[4] 期限: 今週中には出来て欲しいです
[5] その他の制限: 無制限です
ソースは掲示板に張るにはちょっと長いのでこちらに
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6940.c
ちなみに読み込むネットワークデータが必要なので、そちらも
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6941.txt
単純に最短経路長の計算をループさせればいいのかと思ったんですが
エラーが出てしまって、なんともできない状況になってしまいました
最短経路長の計算を最初から最後までしてくれるようにしてくれるだけでも結構です
最短経路長の出力を利用して表にするくらいなら自分で出来そうですので・・・
宜しく御願いします。Orz
0832デフォルトの名無しさん
2008/06/17(火) 20:10:18ちなみに、このソースは自分でココとココ、と指定してその最短経路長を計算してくれます
それをノード0番から10番あるわけですので、
0-1、0-2、0-3、0-4・・・7-10、8-9、8-10、9-10みたいな感じにやってもらえると幸いです
0834デフォルトの名無しさん
2008/06/17(火) 20:15:42そんな麻呂でもクソースは書けるでおじゃるよ?
0835デフォルトの名無しさん
2008/06/17(火) 20:18:550836デフォルトの名無しさん
2008/06/17(火) 20:27:28[2] http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6942.txt
[3] XP:C++
[4] 08年06月22日
お願いします
0837デフォルトの名無しさん
2008/06/17(火) 20:32:03まず最低限必要なのは、当然言語の仕様。そして実装されている
コンピュータの基本的な部分、仕様、構造。メモリのアドレス、
32ビット、デジタルデータが0と1の組み合わせで、それを複雑に
オナペットしていることをまず知るべきだ。コードのみを見て
わぁ〜数値計算の結果が立った、結果が立ったって
ハイジみたいに喜んでも、なんだかなぁ〜ってなるぞw
0838デフォルトの名無しさん
2008/06/17(火) 20:33:58[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6943.zip
[3] 環境
[3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン:Visual Studio.NET 2003
[3.3] 言語: C,C++どちらでも可
[4] 期限:今週の土曜まで
[5] その他の制限:問題文が意味がわからんすぎてぐぐっても全然理解できん・・
誰か助けて! これ出さないと判定Xになって単位落とす事になる\(^o^)/
0839デフォルトの名無しさん
2008/06/17(火) 20:47:320840デフォルトの名無しさん
2008/06/17(火) 20:50:17すまん、底辺大学卒の俺でも、予備知識無しで普通に解けそうな感じだったんだが。
0841デフォルトの名無しさん
2008/06/17(火) 20:51:41底辺とか、自分を低く見せてるだけやろぉ〜、ほんま、ぶっちゃけて、実は、
本当のところ、ランクCどころじゃない、BかAの大卒なんでしょ〜?またまたぁ〜
謙遜せんでもよかろうに。このこのっ、憎いねぇ〜。Fランク大学中退なめんなw
0842838
2008/06/17(火) 20:52:52俺まったく、プログラミングやったことなぃんょ
そもそも学科が全然違ってて・・
選択であったからとってみたら意味わからんすぎたぜ
解けるなら教えてくれるとありがたい・・単位が危ないんだ。
0843デフォルトの名無しさん
2008/06/17(火) 20:54:29問題文が意味が分からんすぎてって書いてるからこういうレスがつく。
0844デフォルトの名無しさん
2008/06/17(火) 20:55:32この1個前の課題および回答をあげてみ?
0845デフォルトの名無しさん
2008/06/17(火) 21:03:43数表は横並びにxとyが並んでるものと仮定
#include <stdio.h>
#define N 100
int main(void)
{
double xn[N], yn[N], x, y;
int i, cnt;
FILE *fp;
if((fp=fopen("data.txt", "r"))==NULL) return 0;
for(i=0; fscanf(fp, "%lf%lf", xn + i, yn + i)==2; i++);
cnt = i;
scanf("%lf", &x);
if(x < xn[0] || xn[cnt-1] <= x) return 0;
for(i=0; xn[i] < x; i++);
y = (yn[i+1] - yn[i]) * (x - xn[i]) / (xn[i+1] - xn[i]) + yn[i];
printf("y = %f\n", y);
return 0;
}
0846デフォルトの名無しさん
2008/06/17(火) 21:05:310847838
2008/06/17(火) 21:06:15もう問題文から答えまでわかんねーょ
コードってなんだょ!
>>844
一個前のは答えがまだ教えられてないから
ちょっと前のだが、こんな感じ
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6944.txt
ニュートン法の解き方とか二分法とかが課題だったな
それも答え教えられてないけどwww
0848デフォルトの名無しさん
2008/06/17(火) 21:06:30すまん、嘘ついた。俺もFラン中退だ。
0849デフォルトの名無しさん
2008/06/17(火) 21:06:35[2] 問題文
連結リストを用いてキュー(queue)を以下の仕様に従って実装しなさい.
連結リストの初期化(0~99のランダムな整数を入れる),表示を行う関数を,「list_init.c」に実装しなさい.
連結リストを初期化する関数をlist_create(), 連結リストに格納されている整数を表示する関数をlist_disp()としなさい.
連結リストのノードの総数はキーボードから入力されるものとする.
キュー(連結リスト)の値の格納をenqueue(),値の取り出しをdequeue(),値の検索をsearch()として,「list_op.c」に実装しなさい.
list_init.c, list_op.cから動的ライブラリ(共有ライブラリ)libdata_s.soを作成しなさい.
main関数を含むコードを「test_list.c」として作成し,libdata_s.soを用いてコンパイルしなさい.
実行形式のファイル名は「test_list」とする.
ただし,libdata_s.soの関数は,dlfcn.hに含まれている関数と,関数ポインタを用いて呼び出しを行うこと.
作成したプログラムは以下の動作を行う.
1:キーボードからキューのノードの総数を受け取る
2:初期化したキューの内容を表示する.
3:キーボードからのコマンド待ち状態になる.コマンドは,0を入力するとenqueue, 1を入力するとdequeue, 2を入力すると値のsearchを行い,それ以外の数字を入力するとプログラムが終了する.
4:2., 3.を繰り返す
[3] 環境
[3.1] OS:linux
[3.2] gcc
[3.3] 言語:C
[4] 期限:明後日
おねがいします
0850デフォルトの名無しさん
2008/06/17(火) 21:07:4050 49 48 47 46 ***
45 44 43 42 41 ***
40 39 38 37 36 ***
35 34 33 32 31 :
30 29 28 27 26 :
25 24 23 22 21 :
20 19 18 17 16 :
15 14 13 12 11 :
10 9 8 7 6 :
5 4 3 2 1
合計 *** *** *** *** ***
を表すプログラムってどの様に書けますか?一次元配列を使うということですが・・・
0851デフォルトの名無しさん
2008/06/17(火) 21:08:370852760
2008/06/17(火) 21:08:5620から30回で宝8個みつかるようお願いします
0853デフォルトの名無しさん
2008/06/17(火) 21:13:25ああ、つまり、ここに頼ったはいいけど自分の身についてないから
どんどん被害が大きくなってるってわけね。
いつかしっぺ返しくらう前にちょっとずつ理解しような。
ソースコードはでき次第うpする
0854838
2008/06/17(火) 21:14:52FILE *fp;
if((fp=fopen("data.txt", "r"))==NULL) return 0;
がよくわからないんだが データテキストを呼び出すのか?
そのファイルを何処に置けばいいかもわからん・・
0855838
2008/06/17(火) 21:17:20そうだ・・まったくもって勉強してない成果がここで発揮されたぜ
ぅん・・これ以降は自分で出来る様にがんばるょ。
頼む!今のところ出来そうにない!
0856デフォルトの名無しさん
2008/06/17(火) 21:24:55おさわがせしました
0857デフォルトの名無しさん
2008/06/17(火) 21:52:02改良してやろうと思ったけど…
問題内容、問題コードどれを取っても、お前が言ってる条件に当てはまらないだろ
だいたいポインタ使って関数渡しの値代入してるのに、構造体習ってないから使うな?
しねよ
お前が知らないだけだろ、その問題
0858デフォルトの名無しさん
2008/06/17(火) 21:53:53> しねよ
また使ってるよ、基地外
0859デフォルトの名無しさん
2008/06/17(火) 22:04:18> 基地外
また使ってるよ、しねよ
0861デフォルトの名無しさん
2008/06/17(火) 22:15:31編み物
彼氏にマフラー編んだげてるの
0862デフォルトの名無しさん
2008/06/17(火) 22:26:06#include <stdio.h>
int main(){
int a,b,z,i=0,d=0;
int c=50;
//1行目から10行目
printf("\t\t\t\t\t\t合計\n");
for(a=0; a<10; a++){
for(b=0; b<5; b++){
i += c;
printf("\t%d",c);
c--;
}
printf("\t%d",i);
printf("\n");
i=0;
}
//11行目
printf("合計");
for(a=5; a>0; a--){
for(b=0; b<10; b++){
c += a+5*b;
}
printf("\t%d",c);
d += c;
c=0;
}
printf("\t%d",d);
}
0863デフォルトの名無しさん
2008/06/17(火) 22:26:58まあ落ち着け。
>>590の回答に対して構造体とか#ifとか使うなって条件つけたんだよ。
条件の後出しがひどく迷惑であることを痛感する展開ではあるんだが。
0864デフォルトの名無しさん
2008/06/17(火) 22:46:31ありがとうございます!!
ちなみに、これを関数で表せという問題も一緒に出されているのですが全く分かりません。。。
0865デフォルトの名無しさん
2008/06/17(火) 22:58:15//>>862
}
int main(){
disp();
return 0;
}
0866デフォルトの名無しさん
2008/06/17(火) 23:01:50ほんとGJ!!!
助かりました@@;
0867デフォルトの名無しさん
2008/06/17(火) 23:19:30素人の俺ので良ければどうぞ
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6945.c
0868デフォルトの名無しさん
2008/06/17(火) 23:25:29とぼやきつつ、ぼちぼち。
0869デフォルトの名無しさん
2008/06/17(火) 23:34:10[2] 問題文(含コード&リンク):()
文字列aから文字bを取り除く。下までできたのですが。。。
#include<stdio.h>
char a,b;
void main()
{
scanf("%d\n",a);
scanf("%d\n",b);
printf("%d",a,b);
return 0;
}
/* squeeze sからcをすべて取り除く */
void squeeze(char s[], int c)
{
int i,j;
for(i=j=0; s[i] !='\0'; i++)
if(s[i] !=c)
s[j++]=s[i];
s[j]='\n';
}
[3] 環境
[3.1] OS:XP
[3.2] よくわかりません。ボーランド?
[3.3] 言語: C言語
[4] 期限:明日中に。
0870デフォルトの名無しさん
2008/06/17(火) 23:34:14おお、ありがとうございmす。
これを元に勉強させてもらいます。
0871760
2008/06/17(火) 23:53:34構造体使ってもいいのでおねがいします!
0872デフォルトの名無しさん
2008/06/18(水) 00:05:34>>871
ちょっと待ってろw
しかし、人間がやっても20回くらいかかるぞ?
問題のレベルの割に、お前さんのレベルが低すぎる気が…
0873デフォルトの名無しさん
2008/06/18(水) 01:27:57[2] 問題文(含コード&リンク):
#include <stdio.h>
main()
{
int ch;
while(( ch=getchar()) != EOF) {
printf("%02x", ch);
}
}
このプログラムだけでは非常に長くなるので、'\n'を検出したら,出力にも改行文字を埋めたい。
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C++
0874デフォルトの名無しさん
2008/06/18(水) 01:32:38お願いします
0875デフォルトの名無しさん
2008/06/18(水) 01:54:20なのに C++ とは、どんな授業をしてるでおじゃるか?
0876デフォルトの名無しさん
2008/06/18(水) 02:01:16if(ch='\n'){
cout << endl;
}
0877デフォルトの名無しさん
2008/06/18(水) 03:09:31main関数のみで作っていただけないでしょうか?
0878デフォルトの名無しさん
2008/06/18(水) 03:25:04[2] 問題文:mallocを用い、下記のプログラムを完成させて、次の仕様を満たすプログラムを作成せよ。
・キーボードから可変数の英数字の行を読み込む
・最初に行数を入力させる
・1行の長さは最大256文字
・全入力が終了したところで、全入力行をまとめて出力する
#include <stdio.h>
#define MAX_LINE 256
main(){
char *p;
int n, i;
scanf(“%d”, &n);
p = --------------------;
for (i = 0; i < n; i++) {
scanf(“%s”, p + MAX_LINE * i);}
------------------------;}
[3] 環境
[3.1] OS:Linux
[3.2] gcc
[3.3] 言語:C
[4] 期限:明日まで
点線の部分の変更のみです。
よろしくお願いします。
0879760
2008/06/18(水) 03:25:40今日朝9時までにお願いできないでしょうか
できそうにないんで…
0880デフォルトの名無しさん
2008/06/18(水) 03:35:52p = malloc(MAX_LINE * n);
for(i = 0; i < n; i++) { printf("%s\n", p + MAX_LINE * i); }
0882デフォルトの名無しさん
2008/06/18(水) 06:04:25>>879
お前、ふざけてるのか?偽者の釣りか?
8/100の宝探し全てを20回から30回でって…人間がやってもなかなか出来ないぞ…
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6946.txt
0883デフォルトの名無しさん
2008/06/18(水) 06:09:05よく他人に頼んで、提出できるよなっていつも思う
あんまり無いのかも知れんが、内容に関して質問が来たらどうするつもりだろ?
0884デフォルトの名無しさん
2008/06/18(水) 06:12:30わざわざ書き込むか、一言居士め。どうでも良いだろ、そんなの。
このスレの趣旨がわかってない新入りだろ、しねだのほざくガキって?
もしそれで高卒以上の年齢だとしたら、かなり精神レベルが低いぞ、こいつ。
0885デフォルトの名無しさん
2008/06/18(水) 06:15:13んなこと俺らが心配することでも何でもない。>>1読め。
0886デフォルトの名無しさん
2008/06/18(水) 08:56:25何で今朝なんだ?期限とちがうじゃん。
0887デフォルトの名無しさん
2008/06/18(水) 09:03:42つまりレベルがかけ離れていて気に入らない質問はスルーしとけばいいのか
0888デフォルトの名無しさん
2008/06/18(水) 09:13:300889デフォルトの名無しさん
2008/06/18(水) 09:47:38本当にコードから○ンコのに臭いがぷんぷんと漂ってきそうな
麻呂のクソースを目指すでおじゃる!
0890デフォルトの名無しさん
2008/06/18(水) 09:58:470891デフォルトの名無しさん
2008/06/18(水) 10:25:09[2] 問題文(含コード&リンク):
クイックソートでは、値が等しい要素の位置を入力された順に保つことができない。
この問題を解決するプログラムを作成せよ。
ただし、以下の解決方法を用いよ。
•配列をリストに変換
•三つのリストを作る
ー枢軸より大きい要素のリスト
ー枢軸より小さい要素のリスト
ー枢軸より等しい要素のリスト
•三つのリストを統合する
[3] 環境
[3.1] OS: Mac OS X
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限:できれば今日まで
よろしくお願いします
0892デフォルトの名無しさん
2008/06/18(水) 10:48:590894デフォルトの名無しさん
2008/06/18(水) 11:51:35よろしくお願いします。
1.クラス設計
データ定義:100件分(とりあえずの値としておく)
商品コード int(0〜999)
在庫数 int
登録商品数 int(新規商品を入庫するたびに+1される)
商品マスター:予め数件分を定数として定義しておく(-1がストッパー)
(例) int master[ ]={1,3,5,10,11,12,100,200,900,-1};
メンバー関数:
・コンストラクタ:保持している商品数をクリアする。
・データ設定関数:int add(int 商品コード、 int 入庫数)
商品マスターチェックNGなら戻り値にエラーを設定する。
チェックOKならデータ部に登録し、在庫数を加算、登録商品数を+1する
・在庫数取得関数:int get(int 商品コード)
商品コードが登録されていれば現在の在庫数を戻り値に返す。
登録されていない(入庫されていない)場合は-1を返す。
c++でお願いします。
0895デフォルトの名無しさん
2008/06/18(水) 13:11:58本当にこれが全文ですか?
0896デフォルトの名無しさん
2008/06/18(水) 14:50:01在庫管理プログラムとして十分ではないけれど、題意を満たすソースは書けるでしょ。
作成されるものはチープかもしれないけど、それが課題というものかと。
0897デフォルトの名無しさん
2008/06/18(水) 14:57:05http://pc11.2ch.net/test/read.cgi/prog/1210981817/
[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6947.txt
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:Visual C++ 6.0
[3.3] 言語:C言語
[4] 期限:2008年6月20日
[5] その他の制限:構造体,ポインタまで
どなたかよろしくお願いします.
0899デフォルトの名無しさん
2008/06/18(水) 15:31:59データ定義とか商品マスターチェックNGとか微妙に粒度と日本語がゴチャゴチャな気がする
> 商品コードが登録されていれば現在の在庫数を戻り値に返す。
> 登録されていない(入庫されていない)場合は-1を返す。
商品コードの登録って実際はどういう動作なのかわからん.
どうも在庫数を増やすだけじゃなさそうだが.
まぁ作ったけど.
0901デフォルトの名無しさん
2008/06/18(水) 15:56:29const int MASTER_ERROR = -1;
const int MASTER_SUCCESS = 0;
static int master[] = {1, 2, 3, 4, 5, CODE_NOT_FOUND};
static int checkCode(int code){
for(int i = 0; master[i] != CODE_NOT_FOUND; i++) if(code == master[i]) return code;
return CODE_NOT_FOUND;
}
class Manager{
private:
int *merchandise;
public:
Manager(){
merchandise = new int[100];
for(int i=0; i<100; merchandise[i++] = 0);
}
virtual ~Manager(){
delete[] merchandise;
}
int add(int code, int n){
if(checkCode(code) == CODE_NOT_FOUND) return MASTER_ERROR;
else {merchandise[code] += n; return MASTER_SUCCESS; }
}
int get(int code){
if(checkCode(code) == CODE_NOT_FOUND) return MASTER_ERROR;
if(merchandise[code] == 0) return -1;
else return merchandise[code];
}
};
こんな感じ
0902894
2008/06/18(水) 16:10:57もっと分かりやすい簡単な漢字で書いてもらえないでしょうか、、?
0903894
2008/06/18(水) 16:12:33もっと分かりやすい簡単な感じで書いてもらえないでしょうか、、?
0904デフォルトの名無しさん
2008/06/18(水) 16:14:550905デフォルトの名無しさん
2008/06/18(水) 16:34:43やはりこういう問題出した教師は現場を知らん◎フォだとしておこう。
0906デフォルトの名無しさん
2008/06/18(水) 16:42:380907デフォルトの名無しさん
2008/06/18(水) 16:45:190908デフォルトの名無しさん
2008/06/18(水) 16:46:34なんか面倒になったから適当にしてみた
0909デフォルトの名無しさん
2008/06/18(水) 16:48:15なんかそれだとcodeがmerchandiseのインデックスになるから
例題の
int master[ ]={1,3,5,10,11,12,100,200,900,-1};
のときmerchandise[200]とかになっておかしくないか?
0910デフォルトの名無しさん
2008/06/18(水) 16:55:32[2] 問題文(含コード&リンク):標準入力からのテキストデータ中に現れる単語の出現頻度数つき一覧を出力するプログラムを作成せよ。
[3] 環境
[3.1] OS: linux
[3.2] Vine Linux 3.2
[3.3] 言語: C
[4] 期限:2008 6/24
[5] その他の制限:線形リストを使い、つくれとのことです。
どなたかよろしくお願いいたします
とりあえずここまで作成してあります(まだまだ未完成ですが。。。)
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6948.c
よければ見て下さい
0911デフォルトの名無しさん
2008/06/18(水) 17:33:02http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6949.c
Otheloは登録商標なので0theloにしておいた
0912デフォルトの名無しさん
2008/06/18(水) 17:34:530913デフォルトの名無しさん
2008/06/18(水) 17:42:57書き直してみる
0914911
2008/06/18(水) 17:56:34修正
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6950.c
0915デフォルトの名無しさん
2008/06/18(水) 18:12:53まあ宿題だからそれぐらいアバウトなほうがいいのかもしれないね
0916デフォルトの名無しさん
2008/06/18(水) 18:25:35よろしくお願いします。
合計
50 49 48 47 46 240
45 44 43 42 41 215
40 39 38 37 36 190
35 34 33 32 31 165
30 29 28 27 26 140
25 24 23 22 21 115
20 19 18 17 16 90
15 14 13 12 11 65
10 9 8 7 6 40
5 4 3 2 1 15
合計 275 265 255 245 235 1275
0917デフォルトの名無しさん
2008/06/18(水) 18:26:560918878
2008/06/18(水) 18:27:41エラーが出てきます。
コンパイラ通してみた結果です。
10:error:プログラムとして逸脱した文字 '/226'
10:error:プログラムとして逸脱した文字 '/128'
10:error:プログラムとして逸脱した文字 '/156'
10:error:文法エラーが'%'トークンの前にあります
10:error:プログラムとして逸脱した文字 '/226'
10:error:プログラムとして逸脱した文字 '/128'
10:error:プログラムとして逸脱した文字 '/157'
15:error:プログラムとして逸脱した文字 '/226'
15:error:プログラムとして逸脱した文字 '/128'
15:error:プログラムとして逸脱した文字 '/156'
15:error:文法エラーが'%'トークンの前にあります
15:error:プログラムとして逸脱した文字 '/226'
15:error:プログラムとして逸脱した文字 '/128'
15:error:プログラムとして逸脱した文字 '/157'
0919デフォルトの名無しさん
2008/06/18(水) 18:27:53http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6951.txt
0920デフォルトの名無しさん
2008/06/18(水) 18:35:07#include <stdio.h>
int main(){
int a,b,z,i=0,d=0;
int c=50;
int r[10];
//1行目から10行目
printf("\t\t\t\t\t\t合計\n");
for(a=0; a<10; a++){
for(b=0; b<5; b++){
i += c;
printf("\t%d",c);
c--;
}
printf("\t%d",i);
printf("\n");
i=0;
}
//11行目
printf("合計");
for(a=5; a>0; a--){
for(b=0; b<10; b++){
c += a+5*b;
}
printf("\t%d",c);
d += c;
c=0;
}
printf("\t%d",d);
}
0921デフォルトの名無しさん
2008/06/18(水) 18:39:58ありがとうございます!
理解できました!
合計値についてなんですが前列の合計値も足してって次々に足して表示させたいんですがどうすればいいのですか?
0922デフォルトの名無しさん
2008/06/18(水) 18:43:09理解できたか。それはよかった。次々にっていうのはこういうこと?
#include <stdio.h>
int main(){
int a,b,z,i=0,d=0;
int c=50;
int r[10];
//1行目から10行目
printf("\t\t\t\t\t\t合計\n");
for(a=0; a<10; a++){
for(b=0; b<5; b++){
i += c;
printf("\t%d",c);
c--;
}
printf("\t%d",i);
printf("\n");
// i=0;
}
//11行目
printf("合計");
for(a=5; a>0; a--){
for(b=0; b<10; b++){
c += a+5*b;
}
printf("\t%d",c);
d += c;
// c=0;
}
printf("\t%d",d);
}
0923デフォルトの名無しさん
2008/06/18(水) 18:45:48そうです!
でも、どこをどういう風に考えたのか分かりません@@:
0924デフォルトの名無しさん
2008/06/18(水) 18:48:58これをクリアしないようにすることで、1行目の合計に2行目の数字が足されるようになって
1行目と2行目の合計が2行目に出るようになった。
列もおなじ。
0925デフォルトの名無しさん
2008/06/18(水) 18:53:20初歩的な質問でごめんなさい。クリアを示す記号って何ですか?
どこも変わっていないような気がするのですが・・・
0926デフォルトの名無しさん
2008/06/18(水) 18:53:52226=0xE2
128=0x80
156=0x9C
156=0x9D
E2 80 9C はUTF-8 で全角の “
E2 80 9D はUTF-8 で全角の ”
0927918
2008/06/18(水) 19:04:43スレ汚し申し訳ありません。
0928デフォルトの名無しさん
2008/06/18(水) 19:05:190929デフォルトの名無しさん
2008/06/18(水) 19:05:33[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6952.txt
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: VC6.0
[3.3] 言語:C++
[4] 期限:
[5] その他の制限:
よろしくお願いします
0930デフォルトの名無しさん
2008/06/18(水) 19:05:500を代入することでクリアしていた部分をコメントアウトすることでクリアしないようにした。
行、列の2箇所。
0931デフォルトの名無しさん
2008/06/18(水) 19:11:10なるほど、そういう事だったんですね。ありがとうございました。
0932919
2008/06/18(水) 19:12:07うpしてから思ったがABC#DEF#HIJをABC#FED#HIJではなくABC#FED#JIHにするっぽいな
後者ならフラグ要らんからrev_flagを含む行(5行)は削っとくれ
0933デフォルトの名無しさん
2008/06/18(水) 19:14:12バッファオーバーフローのバグがあった
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6953.txt
0934デフォルトの名無しさん
2008/06/18(水) 19:16:49910の役にはたたないだろうがな。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6954.txt
0935デフォルトの名無しさん
2008/06/18(水) 19:17:15#include <stdio.h>
#define ROW 10
#define COL 5
int main(void){
int row[COL]={0},tr,tc[COL]={0},r,c;
for(c=0; c<=COL; c++) printf("\t");
printf("合計\n");
// 各行
for(r=ROW; r>0; r--) {
for(c=COL-1; c>=0; c--) {
row[c]=r*COL-c;
tc[c]+=row[c];
}
for(c=0,tr=0; c<COL; c++) {
tr+=row[c];
printf("\t%d",row[c]);
}
printf("\t%d\n",tr);
}
// 各列の合計
printf("合計");
for(c=0; c<COL; c++) printf("\t%d",tc[c]);
puts("");
return 0;
}
0936デフォルトの名無しさん
2008/06/18(水) 19:23:30int count_bits(unsigned)
{
int count = 0;
while (x){
if (x & 1U) count++;
x>>1;
}
return (count);
}
int int_bits(void)
{
return (count_bits(~0U));
}
void print_bits(unsigned x)
{
int i;
for (i= int_bits() - 1; i >= 0; i++)
putchar(((x>>1) & 1U) ? '1' : '0');
}
int main(void)
{
unsigned nx;
printf("非負の整数を入力してください :");
scanf("%u", &nx);
putchar('\n');
return 0;
}
というプログラムにおいて、int count_bits(unsigned)を int count_bits(signed x)とするとどのような現象が置きますか?
理由も書けという問題なのですが。
0937デフォルトの名無しさん
2008/06/18(水) 19:24:07orz
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6956.txt
0938デフォルトの名無しさん
2008/06/18(水) 19:27:36ありがとうございます!
合計値は、前列(行)の合計値を次々に足していく風にしなければならないのですが。。。
一次元配列に於いては次の列(行)にいく際どこでクリアされているのでしょうか。
0939デフォルトの名無しさん
2008/06/18(水) 19:36:33#include <stdio.h>
#define ROW 10
#define COL 5
int main(void){
int row[COL]={0},tr,tc[COL]={0},tmp,r,c;
for(c=0; c<=COL; c++) printf("\t");
printf("合計\n");
// 各行
for(r=ROW,tr=0; r>0; r--) {
for(c=COL-1; c>=0; c--) {
row[c]=r*COL-c;
tc[c]+=row[c]; }
for(c=0; c<COL; c++) {
tr+=row[c];
printf("\t%-d",row[c]); }
printf("\t%-d\n",tr);}
// 各列の合計
printf("合計");
for(c=0,tmp=0,tr=0; c<COL; c++) {
tmp+=tc[c]; tr+=tmp;
printf("\t%-d",tmp);} printf("\t%d\n",tr);
return 0;
}
>>933
>>937
こんなにたくさん頑張って頂き本当にありがとうございます.
これが第一段階らしく,第二・三段階もあるみたいなので,もし良かったら
その時にも是非よろしくお願いします.
0941デフォルトの名無しさん
2008/06/18(水) 20:01:32[2] 問題文(含コード&リンク):
標準入力(キーボード)から一つずつ数値(浮動小数点)を
読み込んで、データの数、平均値、標準偏差を出力するプロ
グラムを作成せよ。ただし、データ入力は、空行の入力で終
了するものとする。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6957.txt
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:2008年06月18日まで
[5] その他の制限:入力終了の判別方法は、このプログラムを参考にするとよいが、
今回の問題では、入力データを配列等に保存する必要がない
ことに注意。配列に保存することにすると、配列の大きさで
入力できるデータ数が制限されてるので、好ましくない。
よろしくお願いします。m(_ _)m
0942デフォルトの名無しさん
2008/06/18(水) 20:30:45#include <math.h>
int main(void)
{
double s = 0, a = 0, temp, sigma2;
int cnt = 0;
char buff[256];
while(1) {
fgets(buff, sizeof buff, stdin);
if(buff[0]=='\n') break;
sscanf(buff, "%lf", &temp);
s += temp * temp;
a += temp;
cnt++;
}
a /= cnt;
s = sqrt(s / cnt - a * a);
printf("データ数:%d\n平均:%f\n標準偏差:%f", cnt, a, s);
return 0;
}
0943デフォルトの名無しさん
2008/06/18(水) 20:41:42[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6958.txt
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: VC6.0
[3.3] 言語:C++
[4] 期限:
[5] その他の制限:
お願いします。。
0944デフォルトの名無しさん
2008/06/18(水) 20:44:390945デフォルトの名無しさん
2008/06/18(水) 20:48:00適当に改造してたら使ってない変数残った。
sigma2は消しといて
0946デフォルトの名無しさん
2008/06/18(水) 20:50:210947デフォルトの名無しさん
2008/06/18(水) 20:55:08[2] 入力する3以上の整数nに対して、2以上n以下の整数の組の最大公約数を
「ユークリッドの互除法」を用いて計算するプログラムを作れ。
(例:n=6の場合、2と3、2と4、2と5、2と6、3と4、3と5、3と6
4と5、4と6、5と6の10通り)
(表示例:n=6の場合)
3 4 5 6
2: 1 2 1 2
3: 1 1 3
4: 1 2
5: 1
[3]
[3.1] LINUX
[3.3] C
[4]6月23日
[5]関数は習ってないので、if,while,forなどを使ってお願いします。
よろしくお願いします。
0948デフォルトの名無しさん
2008/06/18(水) 20:56:31[2] 入力する3以上の整数nに対して、2以上n以下の整数の組の最大公約数を
「ユークリッドの互除法」を用いて計算するプログラムを作れ。
(例:n=6の場合、2と3、2と4、2と5、2と6、3と4、3と5、3と6
4と5、4と6、5と6の10通り)
(表示例:n=6の場合)
3 4 5 6
2: 1 2 1 2
3: 1 1 3
4: 1 2
5: 1
[3]
[3.1] LINUX
[3.3] C
[4]6月23日
[5]関数は習ってないので、if,while,forなどを使ってお願いします。
よろしくお願いします。
0949デフォルトの名無しさん
2008/06/18(水) 21:02:52inventory(char *item, double cost, int on_hand)
{
strcpy_s(inventory::item, item);
inventory::cost = cost;
inventory::on_hand = on_hand;
}
inventoryだけを上記のように変更。
namespaceによるローカル変数とメンバ変数の明示を問う問題っぽいけど実務では使うなよ。
0950デフォルトの名無しさん
2008/06/18(水) 21:03:110951デフォルトの名無しさん
2008/06/18(水) 21:09:16[2] 問題文(含コード&リンク):標準入力からのテキストデータ中に現れる単語の出現頻度数つき一覧を出力するプログラムを作成せよ。
[3] 環境
[3.1] OS: Windous
[3.2] VC 6.0
[3.3] 言語: C++
[4] 期限:2008 6月いっぱい
[5] ホントに困っていますのでどの問題でもかまいません
教えてください
0952951
2008/06/18(水) 21:11:211] 情報プログラミング演習:
[2] 問題1
三角形の底辺の幅、あるいは段数(どちらか一つ)を入力すると、逆三角形を表示する。例えば、底辺5あるいは段数3を入力すると
*****
***
*
となる。
10個以下の任意のn個(データ数は入力)のデータを入力し、逆順に出力する。
実行結果は奇数と偶数個の例を示すこと。
。
[3] 環境
[3.1] OS: Windous
[3.2] VC 6.0
[3.3] 言語: C++
[4] 期限:2008 6月いっぱい
[5] ホントに困っていますのでどの問題でもかまいません
教えてください
0953951
2008/06/18(水) 21:12:261] 情報プログラミング演習:
[2] 問題1
三角形の底辺の幅、あるいは段数(どちらか一つ)を入力すると、逆三角形を表示する。例えば、底辺5あるいは段数3を入力すると
*****
***
*
となる。
。
[3] 環境
[3.1] OS: Windous
[3.2] VC 6.0
[3.3] 言語: C++
[4] 期限:2008 6月いっぱい
[5] ホントに困っていますので教えてください
0954デフォルトの名無しさん
2008/06/18(水) 21:12:33[2] 問題: http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6959.txt
[3.1] OS: WindowsXp
[3.2] コンパイラ名とバージョン:visualstdio 2008
[3.3] 言語:C
[4] 期限:6月21日
[5] その他の制限:なし。
よろしくお願いします.
0955デフォルトの名無しさん
2008/06/18(水) 21:14:01#include <stdio.h>
int main(void)
{
int i, j, n;
scanf("%d", &n);
printf(" ");
for(i=3; i<=n; i++) printf("%2d", i);
putchar('\n');
for(i=2; i<n; i++) {
printf("%2d:", i);
for(j=3; j<=i; j++) printf("  ");
for( ; j<=n; j++) {
int a = i, b = j;
while((a=a%b)!=0) {
b += a;
a = b - a;
b -= a;
}
printf("%2d", b);
}
putchar('\n');
}
return 0;
}
0956デフォルトの名無しさん
2008/06/18(水) 21:14:100957デフォルトの名無しさん
2008/06/18(水) 21:18:54#include <stdio.h>
int main(void)
{
char string[100];
char *p;
gets(string);
p=string;
while(*p!=' ') {
if(*p=='\0') return 0;
p++;
}
p++;
while(*p!='\0'){
putchar(*p);
p++;
}
putchar('\n');
return 0;
}
0958デフォルトの名無しさん
2008/06/18(水) 21:19:480959デフォルトの名無しさん
2008/06/18(水) 21:20:13#include<iostream>
#include<string>
#include<map>
int main()
{
std::string tango;
std::map<std::string,int> tango_count;
while(std::cin >> tango)
{
tango_count[tango]++;
}
for(std::map<std::string,int>::iterator n=tango_count.begin();n!=tango_count.end();++n)
{
std::cout << n->first << " : " << n->second << std::endl;
}
return 0;
}
0961デフォルトの名無しさん
2008/06/18(水) 21:26:20http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6960.c
0962デフォルトの名無しさん
2008/06/18(水) 21:27:18まちるだ
0963デフォルトの名無しさん
2008/06/18(水) 21:27:49[2]
引数を2つの実数値とし,その2つのうち大きいほうの値を返す関数max()および小さいほうの値を返す関数min()を作成せよ。
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:2008年06月20日まで
[5]
コンパイルできたのですが、正しい値が帰ってきません。
どこがおかしいのか教えてください。
よろしくお願いします。
↓
0964デフォルトの名無しさん
2008/06/18(水) 21:28:15#include<stdio.h>
double max(double a,double b);
double min(double a,double b);
main(){
double x,y,MAX,MIN;
printf("実数を二つ入力してください\n");
scanf("%f",&x);
scanf("%f",&y);
MAX=max(x,y);
MIN=min(x,y);
printf("max=%f\n",MAX);
printf("min=%f\n",MIN);
}
double max(double a,double b){
double z;
if(a<b){z=b;}else{z=a;}
return(z);}
double min(double a,double b){
double z;
if(a<b){z=a;}else{z=b;}
return(z);}
0965デフォルトの名無しさん
2008/06/18(水) 21:28:17> ただし,文字列の入力には関数 gets を用いること.
ダウト!!!!講師にやめれと抗議すべき
0966デフォルトの名無しさん
2008/06/18(水) 21:28:53[2] 問題文(含コード&リンク):
平面上にn個の点について、それぞれ他の全ての点に対し2点を結ぶ辺を作り、その重みをユークリッドノルムとして計算し、昇順にソートする。
nは10万以上のため、全ての重みをメモリ上で保持してソートするのは現実的でない。現実の計算機上で高速に計算しソートする方法を示せ
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: g++
[3.3] 言語: C++
[4] 期限: (無期限]
[5] その他の制限: なし
0967デフォルトの名無しさん
2008/06/18(水) 21:33:01(n-1)! 個の重みを昇順にソートするって事?
0968デフォルトの名無しさん
2008/06/18(水) 21:33:22#undef gets
#endif
#define gets fgets
...
0969デフォルトの名無しさん
2008/06/18(水) 21:33:56その後の講義でバッファオーバーフローの説明があるのかもしれない
0970デフォルトの名無しさん
2008/06/18(水) 21:34:30課題で使えと出している時点でダウト
0971デフォルトの名無しさん
2008/06/18(水) 21:37:38n(n-1)個の辺の重みです。重みは可換ですからn(n-1)/2個で済みますが
0972954
2008/06/18(水) 21:46:13ありがとうございました<m(__)m>。
0973デフォルトの名無しさん
2008/06/18(水) 21:48:40そんなもん後から知ればいいこと。
道具の良し悪しよりも道具の使い方を知るタイミングだ
0974デフォルトの名無しさん
2008/06/18(水) 21:49:05scanf("%f",...); →scanf("%lf",...);
scanf の変換指定%f はfloat型 %lfはdouble型
0975デフォルトの名無しさん
2008/06/18(水) 21:52:26いちいち客観的にタブーとされているものを擁護するレスがうぜーよ素人
0976デフォルトの名無しさん
2008/06/18(水) 21:56:410977デフォルトの名無しさん
2008/06/18(水) 21:57:31明らかに考え方がおかしい。敢えて使わせることなんてせず、問題があるなら
それは授業で説明すれば良いこと。問題を起こさせる課題だとしても
万が一生徒のコンピュータにトラブルが起こったら、賠償モンだよw
0978デフォルトの名無しさん
2008/06/18(水) 21:59:07できました。
ありがとうございます。
0980デフォルトの名無しさん
2008/06/18(水) 22:03:28scanfのほうがいくらか安全だろう。
0981デフォルトの名無しさん
2008/06/18(水) 22:13:420982デフォルトの名無しさん
2008/06/18(水) 22:15:27玄人か。すげえな。
一応俺もプログラムでご飯食べてるけど、まあどんな関数でも
いつobsoluteになるかわからんよね。
がんばってな。応援してるよ。
0983デフォルトの名無しさん
2008/06/18(水) 22:18:08obsolete の検索結果 約 28,200,000 件中 1 - 10 件目 (0.18 秒)
0984デフォルトの名無しさん
2008/06/18(水) 22:18:370985デフォルトの名無しさん
2008/06/18(水) 22:18:39[2] int型配列x,yを次のように宣言する。
int x[5]={3,-2,-4,2,3};
int y[7]={1,3,3,-2,3,0,5};
このとき,xおよびyの配列の各要素の合計を返す関数ArraySum()を作成せよ。
なお,xとyとで2つの異なる関数を作る必要はない。
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:2008年06月20日まで
[5]
これも、コンパイルできたのですが、正しい値が帰ってきません。
どこがおかしいのか教えてください。
よろしくお願いします。
↓
0986デフォルトの名無しさん
2008/06/18(水) 22:19:06int ArraySum(int data[]);
main(){
int x[5]={3,-2,-4,2,3};
int y[7]={1,3,3,-2,3,0,5};
int sumx=ArraySum(x);
int sumy=ArraySum(y);
printf("配列xの合計は%d",sumx);
printf("配列yの合計は%d",sumy);
}
int ArraySum(int data[]){
int i,sum=0;
for(i=0;i<sizeof(data)/sizeof(data[0]);i++){
sum=sum+data[i];
}
return(sum);
}
0987デフォルトの名無しさん
2008/06/18(水) 22:21:51printf("%d\n", sizeof(data));
を追加してみ
0988デフォルトの名無しさん
2008/06/18(水) 22:27:26Oberfootの検索結果 1 件中 1 - 1 件目 (0.02 秒)
0989デフォルトの名無しさん
2008/06/18(水) 22:29:44120でした。
ということは、i<30になってるんでしょうか
0991デフォルトの名無しさん
2008/06/18(水) 22:31:46int ArraySum(int data[], int size)
{
int i, sum = 0;
for(i=0; i<size; i++) sum += data[i];
return sum;
}
配列を関数に渡すときは、サイズも渡さないと。
0992デフォルトの名無しさん
2008/06/18(水) 22:32:590993デフォルトの名無しさん
2008/06/18(水) 22:34:07性格が捻くれているのがバレバレ。いちいちそういうこと言うから嫌われるんだよw
おまけに、わけの分からない擁護。勝手な憶測でつじつま合わせにもならん
無駄な戯言を。
0994989
2008/06/18(水) 22:35:380995デフォルトの名無しさん
2008/06/18(水) 22:35:460996デフォルトの名無しさん
2008/06/18(水) 22:36:03謝るくらいなら最初からやんな
0997デフォルトの名無しさん
2008/06/18(水) 22:40:59できません
0998デフォルトの名無しさん
2008/06/18(水) 22:41:16C/C++の宿題を片付けます 110代目
http://pc11.2ch.net/test/read.cgi/tech/1213796455/
0999デフォルトの名無しさん
2008/06/18(水) 22:42:29getsの問題点知ってる?知らない?
知らないことあるかー、後で授業で説明するかもしれないだろっ!
お前これどうすんだっ?ん?
1000デフォルトの名無しさん
2008/06/18(水) 22:42:37俺はあんたみたいなわけ分からんヤツには何も請うてない。
玄人の意見が聞きたいだけだ。
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。