ぼるじょあがC/C++の宿題を片づけますYO! 67代目
レス数が1000を超えています。これ以上書き込みはできません。
0001ぼるじょあ ◆yBEncckFOU
2006/12/10(日) 11:33:41わからない宿題を片づけますYO!
あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他や発言はスルーの方向で。
【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。
・問題文は、出題されたまま全文を書いてください。
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはやめましょう。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して
投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。
【質問テンプレ】
[1] 授業単元:
[2] 問題文(含コード&リンク):
[3] 環境
[3.1] OS: (Windows/Linux/等々)
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
[3.3] 言語: (C/C++/どちらでも可 のいずれか)
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
【C 関数検索 man on WWW】
http://www.linux.or.jp/JM/index.html
【前スレ】
ぼるじょあがC/C++の宿題を片づけますYO! 66代目
http://pc8.2ch.net/test/read.cgi/tech/1149349035/
0951デフォルトの名無しさん
2007/05/26(土) 17:08:360952デフォルトの名無しさん
2007/05/26(土) 17:20:29ありがとございます
iaを0にするの場合は
ic=ia & ××××
で&をつけ
iaを1にするだと
ic=ia
0953デフォルトの名無しさん
2007/05/26(土) 17:21:46ic=ia | ××××
iaを反転するときは
ic=ia ^ ××××
という感じでいいのでしょうか?>>952は途中で送ってしまいましたすいません
0954デフォルトの名無しさん
2007/05/26(土) 18:09:33よろしくおねがいします
0955日本語は適切に
2007/05/26(土) 18:22:05ia = 0;
>iaを1にするだと
ia = 1;
>iaを反転するときは
ia = ! ia;
0956デフォルトの名無しさん
2007/05/26(土) 18:27:49変数のiaの上位8ビットを0x00にしなさい、という問題で
どのようにして答えを書くべきなのでしょうか?
ib = ia & 0x0F0A
でいいのでしょうか?
0957ぼるじょあ ◆hZ8e4Wjqvw
2007/05/26(土) 18:38:54(・3・) エェー 解説してみるYO!
mask=0x0080;
ia | mask; // ビットをセットするYO!
~(~ia | mask); // ビットをクリアするYO!
ia ^ mask; // ビットを反転するYO!
上位8ビットを0x00にするなら次の通りだYO!
mask=0xff00;
ib = ~(~ia | mask);
0958ぼるじょあ ◆hZ8e4Wjqvw
2007/05/26(土) 18:44:52mask = 0x00ff;
ib = ia & ~mask;
でもおkだYO!
0959デフォルトの名無しさん
2007/05/26(土) 18:45:10変数iaが16ビットであるという前提はどこから?
0960デフォルトの名無しさん
2007/05/26(土) 18:48:18すいません、プログラムではなくて答えを教えて頂ければ幸いです
0961ぼるじょあ ◆hZ8e4Wjqvw
2007/05/26(土) 18:52:21(・3・) エェー >>957 の方法なら ia は何bitでもいいYO!
>>958 だと sizeof(mask)>=sizeof(ia) じゃないとうまくいかないことがあるYO!
0962デフォルトの名無しさん
2007/05/26(土) 18:54:03>(・3・) エェー >>957 の方法なら ia は何bitでもいいYO!
おいおい、これはなんだよ。
>上位8ビットを0x00にするなら次の通りだYO!
>mask=0xff00;
0963ぼるじょあ ◆hZ8e4Wjqvw
2007/05/26(土) 19:12:57(・3・) エェー なるほど! そういう意味かYO!
難しいYO!
mask=0xff<<(sizeof(ia)*CHAR_BIT-8);
ib = ia & ~mask;
但し sizeof(mask)>=sizeof(ia) && sizeof(ia)==sizeof(ib) の時、限定だYO!
0964ぼるじょあ ◆hZ8e4Wjqvw
2007/05/26(土) 19:24:21int ia =0x0F0A, ib;
ib=((unsigned int)ia<<8)>>8;
0965デフォルトの名無しさん
2007/05/27(日) 02:21:36>上位8ビットを0x00にするなら次の通りだYO!
>mask=0xff00;
>ib = ~(~ia | mask);
0x00FFと &取ればよくね?
0966デフォルトの名無しさん
2007/05/28(月) 16:06:03表示だけでいいです。すいませんでしたm(_ _)m
0967デフォルトの名無しさん
2007/05/28(月) 20:37:32作成せよ.
% ./kadai6-4
引数(正の整数) を指定してください.
% ./kadai6-4 1 2
引数(正の整数) を1 つだけ指定してください.
% ./kadai6-4 17
1 から17 までの2 乗和は1785 です.
%
0968デフォルトの名無しさん
2007/05/28(月) 21:12:52[2] 問題文(含コード&リンク):
浮動小数点型データを5個入力して、最大値、最小値、平均を求めよ
[3] 環境
[3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン: Visual Studio
[3.3] 言語: C
[4]6月1日
基礎なのについていけない・・・・・専門学校と一般校の差でしょうか・・・・
ポインタを使って解くのを参考 らしいです。
お願いします。
0969homoじょあ ◆5OLf4yFnuM
2007/05/28(月) 21:25:49(・3・) エェー 酷いの作ったYO
#include <stdio.h>
#include <stdlib.h>
int func(int n){
if(n == 1) return 12;
return n*10+2 + func(n-1);
}
int main(int argc, char *argv[]){
int n;
if(argc < 2){
puts("引数(正の整数) を指定してください.");
}else if(argc > 2){
puts("引数(正の整数) を1 つだけ指定してください.");
}else{
n = atoi(argv[1]);
if(n <= 0) return -1;
printf("1から%dまでの2乗和は%dです\n", n, func(n));
}
return 0;
}
0970ぼるじょあ ◆hZ8e4Wjqvw
2007/05/28(月) 21:35:12(・3・) エェー やってみたYO!
#include<stdio.h>
int main(void){
double value, maximum, minimum, total;
int i;
for(i=0;i<5;i++){
printf("Input value : ");
scanf("%lf", &value);
if(i==0){
maximum=minimum=value;
total=0.0;
}
if(maximum<value) maximum=value;
if(minimum>value) minimum=value;
total+=value;
}
printf("Maximum:%.5e Minimum:%.5e Average:%.5e\n", maximum, minimum, total/5);
return 0;
}
0971ぼるじょあ ◆hZ8e4Wjqvw
2007/05/28(月) 21:37:33(・3・) エェー 12+22+32+…n2 っていうのは本当は二乗和の事でいいのかYO!
#include<stdio.h>
int main(int argc, char *argv[]){
int i, n, sum;
if(argc>2){
printf("引数(正の整数) を1 つだけ指定してください.\n");
return 1;
}
if(argc==1 || sscanf(argv[1], "%d", &n)!=1 || n<=0){
printf("引数(正の整数) を指定してください.\n");
return 1;
}
for(i=1,sum=0;i<=n;i++) sum+=i*i;
printf("1 から%d までの2 乗和は %d です.\n", n, sum);
return 0;
}
0973967
2007/05/28(月) 21:39:440974homoじょあ ◆5OLf4yFnuM
2007/05/28(月) 21:42:340975ぼるじょあ ◆hZ8e4Wjqvw
2007/05/28(月) 21:46:40(・3・) エェー 失礼。>>970 は忘れてくれYO!
あと「ポインタ使って解くのを参考」について教えてくれYO!
>>972
(・3・)ノシ いょう兄弟 このスレも終盤だけど最後までがんばるYO!
0977968
2007/05/28(月) 21:53:26ポインタ変数を使用して、下記のデータを配列に格納した後に、その最大値を求めなさい
20,40,50,10,30
という問題を参考にしろと書いてありました。
0978homoじょあ ◆5OLf4yFnuM
2007/05/28(月) 21:55:380979ぼるじょあ ◆hZ8e4Wjqvw
2007/05/28(月) 21:59:49(・3・) エェー こんな感じかYO!
#include<stdio.h>
int main(void){
double value[5], *pmax, *pmin, total=0.0;
int i;
pmax=pmin=&value[0];
for(i=0;i<sizeof(value)/sizeof(value[0]);i++){
printf("Input value : ");
scanf("%lf", &value[i]);
if(*pmax<value[i]) pmax=&value[i];
if(*pmin>value[i]) pmin=&value[i];
total+=value[i];
}
printf("Maximum:%f Minimum:%f Average:%f\n", *pmax, *pmin, total/i);
return 0;
}
0980デフォルトの名無しさん
2007/05/28(月) 22:13:02[1] 授業単元:コンピュータリテラシ
[2] 問題文(含コード&リンク): タートルグラフィックを使ってドラゴン曲線を再帰曲線として描画せよ。
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:わかりません…
[3.3] 言語:C
[4] 期限:5月29日迄
期限が差し迫っていて申し訳ないですが、どうかよろしくお願いします。
0981968
2007/05/28(月) 22:17:24実行すると結果がdate:が4個出るんですけどここを消したいんですが
どこを消したらいいかわからない・・・・・・・
最後に教えてもらえませんか?
0982ぼるじょあ ◆yBEncckFOU
2007/05/28(月) 22:19:11(・3・)
0983デフォルトの名無しさん
2007/05/28(月) 22:22:110984ぼるじょあ ◆hZ8e4Wjqvw
2007/05/28(月) 22:59:19(・3・) エェー コアの部分はこんな感じになるYO!
表示されるRとLが90度方向転換する向きになるYO!
#include<stdio.h>
void dragon_line(int left_time, int turn){
if(left_time<=0) return;
dragon_line(left_time-1, 'R');
/*
tg_fd(10.0);
if(turn=='R') tg_rt(90.0);
else tg_lt(90.0);
tg_fd(10.0);
*/
putchar(turn);
dragon_line(left_time-1, 'L');
}
int main(int argc, char *argv[]){
dragon_line(4, 'L'); // 4次のドラゴン曲線
return 0;
}
0985ぼるじょあ ◆yBEncckFOU
2007/05/28(月) 23:13:380986ぼるじょあ ◆hZ8e4Wjqvw
2007/05/28(月) 23:25:23ドラゴン曲線ってなんだろうと思ってググったら
そのものがでてきたなんていえないYO!
0987デフォルトの名無しさん
2007/05/29(火) 00:20:59課題�@
配列x[4][4]に整数が格納されている。以下のプログラムを作れ。
�@x[i][j]の i+j=0ならy[i][j]=x[i][j]/16
�Ai+j=1なら y[i][j]=x[i][j]/12
�B 2<=(小なりイコールです)i+j<=5(小なりイコールです)なら y[i][j]=x[i][j]/32
�C i+j>5なら y[i][j]=x[i][j]/100
�D入力された配列x[i][j]と変換された配列y[i][j]を出力しなさい。
x[4][4]={260,45,-16,5,-79,36,-2,-7,0,-16,3,-2,-8,-4,5,-4}
ただし,小数点第2位まで示せ。
課題�A
y[i][j]=x[i][j]*z[i][j]を計算して出力せよ。
z[i][j]={16,12,32,100,12,32,100,100,32,100,100,100,100,100,100,100}
do,if,for,while習いました。
お願いしますm(_ _)m
0988デフォルトの名無しさん
2007/05/29(火) 00:54:42例題
5人の人の身長を昇順にソート
#include<stdio.h>
#define NUMBER 5
void swap(int *x、int*y)
{int temp=*x;
*x=*y;
*y=temp;
}
void sort(int data[]、int n)←data[]ってどういう意味ですか?
{ int k=n-1;
while(k>=0){ int i、j;
for(i=1、j=-1;i<=k;i++)←何でj=-1なんですか?
if(data[i-1]>data[i]){j=i-1;
swap(&data[i]、&data[j]);
}k=j;←?
}}
int main(void)
{int i;
int height[]={178、175、173、165、179};
sort(height、NUMBER);←?
for(i=0;i<NUMBER;i++)
printf("%2d:%4d\n"、i+1、height[i]);
return 0;}
お願いします(;_;)
0989ぼるじょあ ◆QKmqNb.ats
2007/05/29(火) 02:26:450990980
2007/05/29(火) 07:53:52ありがとうございます!
すみません、自分でもググったんですが見つからなかったんです…。
手間かけさせてすみませんでした。本当に助かりましたm(_ _)m
0991デフォルトの名無しさん
2007/05/29(火) 18:29:26>バブルソートの意味がわかりません。
そういう名前のソートアルゴリズム
http://www.google.co.jp/search?hl=ja&q=%E3%83%90%E3%83%96%E3%83%AB%E3%82%BD%E3%83%BC%E3%83%88&lr=
>void sort(int data[]、int n)←data[]ってどういう意味ですか?
サイズ不定の配列を渡す事を示す
>for(i=1、j=-1;i<=k;i++)←何でj=-1なんですか?
-1にしたかったんだろ
>}k=j;←?
kにjを代入してる
>sort(height、NUMBER);←?
宣言されているsort関数の呼出
0992デフォルトの名無しさん
2007/05/29(火) 21:31:24[2] 問題文(含コード&リンク):
キーボードから正の整数値を入力して、その数の下1桁の数字を表示する
プログラムの作成
(例:2004が入力されれば4を出力する。)
実行結果(・・・の部分はキーボードからの入力)
・正の整数を入力してください: ・・・
・その数の最後の桁は「5」です。
[3] 環境
[3.1] OS:Windows vista business
[3.2] コンパイラ名とバージョン: visual studio2005
[3.3] 言語: C
[4] 期限: ([2007月06日4日まで]
[5] その他の制限:ほとんど習っていません。
0993デフォルトの名無しさん
2007/05/29(火) 22:01:53#include <stdio.h>
#include <string.h>
int main(void)
{
int a;
char s[11], c;
printf("正の整数を入力してください:");
scanf("%d", &a);
sprintf(s, "%d", a);
c = s[strlen(s) - 1];
printf("その数の最後の桁は「%c」です。", c);
}
0994webmaster@気まぐれアナスイ
2007/05/29(火) 22:03:49ζ
!(+Φ_Φ)つ√ζ
+⊂. + 〆∂ {Ж}
"〆∂∂
〆〆
.:"
0995デフォルトの名無しさん
2007/05/29(火) 22:19:49[2] 問題文(含コード&リンク):
以下の計算方式を利用して二元一次連立方程式の解を求めるプログラムを作成せよ。
なお最初にパラメータを入力するように入力部を作成すること。また行列式の判定を必ず行うこと。
ax+by=p
cx+dy=q a,b,c,d,p,qは定数、x,yは変数とする。
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン: わかりません。
[3.3] 言語: C++
[4] 期限: [2007年6月1日10:00まで]
[5] その他の制限:
全然わかりませんお願いします。
0996992
2007/05/29(火) 22:39:28作っていただいて本当に申し訳ないんですが、printf,scanf,int型ぐらいしか習って
いないので、それらのみで作って戴けないでしょうか?
0997デフォルトの名無しさん
2007/05/29(火) 22:53:17俺は>>93じゃないよ。
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4106.txt
0998デフォルトの名無しさん
2007/05/30(水) 00:50:560999デフォルトの名無しさん
2007/05/30(水) 00:57:021000デフォルトの名無しさん
2007/05/30(水) 00:57:4910011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。