C/C++の宿題片付けます 124代目
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2009/03/02(月) 02:13:06【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。
・問題文は、出題されたまま全文を書いてください。
・問題文やコードをリンクするときは、一言内容にについて説明をつけましょう。
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。
【質問テンプレ】
[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++の宿題片付けます 122代目(実質123代目)
http://pc11.2ch.net/test/read.cgi/tech/1232029287/
0766デフォルトの名無しさん
2009/04/14(火) 01:09:38| | | |
--+--+--+--+--
| | | |
--+--+--+--+--
| | | |
--+--+--+--+--
| | | |
--+--+--+--+--
| | | |
0767デフォルトの名無しさん
2009/04/14(火) 01:30:30#include<stdio.h>
#include<string.h>
#define HEIGHT 32
#define WIDTH 79
void triangle(char screen[HEIGHT][WIDTH], int center, int top, int size)
{
int i;
if(size<3) return;
for(i=0;i<size-1;i++) screen[top+i][center-i]=screen[top+i][center+i]='*';
for(i=0;i<size;i++) screen[top+size-1][center-i]=screen[top+size-1][center+i]='*';
triangle(screen, center, top, size/2);
triangle(screen, center-size/2, top+size/2, size/2);
triangle(screen, center+size/2, top+size/2, size/2);
}
int main(void)
{
char screen[HEIGHT][WIDTH];
int i;
memset(screen, ' ', sizeof(screen));
triangle(screen, WIDTH/2, 0, HEIGHT);
for(i=0;i<HEIGHT;i++)
{
printf("%.*s\n", WIDTH, screen[i]);
}
return 0;
}
0768デフォルトの名無しさん
2009/04/14(火) 01:57:36*
* *
* *
*******
* *
* * * *
* * * *
***************
* *
* * * *
* * * *
******* *******
* * * *
* * * * * * * *
* * * * * * * *
*******************************
0769デフォルトの名無しさん
2009/04/14(火) 06:46:010770デフォルトの名無しさん
2009/04/14(火) 10:50:220771デフォルトの名無しさん
2009/04/14(火) 11:06:57mCn=(m/n)*・・*((m-n+1)/1)
a=m-nとおき、f(x)=log(1+c/x)とおくと
log(mCn)=f(1) + ・・・ + f(n)となる。
log(mCn)の値は、∫[1,n]f(x)dxから∫[2,n+1]f(x)dxの範囲。
0772デフォルトの名無しさん
2009/04/14(火) 11:22:40F(n)-F(1)からF(n+1)-F(2)までの間の値。
0773デフォルトの名無しさん
2009/04/14(火) 11:54:590774taguti
2009/04/14(火) 14:39:53(x1、y1)(x2、y2)(x3、y3)を頂点に持つ三角形の面積を計算して、その値を表示するプログラムを作成してください。
・公式:底辺x高さ÷2を使って計算してください。
お願いします!!
0775デフォルトの名無しさん
2009/04/14(火) 14:55:11そのテーブルを1件1件READしながら、
@YMD_S(開始年月)という変数に、
NEN + TUKI4〜TUKI3でフラグ1が設定されている最初の月をセット(例:「200805」)
AYMD_E(終了年月)という変数に、
NEN + TUKI4〜TUKI3でフラグ1が設定されている最後の月をセット(例:「200809」)
としたい場合に、どういったロジックで考えたら
実現可能でしょうか?
処理効率とか以前に、どういう方針で考えたらいいかがわかりません。
どうか教えてください。
0776デフォルトの名無しさん
2009/04/14(火) 15:14:50A(x1, y1), B(x2, y2), C(x3, y3) → A'(0, 0), B'(x2 - x1, y2 - y1), C'(x3 - x1, y3 - y1) として
△ABC = △A'B'C' = |(x2 - x1)(y3 - y1) - (y2 - y1)(x3 - x1)|/2
の方が楽じゃないかなぁ…。
0777デフォルトの名無しさん
2009/04/14(火) 15:23:46(x1, y1),(x2, y2)の間の距離は
sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1))
(x1, y1),(x2, y2) を通る直線の方程式は、
(y2 - y1) * x / (x2 - x1) - y + (x2 * y1 - x1 * y2) / (x2 - x1) = 0。
点(x3, y3)からこの直線へ下ろした垂線の長さは
abs((y2 - y1) * x3 / (x2 - x1) - y3 + (x2 * y1 - x1 * y2) / (x2 - x1))
/ sqrt((y2 - y1) * (y2 - y1) / (x2 - x1) / (x2 - x1) + 1)。
0778デフォルトの名無しさん
2009/04/14(火) 15:39:05#include <iostream>
using namespace std;
int main() {
int i, nen, tuki[12], ymd_s, ymd_e;
for(int c=0; c<20 ; c++) {
cin >> nen; cout << nen << ")";
for(i=1; i<=12; i++) {
cin >> tuki[i-1]; cout << tuki[i-1] << ")"; }
ymd_s = ymd_e = 0;
for(i=1; i<=12; i++)
if(tuki[i-1] == 1) {
if(i>9)
ymd_s = nen*100 + 100 + i-9;
else
ymd_s = nen*100 + i+3;
break;
}
for(i=12; i>=1; i--)
if(tuki[i-1] == 1) {
if(i>=9)
ymd_e = nen*100 + 100 + i-9;
else
ymd_e = nen*100 + i+3;
break;
}
cout << ymd_s << "," << ymd_e << endl;
}
}
0779デフォルトの名無しさん
2009/04/14(火) 15:50:57マルチ乙
http://pc12.2ch.net/test/read.cgi/tech/1237091698/493
http://pc12.2ch.net/test/read.cgi/tech/1232055225/770
http://pc12.2ch.net/test/read.cgi/tech/1217575832/499
http://pc12.2ch.net/test/read.cgi/tech/1235927586/774
http://pc12.2ch.net/test/read.cgi/tech/1212498448/876
http://pc12.2ch.net/test/read.cgi/tech/1212409946/66
http://pc12.2ch.net/test/read.cgi/tech/1217575832/499
http://pc12.2ch.net/test/read.cgi/tech/1192201659/808
http://pc12.2ch.net/test/read.cgi/tech/1205156417/821
http://pc12.2ch.net/test/read.cgi/tech/1238032584/16
http://pc12.2ch.net/test/read.cgi/tech/1224719784/934
0780デフォルトの名無しさん
2009/04/14(火) 15:56:55ほんと乙だわ。
そしてそれを全部見つけてきた779も乙
0781taguti
2009/04/14(火) 16:23:540782デフォルトの名無しさん
2009/04/14(火) 20:24:43C言語ですがC++もあまり変わらない解読でいいんですよね?
もしよろしければ一行一行に説明文(コメント)を
追加していただけないでしょうか?
解読を試みているのですがさっぱりです。。
0783デフォルトの名無しさん
2009/04/14(火) 20:26:28質問の意味が分からないや
テーブルの項目
NEN(4桁の数値文字列) | TUKI4〜TUKI3(2桁の数値文字列) | FLAG(1桁の数値文字列) | ...
2008 05 1 ...
2008 09 1 ...
2008 10 0 ...
2008 07 1 ...
のときに
YMD_S=200805
YMD_E=200809
としたいということ?
YMDなのにYMしか使ってないとか気持ち悪いけどw
0784デフォルトの名無しさん
2009/04/14(火) 20:35:452008 00 00 01 00 00 00 00 00 01 00 00 00
で
start 200806
end 200812
にしたいんじゃ
>>783
0785デフォルトの名無しさん
2009/04/14(火) 20:38:32なるほど!そういうことか!
0786デフォルトの名無しさん
2009/04/14(火) 20:41:560787785
2009/04/14(火) 20:52:592008年度の1月の表現は 200801 なのか 200901 なのか分からなかったので両方書いてみた
#include<stdio.h>
int main(void)
{
int year, month, flag, YMD_S, YMD_E;
FILE *fp=stdin;
while(fscanf(fp, "%d", &year)==1)
{
YMD_S=YMD_E=0;
for(month=4;month<=12+3;month++)
{
if(fscanf(fp, "%d", &flag)!=1) break;
if(flag) YMD_E=year*100+(month-1)%12+1;
// if(flag) YMD_E=(year+(month-1)/12)*100+(month-1)%12+1;
if(YMD_S==0) YMD_S=YMD_E;
}
printf("year=%d YMD_S=%d YMD_E=%d\n", year, YMD_S, YMD_E);
}
return 0;
}
0788デフォルトの名無しさん
2009/04/14(火) 22:49:36[2] 問題文(含コード&リンク):
ニュートン法でf(x)=x-cos(x)=0の近似値を求める。
f'(x)=1+sin(x)であるから、
a[k+1] = a[k]-(a[k]-cos(a[k])/(1+sin(a[k]))
によって近似解の改良を繰り返すことになる。
初期近似解をa1=1.0,終了条件を|a[k+1]-a[k]|≦10^(-15)とし、
少数点以下15桁まで求めるプログラムを作成せよ。
※a[k]などの"[k]"は、添え字です。
[3] 環境
[3.1] OS:Linux
[3.2] cc
[3.3] C言語
[4] 期限:明日
0789デフォルトの名無しさん
2009/04/14(火) 22:57:57嘘つけボケが。
そのレベルを一人で解けないなんておわってんな。
0790デフォルトの名無しさん
2009/04/15(水) 03:07:40#include <stdio.h>
#include <math.h>
int main()
{
double x, y;
x = 1.0;
do{
y = x;
x = y - (y - cos(y))/(1 + sin(y));
} while(fabs(x - y) > pow(10, -15));
printf("x = %.15lf", x);
return 0;
}
0791デフォルトの名無しさん
2009/04/15(水) 07:51:26毎回計算させんのかよw
0792デフォルトの名無しさん
2009/04/15(水) 08:29:02【プログラムコンテスト】
・思考ルーチンのプログラムに自信のある方は是非ご参加ください
・賞金は最大10万円です。
http://irensei.com/html/game.html
0793デフォルトの名無しさん
2009/04/15(水) 13:23:38御解答ありがとうございます。
質問の仕方が悪くて申し訳ないです。
NEN 04 05 06 07 08 09 10 11 12 01 02 03
2008 00 00 01 01 01 01 01 01 01 00 00 00
で
start 200806
end 200812
といった感じです。
787さん
if(YMD_S==0) YMD_S=YMD_E; 以前で
YMD_Sに年月がセットされるところがないように
思えますが、どういうロジックなのかご教示いただけませんか?
やはりコメントがないと、見てもわかりません。
申し訳ありませんがお願いします。
0794デフォルトの名無しさん
2009/04/15(水) 14:47:47[2] 問題文(含コード&リンク):
ttp://www.dotup.org/uploda/www.dotup.org8740.zip.html
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: g++
[3.3] 言語: C++
[4] 期限: 2009年4月16日14:30まで
[5] その他の制限:
課題のファイルの末尾に3点制限事項がありますのでご覧ください
0795デフォルトの名無しさん
2009/04/15(水) 16:16:55どこまでこだわればいいのかねぇ
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9031.txt
0796デフォルトの名無しさん
2009/04/15(水) 16:39:48find_last_ofの使い道が分からん
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9032.txt
0798794
2009/04/15(水) 16:59:58ありがとうございます クラスなのとfind_first_of/find_last_ofでかいてもらってるので完璧です
出力も全く問題ないです find_last_ofの使い方がわからんとゆうのは使い方があまりよくないということでしょうか
外出しますが帰ったらもっかい見てみますがこれで問題ないです ありがとうございました
0799デフォルトの名無しさん
2009/04/15(水) 18:53:25[2] 問題文(含コード&リンク):5つの数字の中から3つを選び全て出す
[3] 環境
[3.1] OS:Win
[3.2] コンパイラ名とバージョン:わかりません
[3.3] 言語:C
[4] 期限:今週いっぱい
お願いします
0800デフォルトの名無しさん
2009/04/15(水) 19:30:11マインドシーカーかよ
0801デフォルトの名無しさん
2009/04/15(水) 19:35:22#include <stdlib.h>
#include <time.h>
int main(void)
{
int a[5] = {1, 2, 3, 4, 5}, i;
srand(time(NULL));
for(i=0; i<3; i++) {
int j = rand() / (RAND_MAX + 1.0) * (5 - i);
printf("%d ", a[j]);
a[j] = a[4-i];
}
return 0;
}
0802デフォルトの名無しさん
2009/04/15(水) 21:05:200803デフォルトの名無しさん
2009/04/15(水) 21:36:57int main(void)
{
int i, j, k;
for(i=1; i<=5; i++) {
fof(j=1; j<=5; j++) {
if(j==i) continue;
for(k=1; k<=5; k++) {
if(k==i||k==j)continue;
printf("%d %d %d\n", i, j, k);
}}}
return 0;
}
0804デフォルトの名無しさん
2009/04/15(水) 22:32:17ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9033.txt
0805デフォルトの名無しさん
2009/04/15(水) 22:39:57int main(void)
{
int i, j, k;
for(i=0; i<5; i++) for(j=i+1; j<5; j++) for(k=j+1; k<5; k++) printf("%d %d %d\n", i, j, k);
return 0;
}
0806sage
2009/04/15(水) 23:17:56int main(void)
{
int i,j,n;
i=2;
printf("Input Num=?");
scanf("%d,&n");
printf("Dec=%d\n",n);
printf("heX=%x\n\n",n);
j=(n>>2)&1;
printf("bit[%d]=%d\n",i,j);
return(0);
}
↑これに適当な数を入れると決まって-4195116になってしまいます
どうすればいいでしょうか
0807デフォルトの名無しさん
2009/04/15(水) 23:30:440808デフォルトの名無しさん
2009/04/15(水) 23:31:270809デフォルトの名無しさん
2009/04/15(水) 23:46:27#include <stdio.h>
int main(void)
{
int i, j, k;
int data[5]={0,0,0,0,0};
printf("好きな数字を5個入力してください:");
if(scanf("%d%d%d%d%d", &data[0], &data[1], &data[2], &data[3], &data[4]) != 5) return 1;
for(i=0; i<5; i++)
for(j=i+1; j<5; j++)
for(k=j+1; k<5; k++) {
printf("%d %d %d\n", data[i], data[j], data[k]);
}
return 0;
}
0810799
2009/04/16(木) 00:09:01>>802さんの言うとおり全ての組み合わせを表示せよというものです
>>801>>803-805>>809さんありがとうございます
後から問いが少し代わったので、参考に頑張りたいと思います
0811デフォルトの名無しさん
2009/04/16(木) 15:39:51[2] 問題文(含コード&リンク):
ttp://www.dotup.org/uploda/www.dotup.org11261.zip.html
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: g++
[3.3] 言語: C++
[4] 期限: 4/17 17:00まで
[5] その他の制限:問題文内にメモを書きました それでわよろしくおねがいします
0812デフォルトの名無しさん
2009/04/16(木) 18:03:52[2] 問題文(含コード&リンク):
JPEG-LSでは予測誤差を量子化することでNEAR-LOSSLESSを実現している。
予測誤差を量子化せずにNEAR-LOSSLESSを実現しなさい。
なお採点は
(1)JPEG-LSのソースコードを見つける[10点]
(2)プログラムを書き、NEAR-LOSSNESSを実現する[20点]
(3)出来た画像を見て考察をする[20点]
(4)他の符号化方式で(1)〜(3)を行う.
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: 不明
[3.3] 言語: C言語
[4] 期限: 4/18 22:00まで
[5] その他の制限:ソースコードは見つけたので
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
の:C/C++の宿題を片付けます 124代目の9035.zipにアップしておきました。
各画素の輝度値に所望誤差を加え,それを量子化ステップで割って,
可逆符号化をして,復号し,その後各画素の輝度値に量子化ステップを
かけてあげれば出来るのでないかと思い、先生に確認したところ
それでできるとのことだったのですが、書き方がよくわかりませんでした。
どなたかお願いいたします。
0813デフォルトの名無しさん
2009/04/17(金) 00:33:18[2] 問題文(含コード&リンク)
演習1:任意の長さのint型の配列を用意し,昇順にソートせよ.また,最小値,最大値,平均値を出力せよ.
演習2:文字列とある文字を入力し,文字列中にその文字が現れた位置を表示するプログラムを作成せよ.但し,含まれなければ“なし”と表示する.
(例: ABCDとB を入力 結果 2番目 )
演習3:任意の大きさの2つの正方行列を標準入力から入力し,2次元配列に保存し,これら2つの行列の差を求め,表示するプログラムを作成せよ
[3] 環境
[3.1] OS:Windows Vista
[3.2] コンパイラ名とバージョン:不明
[3.3] 言語: C言語
[4] 期限: 4/20 8:00まで
[5] その他の制限:まだfor、while、多次元配列などの基礎のみしか学習していません。
0814811
2009/04/17(金) 00:33:56既存のソースをテンプレート化する問題です
よろしくおねがいします
0815デフォルトの名無しさん
2009/04/17(金) 01:10:44参考書とにらめっこしたけどさっぱりわかりません
0816デフォルトの名無しさん
2009/04/17(金) 01:23:26問題4、別にあまり変えるとこないけど
template<class T>
typename T::value_type median(const T &ary) {
typename T::size_type num = ary.size();
if(num%2 != 0) {
std::partial_sort(ary.begin(), ary.begin() + (num/2)+1, ary.end());
return ary[((num+1)/2)-1];
} else {
partial_sort(ary.begin(), ary.begin() + (num+1/2), ary.end());
return (ary[(num/2)-1]+ary[num/2])/2;
}
}
0817デフォルトの名無しさん
2009/04/17(金) 01:41:49#include <stdio.h>
int fact(int n)
{
if(n <= 1) return n;
int m = fact(n - 1);
printf("%d! = %d * %d! = %d * %d = %d\n", n, n, n - 1, n, m, n * m);
return n * m;
}
int main()
{
int n;
printf("n!を計算します。\nn = ");
scanf("%d", &n);
printf("%d! = %d\n", n, fact(n));
return 0;
}
0818811
2009/04/17(金) 01:56:32テンプレートが全くわかっていないのですが単純にpart3.cppのコードのmedian関数を上記に
変更してpart4.cppにしたのですがそれだとコンパイルエラーになりました。
ヘッダファイルは変更しなくていいですよね。read、prompt、mainはどこか変える必要ありますか?
0819デフォルトの名無しさん
2009/04/17(金) 02:07:170820デフォルトの名無しさん
2009/04/17(金) 02:27:42入れ替えるんじゃない、追加。
その構造体で動かしたいなら丸投げしとけば
double Abstract_student_info::median()
{
return ::median(homework);
}
0821811
2009/04/17(金) 03:10:46あほですみません。追加というとmedian関数を二回定義汁ということでしょうか?
申し訳ないのですが混乱していますのでヘッダとpart4.cppをうpして頂けると大変たすかります
0822デフォルトの名無しさん
2009/04/17(金) 03:27:41別に名前を変えたかったら変えてもかまわない。
こんな感じか
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9036.cpp
partial_sortは破壊操作なことを忘れてたから修正もしといた
0823811
2009/04/17(金) 03:34:30ありがとうございます!!コンパイル/実行できました。
まだコードの意味が全くわかっていませんがこれから理解につとめます
テンプレートむずかしい。。。
おやすみなさい(●'w'●)ノ
0824デフォルトの名無しさん
2009/04/17(金) 04:34:083D空間で同様に書いてみたら?
つまり宇宙的規模と言う事です。
(x1,y1,z1) (x2,y2,z2) (x3,y3,z3)
0825デフォルトの名無しさん
2009/04/17(金) 06:45:44>>817さん
ありがとうございます
でも実際にコンパイル/実行してみると
7行目:サーバーエラー、intは間違ってます
と出てしまうんですけどどうすればいいんでしょうか?
ちなみに使っているソフトはCmachineです
勝手ですいませんが回答お願いします
0826デフォルトの名無しさん
2009/04/17(金) 07:47:22{
int m;
if(n <= 1) return n;
m = fact(n - 1);
printf("%d! = %d * %d! = %d * %d = %d\n", n, n, n - 1, n, m, n * m);
return n * m;
}
これで多分おk
0827デフォルトの名無しさん
2009/04/17(金) 11:19:20と、言われそうだけど
× if(n <= 1) return n;
○ if(n <= 1) return 1;
なぜなら、0! = 1 だから。
0828デフォルトの名無しさん
2009/04/17(金) 15:00:21そうするつもりで間違えた。指摘ありがとう。
0829デフォルトの名無しさん
2009/04/17(金) 16:32:36本当にありがとうございました
何度も質問して申し訳ないんですが
#include<stdio.h>
void main(void)
{
int k,n,sum;
printf("kの値は?");scanf("%d",&n);
sum=1;
for (k=1;k<=n;k++)
sum=sum*k;
printf("合計=%d\n",sum);
}
をさっきのみたいに
途中の計算結果も表示するにはどうすればいいんでしょうか?
0830デフォルトの名無しさん
2009/04/17(金) 17:27:57printf("%d*%d=%d\n", k, sum, sum*k);
sum=sum*k;
}
0831デフォルトの名無しさん
2009/04/17(金) 17:45:03ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9038.c
0832デフォルトの名無しさん
2009/04/17(金) 19:01:22例えば
class A
{
private: int a
}
class B:: private A
{
}
このように書いた時でも、classBのインスタンスは
Aで定義したaが初期化されてしまうというか
メモリを割り当てられてしまうんですか?
0833デフォルトの名無しさん
2009/04/17(金) 20:58:45ありがとうございます
>>830さん
でもそれを入れなおしてコンパイルすると10行目:予期せぬEOFってでます
for (k=1;k<=n;k++) { の{をとってコンパイルするとエラーは出ないんですが
N!の答えで出てきません
申し訳ないですが回答お願いします
0834デフォルトの名無しさん
2009/04/17(金) 21:03:40試してみました。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9039.txt
0835デフォルトの名無しさん
2009/04/17(金) 21:06:33printf("%d*%d=%d\n", k, sum, sum*k);
sum=sum*k;
}
0836デフォルトの名無しさん
2009/04/17(金) 21:07:34だから単文でも中括弧を省略するなとあれほど口を酸っぱk
0837デフォルトの名無しさん
2009/04/17(金) 21:15:35#include<stdio.h>
void main(void)
{
int k,n,sum;
printf("kの値は?");scanf("%d",&n);
sum=1;
for (k=1;k<=n;k++) {
printf("%d*%d=%d\n", k, sum, sum*k);
sum=sum*k;
}
でコンパイルしたんですが10行目:予期せぬEOFです。
ってでました
どうすればいいんでしょうか?
0838835
2009/04/17(金) 21:22:48sum=sum*k;
}
printf("合計=%d\n",sum);
△
▼
for (k=1;k<=n;k++) {
printf("%d*%d=%d\n", k, sum, sum*k);
sum=sum*k;
}
printf("合計=%d\n",sum);
0839デフォルトの名無しさん
2009/04/17(金) 21:28:01ようやくできました・・・。
ありがとうございました
お騒がせしてもしわけなかったです
0840デフォルトの名無しさん
2009/04/17(金) 21:29:56ありがとうございます。
コピペして走らせて見ました。
どうやっても増えちゃいますね。
0841デフォルトの名無しさん
2009/04/17(金) 22:21:28[2] 問題文:複数個あるのでzipにまとめました。
課題1〜3 http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9040.zip
課題4 http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9041.zip
[3] 環境
[3.1]OS:Windows
[3.2]VC++ 2005
[3.3]C
[4] 期限:4月24日
[5] その他の制限:各課題に指定あり
0842デフォルトの名無しさん
2009/04/17(金) 22:57:16どうでも良いけど課題3簡単過ぎじゃない?
#include <stdio.h>
main()
{
puts("名前:山田 太郎");
puts("学籍番号:00A000");
puts("好きな科目:プログラミング演習");
}
0843デフォルトの名無しさん
2009/04/17(金) 23:05:05課題1
#include <stdio.h>
int main()
{
int a = 5, b = 8;
printf("a=%d\nb=%d\na*3=%d\nb*2=%d\na*3-b*2=%d",a,b,a*3,b*2,a*3-b*2);
return 0;
}
課題2
#include <stdio.h>
int main()
{
int a, b, c;
printf("a="), scanf("%d", &a);
printf("b="), scanf("%d", &b);
c=a*3-b*2;
printf("\na*3=%d\nb*2=%d\na*3-b*2=%d",a*3,b*2,c);
return 0;
}
0844デフォルトの名無しさん
2009/04/17(金) 23:06:19#include <stdio.h>
int main(void)
{
int a;
printf("入学年度(2桁)?");
scanf("%2d",&a);
printf("学籍番号:%02dH777\n",a);
printf("山田 太郎\n");
}
どうでもいいけど
typoをわざとやらせるとか
"が全角だとかはこういうレベルの人たちに気づかせようってのは
間違ってる気がする。
自分で間違うヤツはいっぱいいるけど
0845デフォルトの名無しさん
2009/04/17(金) 23:10:05課題4
#include <stdio.h>
int main(void)
{
int a;
printf("入学年度(2桁)?");
scanf("%2d", &a);
printf("学籍番号:%02dH777\n", a);
printf("山田 太郎\n");
return 0;
}
0846デフォルトの名無しさん
2009/04/17(金) 23:12:10mainがintだからreturnは必要か
0847デフォルトの名無しさん
2009/04/17(金) 23:13:060848デフォルトの名無しさん
2009/04/17(金) 23:13:59早めに体験させとくのは悪くないと思うけど。大学の講義としてはすごくベタな問題だよそれ
0849841
2009/04/17(金) 23:18:20まだ習いたてで何度試しても上手くいきませんでしたorz
これから授業について行けるように頭に叩き込もうと思います。
0850デフォルトの名無しさん
2009/04/18(土) 00:01:48こんな問題出すような先生の言うことは聞いちゃダメだぞ
自分で勉強するんだ
0851デフォルトの名無しさん
2009/04/18(土) 00:05:53それじゃあ単位取れないだろw
無難にこなしつつも軽蔑しろ
といわなきゃ
0852デフォルトの名無しさん
2009/04/18(土) 00:57:50そういえば大学でTAやってたころ、全角半角分からないヤツに
教科書を丸写ししたのにコンパイルできないんです〜〜とか
そういう質問をいっぱい受けたなぁ
ぐちゃぐちゃなコード見せられて
これが動かない、何とかしろという馬鹿に
インデントしろとかコメントかけ、何がしたいかも分からん
とか言うとそんなことどうでも良いだろとか逆ギレされたなぁ
期末に全く授業出てないけどこのレポート出したら単位もらえるから
答えを教えろといってきたヤツまでいたっけ
このスレとあんま変わらんか
0853デフォルトの名無しさん
2009/04/18(土) 01:01:27やってくれる方どなたかいませんか?><
0854デフォルトの名無しさん
2009/04/18(土) 01:10:38バグ持ちでなかなか動かない汚いプログラムをいつまでも
いじくり回してる奴
こちらは一から綺麗に書き直してやってるのにそれに目もくれずに
「これを直してください」の一点張り
知るかよそんなの
0855デフォルトの名無しさん
2009/04/18(土) 01:36:06#include <stdio.h>
int main(void) {
int i, j, n, *dataA, *dataB, *wa, *wb;
printf("Input N:"); scanf("%d", &n);
if((dataA = malloc(n*n*sizeof(int))) == 0) return 1;
if((dataB = malloc(n*n*sizeof(int))) == 0) return 1;
printf("Input Matrix A %d X %d\n", n, n);
for(i=0; i<n; i++) {
wa = &dataA[i*n];
printf("A %d : ", i+1);
for(j=0; j<n; j++) scanf("%d", &wa[j]);
}
printf("Input Matrix B %d X %d\n", n, n);
for(i=0; i<n; i++) {
wb = &dataB[i*n];
printf("B %d : ", i+1);
for(j=0; j<n; j++) scanf("%d", &wb[j]);
}
puts("Print out A-B=C");
for(i=0; i<n; i++) {
wa = &dataA[i*n];
wb = &dataB[i*n];
printf("C %d : ", i+1);
for(j=0; j<n; j++) printf("%d ", wa[j] - wb[j]);
puts("");
}
return 0;
}
0856デフォルトの名無しさん
2009/04/18(土) 03:05:28#include <stdio.h>
enum { ARRAY_NUM = 10 };
void disp_array(int *array, int num) {
int i;
printf("Array:");
for (i = 0; i < num; i++) printf(" %d", array[i]);
printf("\n");
}
int main(void) {
int array[ARRAY_NUM];
int min, max, sum;
int i, j; int temp;
for (i = 0; i < ARRAY_NUM; i++) scanf("%d", &array[i]);
disp_array(array, ARRAY_NUM);
min = max = array[0]; sum = 0;
for (i = 0; i < ARRAY_NUM; i++) {
for (j = i + 1; j < ARRAY_NUM; j++) {
if (array[j] < array[i]) { temp = array[i]; array[i] = array[j]; array[j] = temp; }
}
if (array[i] < min) min = array[i];
if (array[i] > max) max = array[i];
sum += array[i];
}
disp_array(array, ARRAY_NUM);
printf("min: %d, max: %d, average: %d\n", min, max, sum / ARRAY_NUM);
return 0;
}
0857デフォルトの名無しさん
2009/04/18(土) 03:10:31演習2
#include <stdio.h>
enum { STRING_LENGTH = 100 };
int find_char(char *str, char ch) {
int i;
if (str == NULL) return -1;
i = 0;
while (str[i]) {
if (str[i] == ch) return i + 1;
i++;
}
return -1;
}
int main(void) {
char str[STRING_LENGTH];
char ch;
int num;
printf("str >> ");
scanf("%s", str);
fflush(stdin); /* fflush()を使うのは本当は正しくない */
printf("char >> ");
scanf("%c", &ch);
num = find_char(str, ch);
if (num < 0) printf("なし\n");
else printf("%d番目\n", num);
return 0;
}
0858デフォルトの名無しさん
2009/04/18(土) 03:12:11安価の付け方ミスったぜ……。
>>856が演習1。全角空白を適当に変換してくれ。
0859デフォルトの名無しさん
2009/04/18(土) 03:42:18夜遅くにありがとうございました><
0860デフォルトの名無しさん
2009/04/18(土) 06:08:540861デフォルトの名無しさん
2009/04/18(土) 07:46:22http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9042.c
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9043.c
0862855
2009/04/18(土) 08:14:29http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9044.txt
0863デフォルトの名無しさん
2009/04/18(土) 12:20:320864デフォルトの名無しさん
2009/04/18(土) 12:21:460865デフォルトの名無しさん
2009/04/18(土) 12:23:37それ以上はエスパーじゃないから分かんない
0866863
2009/04/18(土) 12:30:56以下がエラーメッセージになります。
errorC4430:型指定子がありません - intと仮定しました。
メモ:C++はintを既定値としてサポートしていません。
あと、3行目に問題があるようです。
■ このスレッドは過去ログ倉庫に格納されています