ぼるじょあがC/C++の宿題を片づけますYO! 67代目
レス数が950を超えています。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/
2問題文:配列を用いてn個までの値を入力し、その最大値、最小値、及び
全体の平均点を出すプログラムを作成せよ。
3環境:Linux3.2
gcc
C
4 2007年5月22日17時
5 ifやwhile、そして今日配列まで習いました。
よろしくお願いします!!
0877依頼者
2007/05/18(金) 20:44:490878C初心者
2007/05/18(金) 21:46:07ありがとうございます<(_ _)>月曜にならないと操作できないので、また後で実効してみます。
0879デフォルトの名無しさん
2007/05/19(土) 09:51:37おそらくわかるであろう範囲のものを使って書いておいた。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4001.txt
0880デフォルトの名無しさん
2007/05/19(土) 16:33:27[2] 問題文(含コード&リンク): Gauss消去法のプログラムを変更することにより、Gauss-Jordan法のプログラムを作成せよ。
任意のn×n行列Aとn×m行列Bを与えて、AX=Bいの解行列Xを(完全ピポット選択でなく部分ピボット選択のGauss-Jordan法
により)求めるプログラムを作成せよ。このとき、n,mや行列A,Bは標準入力から入力し、また、実際に行列A,Xの積を計算することで、
得られた解が正しいかどうかをチェックする機能も実装せよ。またこのプログラムを用いて、線形連立方程式の解や、逆行列を
求めた例も示せ。
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン:不明
[3.3] 言語: C
[4] 期限: 5月22日
[5] その他の制限: 問題文長いですが・・・よろしくお願いします!!
0881ぼるじょあ ◆hZ8e4Wjqvw
2007/05/20(日) 12:29:47(・3・) エェー >>875 はバブルソートと違うYO!今度こそバブルソートだYO!
void sort(double *data, int data_num){
int i, j;
double tmp;
if(data==NULL || data_num<1) return;
for(i=0;i+1<data_num;i++){
for(j=i;j+1<data_num;j++){
if(data[j]>data[j+1]){
tmp=data[j];
data[j]=data[j+1];
data[j+1]=tmp;
}
}
}
}
月曜日に学校にいって早速実行してみたいとおもいます。
こんなに難しいのになんでスラスラできるのか不思議でたまりません。
0883デフォルトの名無しさん
2007/05/20(日) 16:15:040884デフォルトの名無しさん
2007/05/20(日) 16:18:510885デフォルトの名無しさん
2007/05/20(日) 18:19:55[2] キーボードから0〜9の数字dと,正の整数nを読み込み,n以下の整数xで,
xとxの2乗の10進数表示の両方にdを含むものをすべて出力するプログラムをつくりなさい。ただし,次のプロトタイプ宣言で示すように,整数xとdを仮引数として,xとxの2乗の10進数表示の両方にdを含む場合に1,そうでない場合に0を返す関数hit_digitを作成しなさい。
int hit_digit(int x, int d);
▼出力例
0〜9の数字dを入力して下さい:7?
正の整数nを入力して下さい:100?
該当するものは次の通り:
27 74 76 87
全部で4個ありました
[3] 環境[3.1] OS: Windows
[3.2] コンパイラ名とバージョン:VC++
[3.3] 言語:C
力業でやればできそうなのですが、スマートな方法がなかなか思いつかなくて・・・よろしくお願いします
0886デフォルトの名無しさん
2007/05/20(日) 19:26:572chで宿題丸投げするような連中はたかが知れてるさw
0887885
2007/05/20(日) 20:24:27ご迷惑おかけしましたー
0888デフォルトの名無しさん
2007/05/20(日) 20:57:27【初心者歓迎】C/C++室 Ver.37【環境依存OK】
http://pc11.2ch.net/test/read.cgi/tech/1178432985/408
ここで質問してた人でしょ?
0889デフォルトの名無しさん
2007/05/20(日) 21:19:14[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4012.txt
[3] 環境:
[3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン: Visual Studio 2005
[3.3] 言語: C
[4] 期限: 5月21日迄
宜しくお願いします。
0890デフォルトの名無しさん
2007/05/20(日) 21:21:48まるで全て自力で解いたかのような口ぶりだな
0891デフォルトの名無しさん
2007/05/20(日) 21:40:48問題文がないぞ
0892デフォルトの名無しさん
2007/05/20(日) 21:57:10>>887を見たらor2
0893889
2007/05/20(日) 22:26:16文字列"12345"(固定です)を数値の12345に変換するプログラムです。
宜しくお願いします
0894デフォルトの名無しさん
2007/05/20(日) 22:29:290895デフォルトの名無しさん
2007/05/20(日) 22:34:17関数を使うだけ!?!????????
0896889
2007/05/20(日) 22:37:58全く初心者なものでごめんなさい。文章が少なすぎました><
0897デフォルトの名無しさん
2007/05/20(日) 22:57:59int ret = 0;
while(*p) ret = ret * 10 + *p++ - '0';
return ret;
}
0898デフォルトの名無しさん
2007/05/20(日) 23:00:120899デフォルトの名無しさん
2007/05/20(日) 23:05:130900デフォルトの名無しさん
2007/05/20(日) 23:11:070901デフォルトの名無しさん
2007/05/20(日) 23:13:470902デフォルトの名無しさん
2007/05/20(日) 23:15:250903デフォルトの名無しさん
2007/05/20(日) 23:17:46なんでそんなとこに突っ込み入るのかわからん。
0904デフォルトの名無しさん
2007/05/20(日) 23:20:140905デフォルトの名無しさん
2007/05/20(日) 23:25:03考えの浅さを暴露しただけだったが。
0906デフォルトの名無しさん
2007/05/21(月) 00:04:13数値計算がうまくいてません。助けてください
#include <math.h>
#include <stdio.h>
int main()
{
float S, s, x, y, z;
s = (x + y + z) / 2;
S = sqrt( s * (s-x) * (s-y) * (s-z) );
printf("三辺は?\n");
scanf("%lf %lf %lf",&x ,&y ,&z);
if( x+y>z && y+z>x && z+x>y )
{
printf("面積は%lfです\n",sqrt(S));
}
else
{
printf("三角形ではありません\n");
}
}
0907デフォルトの名無しさん
2007/05/21(月) 00:06:50[2] 問題文(含コード&リンク):http://brain.is.kyushu-u.ac.jp/~shidoji/japanese/InformationScience/3.pdf
[3] 環境
[3.1] OS: WindowsXP
[3.2] gcc 3.4 だとと思う
[3.3] 言語: C
[4] 期限: 2007/05/21 15時まで
0908デフォルトの名無しさん
2007/05/21(月) 00:08:210909デフォルトの名無しさん
2007/05/21(月) 00:14:24floatをdoubleにするか、scanfで%lfじゃなく%fにする。
sとSの計算はscanfの後ろに置く
0910デフォルトの名無しさん
2007/05/21(月) 01:15:54多次元配列a[3][2]の中に数字をランダムに入れて、それを大きい順にまたa[3][2]に入れるにはどうしたらいいんですか?(for文を用いて)
0911デフォルトの名無しさん
2007/05/21(月) 01:55:10たすかりました!ありがとうございます。
0912デフォルトの名無しさん
2007/05/22(火) 11:46:07ICBM/SLBMの着弾誤差50メートル?www
Mt級の戦略核だったら50メートルと500メートルでも大した差はねぇぞ
0913ぼるじょあ ◆hZ8e4Wjqvw
2007/05/22(火) 11:51:57(・3・) エェー 問題の意味が分からなかったYO!
ってことでエスパー回答だYO!
#include<stdio.h>
#include<stdlib.h>
int main(void){
int a[3][2], *p_max, temp;
int i, j, k, l;
for(i=0;i<3;i++)
for(j=0;j<2;j++)
a[i][j]=rand();
for(i=0;i<3;i++){
for(j=0;j<3;j++){
p_max=&a[i][j];
for(k=i,l=j;k<3;k++){
for(;l<2;l++){
if(*p_max<a[k][l])
p_max=&a[k][l];
}
l=0;
}
temp=a[i][j];
a[i][j]=*p_max;
*p_max=temp;
}
}
return 0;
}
0914ぼるじょあ ◆hZ8e4Wjqvw
2007/05/22(火) 11:55:11(・3・) エェー >>913 訂正だYO!
for(j=0;j<3;j++){
↓
for(j=0;j<2;j++){
0915デフォルトの名無しさん
2007/05/22(火) 12:49:37各タブを\tに、各バックスペースを\bに、各バックスラッシュを\\に置き換えながら、
入力を出力に複写するプログラムを書きたいです
すみませんがお願いします
0916デフォルトの名無しさん
2007/05/22(火) 14:09:33-=・=- -=・=-
同じ問題がプログラミング言語Cのアンサーブックに答えが書かれてたな。
0917デフォルトの名無しさん
2007/05/22(火) 14:35:40そこを拘るのが日本人
bash-2.05b$ gcc repo05.c
/usr/lib/gcc-lib/i386-vine-linux/3.3.2/../../../crt1.o(.text+0x18): In function`_start':
: undefined reference to `main'
collect2: ld はステータス 1 で終了しました
とエラーがでてしまいます。今日提出日なのでなるべく早く返事ください!!
急ですみませんがよろしくお願いします(><)
0919ぼるじょあ ◆hZ8e4Wjqvw
2007/05/22(火) 15:09:20(・3・) エェー 行数制限厳しいYO!
#include <stdio.h>
#include <math.h>
int main(void){
int price=100, num=1;
printf("リンゴの数を入力して下さい : ");
scanf("%d", &num);
if(num<=0) price=0;
if(num>=10) price=95;
if(num>=20) price=90;
printf("値段 %d 円\n", price*num);
return 0;
}
int main(void){
int year;
printf("西暦年を入力して下さい : ");
scanf("%d", &year);
if(year%400==0 || (year%100!=0 && year%4==0)) printf("閏年です\n");
else printf("閏年ではありません\n");
return 0;
}
int main(void){
double a, b, c, s;
printf("三角形の三辺の長さを入力して下さい : ");
scanf("%lf %lf %lf", &a, &b, &c);
if(a+b<=c || b+c<=a || c+a<=b){printf("三角形ではありません\n");return 0;}
s=(a+b+c)/2;
printf("%f\n", sqrt(s*(s-a)*(s-b)*(s-c)));
return 0;
}
0921デフォルトの名無しさん
2007/05/22(火) 20:20:540922デフォルトの名無しさん
2007/05/23(水) 00:07:06880と同じ問題に苦戦している俺ワロタ
阪大www
0923デフォルトの名無しさん
2007/05/23(水) 17:58:12取り合えず、2問ほどテストして連立方程式の解や逆行列が求められる事は確認した。
ただ、GJ法や部分ピボット選択をよく理解してないので間違ってるかもhttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4035.c
久々に楽しめる問題だったよ。ありがと。
0924デフォルトの名無しさん
2007/05/23(水) 18:57:21遅いよ
今日の五時で締め切り……
0925デフォルトの名無しさん
2007/05/23(水) 22:49:51アリガトウ!
でも924と同じく、間に合いませんでした・・・
課題1と3だけやって提出した・・・・
0926デフォルトの名無しさん
2007/05/23(水) 22:58:132行3列の2次元配列に自然数をランダムに選ぶ。ただし,58はどこかに入れる。その時以下のプログラムを作れ。
配列に入れられた数値を
�@降順に出力
�A昇順に出力
�B数値58の行番号、列番号を出力
if、for、while、do文習いました。バブルソートを使います。
お願いしますm(_ _)m
0927homoじょあ ◆5OLf4yFnuM
2007/05/23(水) 23:35:26(・3・) エェー 意味取り違えてるかもしれないけど
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4038.txt
0928気まぐれアナスイ
2007/05/24(木) 14:46:420930依頼者
2007/05/24(木) 22:21:13[2] 問題文(含コード&リンク):
x[6]を宣言してx[0]に5、x[1]に8、x[2]に6、x[3]に4、x[4]に1、x[5]に3を代入した後、ポインタを使って、x[0]、x[2]、x[4]の和と
x[1]、x[3]、x[5]の積を求めるプログラムを作成せよ。
[3] 環境:
[3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン: Visual Studio
[3.3] 言語: C
[4] 期限: 5月28日迄
よろしくお願いします。
0931デフォルトの名無しさん
2007/05/24(木) 22:53:48[2] 問題文(含コード&リンク):
例題と使用するhtmlファイルです。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4051.txt
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4050.zip[3] 環境:
HTMLファイルのタグを除去する('<'と'>'で囲まれた部分を除いて出力する)
プログラムを次のように書け。
(1)getlineを用いて行ごとに処理する。
(2)連続する空白文字(ブランク、タブ、改行文字)は1つだけにする(他は削除する)
ヒント:空白文字を続けないようにするには、直前の文字を覚えておくのが一つ
の方法である。
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc3.4
[3.3] 言語: C
[4] 期限: 5月24日23時59分
できれば簡単なコードにしていただけると嬉しいです。
期限ぎりぎりで申し訳ありませんが、よろしく御願いします。
0932デフォルトの名無しさん
2007/05/24(木) 22:56:39#include<stdio.h>
int main(){
int i,j=0,k=1,x[6]={5,8,6,4,1,3};
for(i=0;i<6;i++)if(i%2)k*=*(x+i);else j+=*(x+i);
printf("和%d 積%d\n",j,k);
return 0;
}
0933依頼者
2007/05/24(木) 23:06:45ありがとうございます。助かりました。
0934依頼者
2007/05/24(木) 23:19:52[2] 問題文(含コード&リンク):
与えられた文字数分だけ文字を一文字ずつ順に表示するprint関数を作成せよ。
引数として文字列stringと整数nを用入ること。ここでstringは文字列型ポインタ配列の先頭アドレスを、nは表示する文字数を意味する。
[3] 環境:
[3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン: Visual Studio
[3.3] 言語: C
[4] 期限: 5月28日迄
すいません、もう一つお願いします
0935デフォルトの名無しさん
2007/05/24(木) 23:26:25#include<stdio.h>
void print(char *string, int n){while(n-- && *string)putchar(*string++);}
int main(){
print("bakasyoujiki",4);
return 0;
}
0936デフォルトの名無しさん
2007/05/24(木) 23:32:24[2] 問題文(含コード&リンク):
例題と使用するhtmlファイルです。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4051.txt
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4050.zip
HTMLファイルのタグを除去する('<'と'>'で囲まれた部分を除いて出力する)
プログラムを次のように書け。
(1)getlineを用いて行ごとに処理する。
(2)連続する空白文字(ブランク、タブ、改行文字)は1つだけにする(他は削除する)
ヒント:空白文字を続けないようにするには、直前の文字を覚えておくのが一つ
の方法である。
[3] 環境:
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc3.4
[3.3] 言語: C
[4] 期限: 5月24日23時59分
できれば簡単なコードにしていただけると嬉しいです。
期限ぎりぎりで申し訳ありませんが、よろしく御願いします。
0937依頼者
2007/05/24(木) 23:43:50ありがとうございました
0938デフォルトの名無しさん
2007/05/25(金) 01:56:48(^3^) <これでいいかYo!?
int main() {
int flag = 0, count = 0;
char line[1024];
while(getline(line, sizeof(line))) {
char *m, *n;
for(m = n = line; *m; ++m) {
if(*m == '<') while(*++m && *m != '>');
else {
char c = *n++ = *m;
if(c == ' ' || c == '\t') while(c == m[1]) ++m;
}
}
*n = '\0';
if(*line && *line != '\n') printf("%d: %s", ++count, line);
}
return 0;
}
0939デフォルトの名無しさん
2007/05/25(金) 02:11:010940和田っちあっちゃん
2007/05/25(金) 20:07:24[2] 問題文(含コード&リンク):
<条件>
・ビリヤード台がおいてある
・台の左下端の座標は(0,0)、右上端の座標は(2,1)とする
・位置(x0、y0)に手玉
・手玉の初速度(v0x,v0y)
・手玉の位置、初速度はscanfをつかって入力する
<問題>
・手玉はどこに衝突するか?
・衝突位置の座標を表示する
・ポケットにおちることは考えなくてもよい
・手玉の大きさ、摩擦等は考えない
・20回のバンクを考慮して21カ所解答
[3] 環境
C言語で
[4] 期限: [2007年6月1日まで]
[5] その他の制限: if,while,for構文まで
おねがいします。。
0941デフォルトの名無しさん
2007/05/25(金) 20:17:17[2] 問題文(含コード&リンク):
4人分の身長と体重のデータを二次元配列に格納し、平均身長、体重、BMIを求めよ。
ただしBMI=体重÷身長の二乗。大きさがN,Mの二次元配列a[][]をつかい、次のように初期化する。
float a[5][2]={{165.6,70.3,0},{156.0,60.3,0},{170.1,82.5,0},{180.8,67.8,0},{0,0,22.0}
結果は次のようにせよ
h w BMI
1 165.6 70.3 ?
2 156.0 60.3 ?
3 170.1 82.5 ?
4 180.8 67.8 ?
平均 ? ? ?
[3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン: Visual Studio
[3.3] 言語: C
[4]5月28日11時50分まで
for-loopを使って解くとよいと書いてありました。
どうかお願いします
0942デフォルトの名無しさん
2007/05/25(金) 21:17:22[5][2]では初期化できないだろ。
[5][3]の写し間違い?
0943デフォルトの名無しさん
2007/05/25(金) 21:21:31N、Mはdefineで適当に定義してもいいと教授は言ってたけれど
自分は5、3でやってたけどできなくて・・・
0944デフォルトの名無しさん
2007/05/25(金) 21:50:45凄く高度なのですが、数値を全角で表示するなんて、俺にはムリポ
中華a[n][2]はBMIを入れるのか?、5番目のデータは身長が0だから表示されないのか?
BMIの式に身長の単位が(m)である事を明記してくれよ。
近い物は出来たのでお目汚しにどうぞ、数値は半角で表示が例と異なります。
#include<stdio.h>
#include<math.h>
int main(void){
char n,num=0;
float a[5][3]={{165.6,70.3,0},{156.0,60.3,0},{170.1,82.5,0},{180.8,67.8,0},{0,0,22.0}};
float sumh=0,sumw=0,sumb=0;
printf(" h w BMI\n");
for(n=0;n<5;n++){
if(a[n][0]==0) continue;
num++;
a[n][2]=a[n][1]/pow(a[n][0]/100,2);
sumh+=a[n][0];sumw+=a[n][1];sumb+=a[n][2];
printf("%4d%6.1f%6.1f%6.1f\n",n+1,a[n][0],a[n][1],a[n][2]);
}
printf("平均%6.1f%6.1f%6.1f\n",sumh/num,sumw/num,sumb/num);
return 0;
}
0945デフォルトの名無しさん
2007/05/25(金) 22:17:44有難うございました間に合いました。
0947ぼるじょあ ◆hZ8e4Wjqvw
2007/05/26(土) 11:18:47スレが終わる前に訂正だYO! …orz
void sort(double *data, int data_num){
int i, j;
double tmp;
if(data==NULL || data_num<1) return;
for(i=0;i+1<data_num;i++){
for(j=0;j+1<data_num-i;j++){
if(data[j]>data[j+1]){
tmp=data[j];
data[j]=data[j+1];
data[j+1]=tmp;
}
}
}
}
0948デフォルトの名無しさん
2007/05/26(土) 16:45:56ib=0x0F0F
答えはどのようになるのでしょうか?
0949デフォルトの名無しさん
2007/05/26(土) 17:04:34ib &= bitMaskUpper4OfLower8;
0950デフォルトの名無しさん
2007/05/26(土) 17:06:010951デフォルトの名無しさん
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!
レス数が950を超えています。1000を超えると書き込みができなくなります。