C/C++の宿題片付けます 162代目
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2013/01/10(木) 01:25:13.36【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。 >>2以降にあります。
・問題文は、出題されたまま全文を書いてください。
・問題文やコードをリンクするときは、一言内容にについて説明をつけましょう。
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。
0004 ◆3LevjbTEkc
2013/01/10(木) 16:45:37.73[2] 素数だけからなるできるだけ長い等差数列を見つけよ.
[3] 環境
[3.1] OS: vista
[3.2] コンパイラ名とバージョン: visual studio2005
[3.3] 言語: C
[4] 期限: 2013年1月11日
0005デフォルトの名無しさん
2013/01/10(木) 16:56:20.76[2] このプログラムに得点順に並べ替える関数data_sortを追加し並べ替えた結果を追加せよ
#include <stdio.h>
typedef struot Personal {
char name[50];
int ten;
} Kojin;
void show(Kojin *p);
void data_sort(Kojin *p);
int main(void){
Kojin data[5] = {{"A", 5},{"E",3},{"C",1},{"D",2},{"B",4}};
data_sort(data);
show(data);
return 0;
}
void show(Kojin *p){
int k;
for(k=0;k<5;K++){
printf("%s:%d \n",(p+k)->name,(p+k)->ten);
}
}
void data_sort(Kojin *p){
[3] 環境
[3.1] OS: windows 7
[3.2] コンパイラ名とバージョン: visual studio2010
[3.3] 言語: C
[4] 期限: 2013年1月10日 24時まで
0006デフォルトの名無しさん
2013/01/10(木) 19:19:59.00http://ideone.com/bcUKoa
0007デフォルトの名無しさん
2013/01/10(木) 20:04:10.91[1] 授業単元:C言語
[2]以下のプログラムに得点を並べ替える関数を追加して、並べ替えた結果を表示するように変更してください。
#include <stdio.h>
struct Personal {
char name[50];
int eigo;
int sugaku;
int kokugo;
};
int main( void )
{
int k;
float t_eigo=0.0, t_sugaku=0.0, t_kokugo=0.0;
struct Personal data[3];
for ( k=0; k<3; k++ ) {
printf("%d 番目の人の名前を入力して下さい:", k+1 );
scanf("%s", data[k].name ); // 構造体 data[k] のメンバ name に入力
printf("%s さんの英語の得点を入力して下さい:", data[k].name );
scanf("%d", &data[k].eigo ); // 構造体 data[k] のメンバ eigo に入力
t_eigo += (float)data[k].eigo; // int型の変数 data[k].eigo を float型に変換し加算
printf("%s さんの数学の得点を入力して下さい:", data[k].name );
scanf("%d", &data[k].sugaku ); // 構造体 data[k] のメンバ sugaku に入力
t_sugaku += (float)data[k].sugaku; // int型の変数 data[k].eigo を float型に変換し加算
printf("%s さんの国語の得点を入力して下さい:", data[k].name );
scanf("%d", &data[k].kokugo ); // 構造体 data[k] のメンバ kokugo に入力
t_kokugo += (float)data[k].kokugo; // int型の変数 data[k].eigo を float型に変換し加算
}
00087
2013/01/10(木) 20:05:23.37printf("英語の平均点は %5.1f 点です。\n", t_eigo/3.0 );
printf("数学の平均点は %5.1f 点です。\n", t_sugaku/3.0 );
printf("国語の平均点は %5.1f 点です。\n", t_kokugo/3.0 );
return 0;
}
[3] 環境
[3.1] OS: windows 7
[3.2] コンパイラ名とバージョン: visual studio2010
[3.3] 言語: C
[4] 期限: 2013年1月10日 24時まで
0009デフォルトの名無しさん
2013/01/10(木) 20:57:01.98http://ideone.com/h2F5pk
0010デフォルトの名無しさん
2013/01/10(木) 21:24:33.49[2] OpenGL、GLUTを使い雨の降る様子を描写せよ
[3] 環境
[3.1] OS: MacOSX10.8
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 特になし
サンプルや参考になりそうなサイトなど紹介していただけると助かります
0011デフォルトの名無しさん
2013/01/10(木) 21:27:13.02[2] OpenGL、GLUTを使用し、雪あるいは雨の降る様子を描写せよ
[3] 環境
[3.1] OS: OSX10.8
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C
[4] 期限: 特になし
サンプルや参考になるサイトなど紹介していただけると助かります
0012デフォルトの名無しさん
2013/01/10(木) 22:04:55.16[2] できるだけ長い等差素数組を生成するプログラムを書け
問題: 素数だけからなるできるだけ長い等差数列を見つけよ.
例えば次に示す5で始まる公差が6の数列は, 最初の5つがすべて素数である.
5 11 17 23 29
また, 次に示す7で始まる公差が30の数列は, 最初の6つがすべて素数である.
7 37 67 97 127 157
このような数列でできるだけ長いものを発見するコンピュータプログラムを作成し, できるだけ長い数列を見つけよ.
[3] 環境
[3.1] OS: 7
[3.2] コンパイラ名とバージョン: visual studio2010
[3.3] 言語: C
[4] 期限: 2013年1月11日
0013デフォルトの名無しさん
2013/01/10(木) 22:55:53.59http://hibari.2ch.net/test/read.cgi/tech/1295273862/518
が似ている
0014デフォルトの名無しさん
2013/01/10(木) 23:00:52.99#include<stdio.h>
int IsPrime(int a){
int i;
for(i=2;i*i<=a;i++)if(a%i==0)return 0;
return 1;
}
int main(void){
int i,a,b;
a=3;
b=2;
while(a<25){
for(i=0;i<a;i++)printf("%d ",a+i*b);
puts("");
b*=a;
do{
a+=2;
}while(IsPrime(a)==0);
}
return 0;
}
0015デフォルトの名無しさん
2013/01/10(木) 23:04:52.28素数の上限を決めないと計算できないぽ
理論的に上限って求められるの?
an+b
a: 適当な偶数
b: 数列を開始する素数
n: 0以上の整数(最大でもb未満)
これ以外の条件が分からない
0016デフォルトの名無しさん
2013/01/10(木) 23:31:54.03Kojin tmp;
...
tmp = p[j];
p[j] = p[j-1];
p[j-1]= tmp;
0017デフォルトの名無しさん
2013/01/10(木) 23:37:06.74C言語で
fprintf(fp,"%d,%d",a,b);
とし、a,bの値をexcelに書き込みたいのですが、aとbを違うセルに書き込むことは可能ですか?
0018デフォルトの名無しさん
2013/01/10(木) 23:37:50.77C言語で
fprintf(fp,"%d,%d",a,b);
とし、a,bの値をexcelに書き込みたいのですが、aとbを違うセルに書き込むことは可能ですか?
0019デフォルトの名無しさん
2013/01/10(木) 23:43:00.070020デフォルトの名無しさん
2013/01/10(木) 23:50:59.23現在見つかっている最大のものは
43142746595714191+23681770*23#*n for n=0..25
の26項のようだから一般人にはとても無理
0021デフォルトの名無しさん
2013/01/10(木) 23:53:32.23fopen(fp,"result.csv","w")ということですか?
0022デフォルトの名無しさん
2013/01/10(木) 23:59:57.19*.xlsを直接改変しようとしてるの?
それとも*.csvや*.txtで出力してexcelでインポートするの?
前者ならやめとけ、後者ならインポートの設定でカンマ区切りとかタブ区切りとか、入力データのセル分けの設定がある。
0023デフォルトの名無しさん
2013/01/11(金) 00:05:12.54[2] 問題文(含コード&リンク):
http://iup.2ch-library.com/i/i0825590-1357830189.gif
[3] 環境
[3.1] OS: Windows7
[3.2] コンパイラ名とバージョン: visual studio2008
[3.3] 言語:C
[4] 期限:2013/1/12
よろしくお願いいたします。
002414
2013/01/11(金) 00:09:56.220025デフォルトの名無しさん
2013/01/11(金) 00:19:13.91次にエッジ抽出し、二値化したいのですがどなたかヒントでもよいので教えてください
0026デフォルトの名無しさん
2013/01/11(金) 00:26:28.6249行目
> graydata[i][j] = (data[i][j].r + data[i][j].g + data[i][j].b)/3;
なんだけど、.r .g .b は unsigned char だから、桁あふれ防止のため
> graydata[i][j] = data[i][j].r / 3 + data[i][j].g / 3 + data[i][j].b / 3;
とした方が良いと思う。
0027デフォルトの名無しさん
2013/01/11(金) 00:29:39.63指摘ありがとうございます
0028デフォルトの名無しさん
2013/01/11(金) 00:44:13.68なんでやねん
0029デフォルトの名無しさん
2013/01/11(金) 00:54:06.87は内部的に intで計算しているのか、桁溢れしないのかな。
ttp://ideone.com/XlUeoA
003025
2013/01/11(金) 01:13:21.31原因教えてください
http://ideone.com/4M7BU5
0031デフォルトの名無しさん
2013/01/11(金) 01:30:22.42a.r / 3 + a.g / 3 + a.b / 3 + (a.r % 3 + a.g % 3 + a.b % 3) / 3;
じゃね?(a は data[i][j] と読み替えて)
0032デフォルトの名無しさん
2013/01/11(金) 01:33:21.55((int)a.r+a.g+a.b)/3;
だけで十分だろ
0033デフォルトの名無しさん
2013/01/11(金) 01:33:27.81[2] 問題文(含コード&リンク):リンク先にあります→ codepad.org/3DdhcBUM
[3] 環境
[3.1] OS: linux(ubuntu)
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 1/18
夜分遅くすみません。
よろしくお願いします。
0034デフォルトの名無しさん
2013/01/11(金) 02:03:45.23ですよねぇ どうしてもできないです
0035デフォルトの名無しさん
2013/01/11(金) 02:13:28.07ttp://www.07ch.net/up2/src/lena8556.png
0036デフォルトの名無しさん
2013/01/11(金) 02:42:44.14ttp://ideone.com/MlfGYe
003725
2013/01/11(金) 02:43:47.670038デフォルトの名無しさん
2013/01/11(金) 02:47:21.37ご面倒かけました。
ありがとうございます。
0039デフォルトの名無しさん
2013/01/11(金) 02:51:37.49素数の範囲を1000000までに限定した場合
4943 65003 125063 185123 245183 305243 365303 425363 485423 545483 605543 665603 725663
0040デフォルトの名無しさん
2013/01/11(金) 02:58:33.52チェックかけてみたんですけど、どうしても42行目のC99規格?のエラーがよく分からずエラーが消せません...
内容確認してからレスすれば良かったです。ごめんなさい
0041デフォルトの名無しさん
2013/01/11(金) 03:05:38.39int消せ
0042デフォルトの名無しさん
2013/01/11(金) 03:10:51.35移す際に1行ずれてました
無事実行できましたありがとうございます。
0043デフォルトの名無しさん
2013/01/11(金) 03:50:39.37すみません どういうプログラムを書いたんでしょう
0044デフォルトの名無しさん
2013/01/11(金) 04:32:21.88進むようにしたいんですがわかりませんおしえてください
ttp://codepad.org/9FAHecoI
0045デフォルトの名無しさん
2013/01/11(金) 06:18:53.29[1] 授業単元: getchar();は使ってはいけないらしいので
GetAsyncKeyState(VK_RETURN)を使ってエンターを押したら
進むようにしたい
[2] 問題文(含コード&リンク):
<ttp://codepad.org/9FAHecoI>
[3] 環境
[3.1] OS: Windows7
[3.2] コンパイラ名とバージョン:visual studio2008
[3.3] 言語:C
[4] 期限:2013/1/14
よろしくおねがいします
0046桃白白
2013/01/11(金) 07:16:08.10http://ideone.com/iQn4zq
[2]シンプソンの公式を用いて半径原点中心の半径1の円の面積を求めよ
[3]環境
[3.1]Windows7
[3.2]Cygwin
[3.3]C言語
[4]2013年1月11日17:00まで
0048デフォルトの名無しさん
2013/01/11(金) 08:15:36.11[2] 問題文(含コード&リンク):codepad.org/O3eDo7F3
以下のプログラムは2つの整数を入力させ,各種処理を選び,
計算した結果をファイルへ出力するものであるが,作成途中である.
下記に従い,プログラムを完成させよ.
・各処理を行う場合は関数ポインタ引数とするをprocess()用いる.
・加算:tasu(),除算(商):waru(),除算(剰余):amari(),
最大公約数:yakusu(),最小公倍数:baisu()を用いる.
・除算は商と剰余を求める.
・最大公約数は2つの整数で共通の約数のうち最大のもの,
最小公倍数は2つの整数で共通の倍数のうち最小のものである.
・結果は「14 ÷ 5 = 2 余り 4」や「6 と 4 の最小公倍数は 12」のように
計算式等も含めkekka.txtへ出力する.
[3] 環境
[3.1] OS: windows7
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 1/12
0049デフォルトの名無しさん
2013/01/11(金) 08:48:09.40[2] 問題文(含コード&リンク):http://codepad.org/bIqE1JLh
「data.txt」から値を読み込み,並べ替えを行い,表示するプログラムを作成する.
昇順にバブルソートで並び替え,並び替えた結果及び値を交換した回数を求める関数sort_b()と
降順に選択ソートで並び替え,並び替えた結果及び値を交換した回数を求める関数sort_s()を完成させよ.
並び替えた結果及び値を交換した回数はprintf()を使って表示せよ.
-----date.txt--------
8
6
3
2
4
11
1
9
5
10
7
[3.1] OS: windows7
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 1/12
0050デフォルトの名無しさん
2013/01/11(金) 11:38:41.30[2] 問題文(含コード&リンク): 素数の等差数列を見つけるプログラムを作りなさい 長さは問わない
[3] 環境
[3.1] OS: 7
[3.2] コンパイラ名とバージョン:Vidual Studio 2007
[3.3] 言語: C
[4] 期限:なし
[5] その他の制限: 12個以上出したいんですが 6個までしか出せませんでした
0051デフォルトの名無しさん
2013/01/11(金) 14:29:23.810052片山博文MZボット ◆0lBZNi.Q7evd
2013/01/11(金) 15:08:45.89[2] 問題文(含コード&リンク):
(i) 正規表現をPEGに変換するプログラムを書け。
(ii) EBNFをPEGに変換するプログラムを書け。
http://ja.wikipedia.org/wiki/EBNF
http://ja.wikipedia.org/wiki/PEG_(%E6%96%87%E6%B3%95)
http://ja.wikipedia.org/wiki/%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE
[3] 環境
[3.1] OS:不問
[3.2] コンパイラ名とバージョン:不問
[3.3] 言語:C++かD言語
[4] 期限:2013/11/20
[5] その他の制限:特になし。他のライブラリを使ってもかまわない。
0053デフォルトの名無しさん
2013/01/11(金) 16:02:32.280054デフォルトの名無しさん
2013/01/11(金) 16:05:36.99[2] 課題14-1 http://www.dotup.org/uploda/www.dotup.org3832133.jpg
課題 14-2 http://www.dotup.org/uploda/www.dotup.org3832135.jpg
14-2の画像はreturn 0; } も追加です
参考課題 http://www.dotup.org/uploda/www.dotup.org3832147.jpg
http://www.dotup.org/uploda/www.dotup.org3832150.jpg
http://www.dotup.org/uploda/www.dotup.org3832153.jpg
http://www.dotup.org/uploda/www.dotup.org3832159.jpg
レベル3問題 http://www.dotup.org/uploda/www.dotup.org3832161.jpg
[3.1] OS Windows
[3.2] リナックスのイーマックスです
[3.3] 言語 C
[4] 1/17
[5] その他の制限:問題文の指示に従って解いてください 青いバックの結果が実行結果
なのでそれになるようお願いします。すべて上からとった写真なので実行結果だけが
違う写真にあることもあります。
よろしくお願いします
お願いします
0055デフォルトの名無しさん
2013/01/11(金) 16:26:31.53> 14-2の画像はreturn 0; } も追加です
return y;
じゃなかろうか
0056デフォルトの名無しさん
2013/01/11(金) 16:36:40.95そうでした!ありがとうございます!
0057デフォルトの名無しさん
2013/01/11(金) 17:18:02.8114-1 ttp://ideone.com/cklfAy
14-2 ttp://ideone.com/V595HV
問題文は画像ファイルじゃなくて、テキストで貼り付けてほしい。
0058デフォルトの名無しさん
2013/01/11(金) 18:02:59.40>問題文は画像ファイルじゃなくて、テキストで貼り付けてほしい。
大いに同感。課題14-1は画像を見てタイプし直しました。
http://nojiriko.asia/prolog/c162_54_1_text.html
0059デフォルトの名無しさん
2013/01/11(金) 18:30:26.15[2] >>5のプログラムを利用して、data.txtを読み込み、数が小さい順に並べ替えた結果をresult.txtという名前のファイルに出力するように入力関数inputと出力関数outputを作成せよ。
#include <stdio.h>
typedef struct Personal {
char name[50];
int ten;
} Kojin;
void input(Kojin *p);
void output(Kojin *p);
void data_sort(Kojin *p);
int main(void){
Kojin data[5];
input(data,mozi);
data_sort(data);
output(data,mozi);
return 0;
}
int input(Kojin *p){
[3] 環境
[3.1] OS: windows 7
[3.2] コンパイラ名とバージョン: visual studio2010
[3.3] 言語: C
[4] 期限: 2013年1月10日 24時まで
data.txt
Name1 100
Name2 50
Name3 30
Name4 70
Name5 60
0060デフォルトの名無しさん
2013/01/11(金) 18:33:02.50訂正です。
input(data,mozi)
output(data,mozi)
ではなく
input(data)
output(data)
です。
0061デフォルトの名無しさん
2013/01/11(金) 18:56:20.53数時間放置してやっと……
31385539 31805959 32226379 32646799 33067219 33487639 33908059
34328479 34748899 35169319 35589739 36010159 36430579 36850999
0062デフォルトの名無しさん
2013/01/11(金) 19:00:41.59こっちは100000000までで一晩かかったぞ
503213 5007713 9512213 14016713 18521213 23025713 27530213 32034713 36539213 41043713
45548213 50052713 54557213 59061713
0063デフォルトの名無しさん
2013/01/11(金) 19:18:18.86ttp://ideone.com/tHLQri
0064デフォルトの名無しさん
2013/01/11(金) 21:12:44.15INT_MAX以下の素数を先に求めておいてやってみたが、やはり時間がかかる、
ttp://ideone.com/wHkuu3
0065デフォルトの名無しさん
2013/01/11(金) 21:12:48.11prologですか。
面白いですね
006657
2013/01/11(金) 21:55:26.50参考課題 ttp://ideone.com/bWT8b2
レベル3問題 ttp://ideone.com/Xdjq1q
0067デフォルトの名無しさん
2013/01/11(金) 22:25:42.93プリントエフのエラーゼロ除算や、ゼロを指定しないでくださいとはどういう意味ですか?
0068デフォルトの名無しさん
2013/01/11(金) 22:30:17.66変な独自言語に翻訳すんな
スレチだ消えろ
0069デフォルトの名無しさん
2013/01/11(金) 22:32:37.82解答してくださったプログラムの中にあったので質問させて頂きました
007057
2013/01/11(金) 22:37:26.08>>57の14-1のことだね。
ゼロ除算がされるとプログラムが途中でエラー終了するので、
あらかじめチェックしているだけ。
以下のコードを実行すると分かると思うけど、"正常終了"が表示される前に
プログラムが落ちる。
#include<stdio.h>
int main()
{
int a;
a = 1;
printf("111 / %d\n", 111 / a);
a--;
printf("111 / %d\n", 111 / a);
printf("正常終了\n");
return 0;
}
0071デフォルトの名無しさん
2013/01/11(金) 22:38:48.16#include<stdio.h>
int main()
{
int a;
a = 1;
printf("111 / %d = %d\n", a, 111 / a);
a--;
printf("111 / %d = %d\n", a, 111 / a);
printf("正常終了\n");
return 0;
}
0072デフォルトの名無しさん
2013/01/11(金) 23:33:55.280073デフォルトの名無しさん
2013/01/12(土) 21:55:29.23http://ideone.com/4qJjUD
0074デフォルトの名無しさん
2013/01/12(土) 23:43:58.01[2] 問題文(含コード&リンク):
http://ideone.com/V4h6ti
1. 上記のプログラムをfgetsを使ったプログラムに書きかえなさい.
fgets の書式はfgets(結果を格納する変数(配列変数なのでポインタ), 読み込むバイト数, ファイルポインタ)である.
2. 上記のプログラムをファイル名を「コマンドラインの引数」で指定するプログラムに変更しなさい.
[3] 環境
[3.1] OS:linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:1/16
よろしくお願いします。
0075デフォルトの名無しさん
2013/01/12(土) 23:50:35.27一応long longで計算できる範囲なんだな
自分の総当りプログラムだと結果が出るよりも太陽系の寿命のほうが早くくる計算だw
0076デフォルトの名無しさん
2013/01/12(土) 23:51:44.000077デフォルトの名無しさん
2013/01/13(日) 03:55:37.581
http://ideone.com/YYEQNm
2
http://ideone.com/UM7snl
0078デフォルトの名無しさん
2013/01/13(日) 14:21:55.28[2] 問題 http://codepad.org/yV0KrZox
[3] 環境
[3.1] OS:windows7
[3.2] コンパイラ名とバージョン: VisualStudio2010
[3.3] 言語:C
[4] 期限:1/18
よろしくお願いします。
[2] 問題文(含コード&リンク):
以下のヒントを元に、生徒の成績を管理するプログラムを作りなさい
http://codepad.org/vevYc04f
http://codepad.org/rCOCOccX
[3] 環境
[3.1] OS: Windows7
[3.2] コンパイラ名とバージョン: visual studio2010
[3.3] 言語:C言語
[4] 期限: 2013年1月22日17時まで
[5] その他の制限:仕様についても詳しい説明は無く、ヒントと授業を見るに、
国数英の成績を入力し、平均と他の生徒との偏差値と、生徒の成績一覧を出すプログラムを作るようです。
0080デフォルトの名無しさん
2013/01/13(日) 22:41:03.38スレ立て荒らしもあった事だし対応してくれるかも
0081デフォルトの名無しさん
2013/01/14(月) 01:30:10.13同じタスクのプログラムは大体同じようなプログラムに収束するということ
だろうか。Prologのように常に4-6通りくらいのプログラムパターンの存在
する言語だと、多分過去問大歓迎ということになるのだろう。
0082デフォルトの名無しさん
2013/01/14(月) 01:32:25.480083デフォルトの名無しさん
2013/01/14(月) 01:48:51.78ありがとうございます
0084デフォルトの名無しさん
2013/01/14(月) 02:04:06.38読み込む成績データの仕様は?
勝手に決めて良いなら別だけど。
それと、「データの書き込み」はいらないのでは?
授業内で書き込みは
http://codepad.org/8kkTTyLp
のように習い(習い、と言ってもそこを見ておいてと言われただけですが)
読み込みは
http://codepad.org/ciFpR9pI
という風に習いました
成績データの仕様についても特に指定はされていません
0086デフォルトの名無しさん
2013/01/15(火) 18:50:34.53[2] 問題文(含コード&リンク):
ランダムに生成された20bitの2進数の並びを、先頭から5bitごとに見ていき、目的の5bitの2進数の並び
(「00001」「00010」「00100」「00110」「01000」「01001」「01011」「01101」「01110」
「10000」「10010」「10100」「10101」「10111」「11001」「11010」「11100」「11110」)
が存在すれば、点数を10点加算する(よって最高得点は40点である)プログラムを作成せよ。
[3] 環境
[3.1] OS:Windows
[3.2] microsoft visual c++ 2010
[3.3] 言語: C
[4] 期限: 2013年1月20日まで
0087デフォルトの名無しさん
2013/01/15(火) 19:42:35.31ランダムに生成された20bitの2進数というのは
プログラム内で作るのか
それとも外から与えられるのか
あと、一度で終わるのか何度か繰り返すのか
繰り返すなら終了条件暮れ
0088デフォルトの名無しさん
2013/01/15(火) 19:56:11.42問題文が正確に示されたものじゃないのでわかりにくくて申し訳ありませんでした。
20bitの2進数は、プログラム内でランダムに作成します。
繰り返し条件はありません。1度で終了します。
よろしくお願いします。
0089デフォルトの名無しさん
2013/01/15(火) 19:58:41.24普通に大学の先生は観てるよこのスレ
ここで回答してもらったコードを提出しても減点されるのは間違いないw
0090デフォルトの名無しさん
2013/01/15(火) 19:59:35.82インターネットに投稿している者がいるとの連絡を受けました。
今回の課題は学生の理解を深める為に個別レポートとして出題されたものであり、
問題の解答そのものを丸投げすることは課題の趣旨に反する行為となります。
初回の講義でお話しましたように、ソースコードの書き方には個人差があり、
過去に提出したレポートなどから本人が書いたものかどうか判別することは十分可能です。
他人が書いたソースコードをレポートとして提出することは重大な不正行為に当たります。
提出されたレポートにおいて不正が確認された場合、本学の懲罰規程に従い厳しく処罰されます。
締切りは明日の17時とまだ時間もいくらか残されていますので、
この問題を投稿した、または参考に読んでいる学生には自分の力で
今回の課題に取り組んで頂けることを期待しています。
0091デフォルトの名無しさん
2013/01/15(火) 20:00:46.772chで質問してるってことは友達いないか馬鹿な友達しかいないか、そして自分で考える気力のない無能。
そんな人間の将来は程が知れてる。
わざわざ質問すんならまず自分が考えたコードくらい提示しろっての。
0092デフォルトの名無しさん
2013/01/15(火) 20:25:32.46[2] 問題文(含コード&リンク):
例1は、3教科5人の生徒の合計得点を求めるプログラムである。
これを実行し、動作を説明せよ。さらに、教科毎の平均点、
生徒毎の平均点を計算して表示できるようにプログラムを修正し、
結果とともに示せ。
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:2013年1月20日
よろしくお願いします。
0093デフォルトの名無しさん
2013/01/15(火) 20:43:32.69[2] 問題文(含コード&リンク):
配列a[n],配列b[n]と配列の大きさnを渡すと配列の要素を入れ換えるプログラムをポインタを用いて作成せよ.
例えば,a[3]={1,2,3},b[3]={101,102,103}とするとき,結果として,a[3]={101,102,103},b[3]={1,2,3}となるようにせよ.
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限:1/21
[5] その他の制限:とくにありません
0094デフォルトの名無しさん
2013/01/15(火) 21:29:58.48[2] 問題文(含コード&リンク):
プログラムを実行した日がその年の第何週目にあるかを終了コードとして整数で返す
[3] 環境
[3.1] OS: Windows
[3.2] gcc 4.3.4
[3.3] 言語: C
[4] 期限: 1/17
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
time.h を使います
週の頭は日曜から始まります
1月1日を含む週に4日以上ある場合に第1週となります
つまり1月1日が日曜から始まっているときはその週が第1週ですが
1月4日が日曜から始まっているときはその週が第1週になります
0095デフォルトの名無しさん
2013/01/15(火) 21:41:08.95[2] 1 桁の整数をスーペース区切りで何個か入力する
(EOF で入力の終了とする) と, 下のように隣合う要素同士で桁上がりを無視した加算を行って逆三角形を作り,
最後に残った 2 桁 (ただし 3 桁で 1 0 0 が残ったときは満点なのでそこで終了する) で運勢を占う, というプログラムを作成せよ.
0 7 9 5 6 5 7 7 4 2 ← 入力
7 6 4 1 1 2 4 1 6
3 0 5 2 3 6 5 7
3 5 7 5 9 1 2
8 2 2 4 0 3
0 4 6 4 3
4 0 0 7
4 0 7
4 7
[3] 環境
[3.1] OS: Windows7
[3.2] Cygwin 1.7.7 よくわかりませんでした
[3.3] 言語: (C/C++/どちらでも可 のいずれか)
[4] 期限: 明日
0096デフォルトの名無しさん
2013/01/15(火) 22:31:42.30[2] 問題文(含コード&リンク):
アフィン線形ブロック暗号を使用する。
3*3行列の暗号鍵で暗号化された文章の復号化を行うプログラムを作成しなさい。
[3] 環境
[3.1] OS: Windows7
[3.2] visual c++ 2008
[3.3] 言語: (C言語もしくはC++)
[4] 期限: 2013年1月20日
0097デフォルトの名無しさん
2013/01/15(火) 22:49:55.28以下の関数を記述しなさい。
long Shuffles(int nCards, int iCut);
この関数は、以下の処理の解を返す。
1.n枚の全て異なるカードがAに置かれている。
2.上からi枚目までを取り、右隣Bに置く。
3.Aの山の一番下からカードを取り、Cの上に置く。
4.Bの山の一番下からカードを取り、Cの上に置く。
以下、3と4を何れかの山が無くなるまで繰り返す。
5.残った山のカードをCの上に置く。
6.Cの山をAの位置に移動する。
カードが初期の並び順に戻るためには、この操作を何回繰り返せば良いか。
引数、nCardsはカードの枚数、iCutは2の操作時に分ける枚数を指定する。
回答は作成したソースと、
正しく動いている証として、Shuffles(1001,100)の実行結果を書きなさい。
[3] 環境
[3.1] OS:問わない
[3.2] コンパイラ名とバージョン: 問わない
[3.3] 言語: C
[4] 期限: 一週間くらい?
0098デフォルトの名無しさん
2013/01/15(火) 22:59:27.88ttp://ideone.com/nusS1Z
0099デフォルトの名無しさん
2013/01/15(火) 23:05:08.47#include <stdio.h>
#define DIGIT_MAX 1024
int main(void)
{
int digit[DIGIT_MAX], digit_num, i;
for(digit_num=0;digit_num<DIGIT_MAX;digit_num++)
{
if(scanf("%1d", &digit[digit_num])!=1) break;
}
for(;digit_num>2;digit_num--)
{
if(digit_num==3)
{
if(digit[0]==1 && digit[1]==0 && digit[2]==0) break;
}
for(i=0;i<digit_num-1;i++)
{
digit[i]=(digit[i]+digit[i+1])%10;
printf("%d ", digit[i]);
}
printf("\n");
}
return 0;
}
0100デフォルトの名無しさん
2013/01/15(火) 23:27:13.77ありがとうございます!!
質問なのですが、15行目の「t = n & 0x1f;」、16,17行目で記されている「18」
とはどういうことなのでしょうか??
かなり初歩的な質問で申し訳ありません。
0101デフォルトの名無しさん
2013/01/15(火) 23:45:06.09[2] 問題文(含コード&リンク):
基底クラスとして Shape、その派生クラスとして Rectangle (正方形)を定義し、
正四角形の辺の長さの合計と面積を計算する。
[3] 環境
[3.1] OS: Windows7
[3.2] コンパイラ名とバージョン:VisualStudio2010 コマンドプロンプト
[3.3] 言語: C++
[4] 期限: 2013/1/20 8:50
[5] その他の制限: 基底クラスとMainは変更不可。加筆は、ソースコメント「問題箇所」で示します。
派生クラスを加筆しましたが、以下のエラーが出ます。
どう直せばいいか分かりません。お願いします。
enshu6_3.cpp(32) : error C2512: 'Shape' : クラス、構造体、共用体に既定のコンストラクタがありません。
課題はこの後投稿します。
0102片山博文MZパンク ◆0lBZNi.Q7evd
2013/01/15(火) 23:45:22.18void f(int *a,int *b,int n){
int i,tmp;for(i=0;i<n;i++){tmp=*a;*a=*b;*b=tmp;a++;b++;}
}
int main(void){
int i,n=3;
int a[3]={1,2,3};int b[3]={101,102,103};
f(a,b,n);
for(i=0;i<n;i++)printf("a[%d]=%d\n",i,a[i]);
for(i=0;i<n;i++)printf("b[%d]=%d\n",i,b[i]);
return 0;
}
携帯からです。
0103デフォルトの名無しさん
2013/01/15(火) 23:53:31.2615行目
マスク処理、0x1f = 00000000000000000000000000011111
これを n と &(and)することで下位5bitのみを抽出し t に代入
16,17行目
18なのはa[ ]に入っている判定パターンが18個あるってこと
んで、さきほどの t とa[i]を比較し、一致したときはfor文即終了
このときiは18より小さいはずなので r += 10点!
一応私も作ったので
http://ideone.com/05htNf
■ このスレッドは過去ログ倉庫に格納されています