ぼるじょあがC/C++の宿題を片づけますYO! 25代目
レス数が1000を超えています。これ以上書き込みはできません。
0001ぼるじょあ ◆yBEncckFOU
NGNGわからない宿題を片づけますYO!
【注意点】 -------------------------------------------------
・問題はしっかりと解いてもらう方にわかりやすいように
問題文などの省きはやめ、エラーなどは適切に書きましょう
全文を書いてしまうか、分かりやすくまとめましょう。
・後になって問題につけたしをするのはやめましょう。
解いてもらっている方に失礼になってしまいます。
------------------------------------------------------------
【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
http://do.sakura.ne.jp/%7Ejunkroom/cgi-bin/megabbs/lounge/index.html
【歴代スレは>>2-10】
0002デフォルトの名無しさん
NGNG23代目: http://pc5.2ch.net/test/read.cgi/tech/1085149383/
22代目: http://pc5.2ch.net/test/read.cgi/tech/1083050221/
21代目: http://pc5.2ch.net/test/read.cgi/tech/1078157730/
20代目: http://pc5.2ch.net/test/read.cgi/tech/1075217631/
19代目: http://pc5.2ch.net/test/read.cgi/tech/1073566342/
18代目: http://pc5.2ch.net/test/read.cgi/tech/1071407728/
17代目: http://pc5.2ch.net/tech/kako/1070/10704/1070469896.html
16代目: http://pc5.2ch.net/tech/kako/1069/10698/1069837000.html
15代目: http://pc5.2ch.net/tech/kako/1068/10689/1068950713.html
14代目: http://pc5.2ch.net/tech/kako/1067/10671/1067175933.html
13代目: http://pc5.2ch.net/tech/kako/1064/10645/1064541405.html
12代目: http://pc5.2ch.net/tech/kako/1060/10607/1060706382.html
11代目: http://pc5.2ch.net/tech/kako/1058/10582/1058283913.html
10代目: http://pc5.2ch.net/tech/kako/1057/10570/1057070174.html
9代目: http://pc5.2ch.net/tech/kako/1055/10559/1055944101.html
8代目: http://pc5.2ch.net/tech/kako/1055/10550/1055056940.html
7代目: http://pc5.2ch.net/tech/kako/1053/10539/1053963794.html
6代目: http://pc5.2ch.net/tech/kako/1053/10530/1053045530.html
5代目: http://pc5.2ch.net/tech/kako/1051/10515/1051594046.html
4代目: http://pc5.2ch.net/tech/kako/1045/10450/1045074808.html
3代目: http://pc5.2ch.net/tech/kako/1041/10419/1041992392.html
2代目: http://pc3.2ch.net/tech/kako/1039/10397/1039772622.html
宿題手伝いますYO!!: http://pc3.2ch.net/tech/kako/1038/10380/1038024989.html
0003デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1087913517/
0004デフォルトの名無しさん
NGNGそっちはスレ番がないから立て直した。
0005デフォルトの名無しさん
NGNG0006デフォルトの名無しさん
NGNG0007デフォルトの名無しさん
NGNG順序つき集合Aを保存する2分探索木に対して,次の4種類の操作を選択して動作するプログラムbintree.cを作成せよ.ただし木の節点には整数を保存するものとする.
INSERT(x,A)
DELETE(x,A)
MEMBER(x,A)
MIN(A)
0008デフォルトの名無しさん
NGNG配列を定義し初期化せよ。なお最後のデータにはNULLを入れておく。
登録番号は入力順に1,2,3,4,5とする。配列の先頭アドレスを指す構造体
person型のポインタを引数として与え、データを入力順に並び替える関数を作成せよ
(・3・)ヨロシクぬるぽ
0009デフォルトの名無しさん
NGNG0010デフォルトの名無しさん
NGNG問題文が変だな
0011デフォルトの名無しさん
NGNG解こうと思ったが、問題文がよくわかりません。
・char name ← 名前一文字…?
・初期化って…? どんな感じに初期化…?
・入力したあと入力順に並び替える…?
普通データなんて入力順に並んでいるのでは
0012涙涙のプログラマ
NGNG#include <stdlib.h>
#define size 20
void main(){
int i,length,mmm;
char c[size+1];
char rc[size+1];
printf("文字を入力(%d文字以下):",size);
scanf("%s",c);
i=0;
while( *(c+i) != '\0') i++;
length = i;
if(length>size){
printf("%d文字以下で入力してください!\n",size);
exit(-1);
}
printf("\n\n元の文字列: %s \n\n",c);
for(i=0; i<length; i++)
rc[i]=c[length-i-1];
rc[length]='\0';
printf("入れ替えた文字列: %s \n",rc);
printf("\n\n何か入力すると終了します。\n ");
scanf("%d",&mmm);
}
0013涙涙のプログラマ
NGNGrc[size+1] のポインタを引数にとり、文字列を入れ替えて
指定された配列に保存する関数reverseを作り
この関数を使ってプログラムを書き換えるって・・・
分からなくて泣きそうです・・(´ω`涙・・・助けて下さい
0014デフォルトの名無しさん
NGNG。・゚・(ノ∀`)・゚・。
0015デフォルトの名無しさん
NGNG解が存在するかを判定するプログラムを作成せよ
初歩的なことですがCでお願いします。
0016デフォルトの名無しさん
NGNGhttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=125
0017デフォルトの名無しさん
NGNG問題のためのCだネ.問題解決の為のCになっとらん.てわけで答えだYO
#include <stdio.h>
#include <stdlib.h>
#define size 20
void reverse(int l,char *p,char *q){
int i;
for(i=0; i<l; i++) q[i]=p[l-i-1]; q[l]='\0';
}
void main(){
int i,length,mmm; char c[size+1]; char rc[size+1];
printf("文字を入力(%d文字以下):",size); scanf("%s",c);
i=0; while( *(c+i) != '\0') i++; length = i;
if(length>size){ printf("%d文字以下で入力してください!\n",size); exit(-1); }
printf("\n\n元の文字列: %s \n\n",c);
reverse(length,c,rc);/* 追加された部分*/
printf("入れ替えた文字列: %s \n",rc);
printf("\n\n何か入力すると終了します。\n ");
scanf("%d",&mmm);
}
改行規制うぜ
0018涙涙のプログラマ
NGNGスゲ―――(゚∀゚)―――――!!
すぐ出来ちゃうんですね・・・
有り難うございました(号泣
0019デフォルトの名無しさん
NGNGていうかこれでいいのかね?
文字列交換のところだけ関数化しただけなんだが・・・・
0020デフォルトの名無しさん
NGNGありがとうございます、感謝です
0021涙涙のプログラマ
NGNG内容分からないので・・・完動してますし
17殿のプログラムを信じて・・・関数プログラミングOKと思ってます。
0022デフォルトの名無しさん
NGNG判別式つかえばいいじゃん
0023デフォルトの名無しさん
NGNGデータ:38832 25896 0
――――――――――――――――――――――――――――――――――――
実行結果:
金額を入力してください。0を入力すると合計を出力して終了
38832
10000 5000 1000 500 100 50 10 5 1
3 1 3 1 3 0 3 0 2
25896
2 1 0 1 3 1 4 1 1
0
5 2 3 2 6 1 7 1 3
――――――――――――――――――――――――――――――――――――
0024デフォルトの名無しさん
NGNGlong kazu(long,long,long*);
void kinsyu(long n,long d[]){
long a;
n=kazu(10000,n,&a);
d[0]=a;
n=kazu( 5000,n,&a);
d[1]=a;
n=kazu( 1000,n,&a);
d[2]=a;
n=kazu( 500,n,&a);
d[3]=a;
n=kazu( 100,n,&a);
d[4]=a;
n=kazu( 50,n,&a);
d[5]=a;
n=kazu( 10,n,&a);
d[7]=a;
d[8]=n;
}
long kazu(long k,long nn,long *s){
*s=nn/k;
nn=nn-(*s)*k;
return nn;}
――――――――――――――――――――――――――――
0025デフォルトの名無しさん
NGNGこのままじゃ計算できんのでkinsyu()はちょっと修正してある。
あと貼るときにmain()の最後の}忘れちまったので加えといてくれ。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=126
0026デフォルトの名無しさん
NGNGサンクス
0027デフォルトの名無しさん
NGNGこれをヒストグラムに描いて生成した乱数が目的とする分布に従うことを確かめなさい。
という問題なんですがどうか!よろしく御願いしますm(_ _)m
0028デフォルトの名無しさん
NGNG分布関数の逆関数を作って、その関数に一様乱数(rand とかで作れる乱数)を渡すだけ。
0029デフォルトの名無しさん
NGNG>分布関数の逆関数を作って
これを数値的にやれって問題じゃないの?
0030デフォルトの名無しさん
NGNG正規乱数とか、数値計算っぽい今年なくても、log と sqrt で出来るし。
0031デフォルトの名無しさん
NGNG003227
NGNGレポートには目的とする分布の密度関数及びどのようにして生成したかをまとめる事。
また、生成した確率変数の平均と分散を計算しておくこと
(2)↑のヒストグラムを描いて生成した乱数が目的とする分布に従っていることを確かめる
目的とする密度関数とヒストグラムを重ねて描け。縦軸注意。
が全文です。乱数はrandでいいんですが、逆関数法をどうやって表せばいいかわかりません。
どうか御願いします〜
0033デフォルトの名無しさん
NGNG逆関数法って用語を無視すれば乱数の特殊な場合である
double my_rnd(void){
return 0;
}
で確率密度関数 δ(x) の乱数を表現できるけど、逆関数法って何?
0034デフォルトの名無しさん
NGNG逆関数法による乱数の作り方
U を一様分布に従う確率変数とし,F を任意の一次元の累積分布関数とする.
(0, 1) 区間 t に対して逆関数 F^(-1) (t) = inf { x | F(x) ≧ t } を定義すると,X = F^(-1) (U) は
P( X ≦ x ) = P( F^(-1) (U) ≦ x ) = P( U ≦ F(x) ) = F(x)
となることより X は分布関数 F に従う.よって,分布関数の逆関数の引数に一様乱数を入れてやれば,欲しい分布の乱数が得られる.
だとさ
00358
NGNG指摘レスくれた方すみません。下が正確なものです
登録番号"int no"と名前"char *name"と年齢"int age"を含む構造体person型の
配列を定義し初期化せよ。なお最後のデータにはNULLを入れておく。
登録番号は入力順に1,2,3,4,5とする。配列の先頭アドレスを指す構造体
person型のポインタを引数として与え、データを年齢順に並び替える関数を作成せよ
0036デフォルトの名無しさん
NGNGそうならば>33 でもいいような気がしてきた。
分布関数の逆関数を(プログラムで書ける形で)求めるなんて一般にはできないんだし。
>>35
>下が正確なものです
これ、正確なの?僕は未だに問題の意味がわからない。
0038デフォルトの名無しさん
NGNG俺もいまだにわからない。
・初期化せよ←これって例えばperson p[5];でいいの?
・最後のデータにNULLを入れる←?
わかっていること↓
・5つのデータを入力
・最後にデータを年齢順にソート
003935
NGNGレスくれた方ありがとう。おやすみなさい
0040デフォルトの名無しさん
NGNGまず,(1)の数学的な部分(レポート作成)を自分でやれ。
そして,求めた分布関数の逆関数を数学的な式で書き込むこと。
そうすりゃ,その分布逆関数組み込んだ(2)を作ってやる。
0041デフォルトの名無しさん
NGNG激しく同意
数学的な部分は調べるのメンどーだ
0042デフォルトの名無しさん
NGNG0043デフォルトの名無しさん
NGNGのどちらかに当てはまる年である。
キーボードから西暦を入力させ、入力された年がうるう年かどうか判定し、
うるう年ならば、「xxxx年はうるう年です。」
そうでなければ、「xxxx年はうるう年ではありません。」
と表示するプログラムを作りなさい。
ただし,うるう年かどうかを判定する部分は,main関数とは別の関数を自分で作成すること。
という問題です。
#include<stdio.h>
int main(void)
{
int n;
scanf("%d",&n);
if
でこのあとがわかりません。教えてください!
0044デフォルトの名無しさん
NGNGはい、頑張ってみようー
0045デフォルトの名無しさん
NGNG4000年で割り切れる年っていう条件が抜けてるよ
0046デフォルトの名無しさん
NGNGy%4 == 0 && y%100 || y%400 == 0
15 名前:デフォルトの名無しさん[sage] 投稿日:04/06/24 18:19
>>13
ここは重複スレだから、本スレでどうぞ。
http://pc5.2ch.net/test/read.cgi/tech/1087929711/
16 名前:デフォルトの名無しさん[sage] 投稿日:04/06/24 18:36
>>14
ありがとうございます!
重複らしいので本スレに行きます…
0047デフォルトの名無しさん
NGNG{
if(a%4==0&&a%100||a%400==0)
return ON;
else
return OFF;
}
int main(void)
{
int n,flag;
printf("n-->");
scanf("%d",&n);
flag=sub(n);
if(flag==ON)
printf("%d年は閏年\n",n);
else
printf("%d年は平年\n",n);
return 0;
}
0048デフォルトの名無しさん
NGNGhttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=128
004943
NGNGレスを参考にして自分なりに組んでみたらできました。
005043
NGNG#include<stdio.h>
int main(void)
{
int n;
printf("西暦を入力してください=");
scanf("%d", &n);
if(n%4==0&&n%100||n%400==0){
printf("%d年はうるう年です。\n",n);
}
else{
printf("%d年はうるう年ではありません。\n",n);
}
return 0;
}
で、一応できたのですが、
ただし,うるう年かどうかを判定する部分は,main関数とは別の関数を自分で作成すること。
という条件は満たしてませんよね…?
0051デフォルトの名無しさん
NGNG{ return n%4==0&&n%100||n%400==0; }
if (is_leap_year(n))
printf(...);
0052デフォルトの名無しさん
NGNG{
return year%4==0&&year%100||year%400==0;
}
if(isLeap(n)){
printf("%d年はうるう年です。\n",n);
}
else{
printf("%d年はうるう年ではありません。\n",n);
}
0053デフォルトの名無しさん
NGNG0054デフォルトの名無しさん
NGNG時間での測定値は100 倍して指定されたオフセットを加えた値の16bit の正整数で表され,
上位8bit と下位8bit が分かれて送られる.例えば,下の例のように,オフセットが5000 の
とき,40.91 という測定値は,40.91×100+5000=9091(2進数で 0010 0011 1000 0011 )
35 131となり,35 と131 という整数が続けて送られることになる.今,測定データがdata.txt と
いうファイル名で保存されているとき,それを読み込み、実際の測定値を計算し,データの
個数,最小値,最大値を求め,それらを下記のように日付を名前とするテキストファイル
(”.txt” をつける)に書き出すプログラムを作れ.ただし,書き出すファイルはExcel で読
み込むことを考えて,タブ区切りとする(図のなかの<tab>はタブを表す;タブをprintf で
出力する場合には7-3 ページにあるエスケープ文字を使う).なお,測定データの個数は最大
100 を想定する.(ソースプログラムを提出せよ)
0055デフォルトの名無しさん
NGNG04-06-24
5000
0 19 136
7 35 131
14 44 13
21 45 17
28 40 45
38 27 254
48 16 74
60 9 71
72 10 197
86 17 182
100 23 1
114 23 127
データの個数: <tab>12
最小値: <tab>-26.25
最大値: <tab>65.37
時間<tab>測定値
0<tab>0.00
7<tab>40.91
14<tab>62.77
21<tab>65.37
28<tab>52.85
38<tab>21.66
48<tab>-8.30
60<tab>-26.25
72<tab>-22.43
86<tab>-4.66
100<tab>8.89
114<tab>10.15
0056デフォルトの名無しさん
NGNGか分からない
0057デフォルトの名無しさん
NGNG普通は csv だろ。終わってるな、課題出したセンセは
0058デフォルトの名無しさん
NGNG0059デフォルトの名無しさん
NGNG#include <string>
#include <fstream>
#include <map>
#include <algorithm>
#include <limits>
main()
{
using namespace std;
map<int, double> resultMap;
string line;
ifstream ifs("data.txt");
string date;
ifs >> date;
date += ".txt";
int offset;
ifs >> offset;
double resultMax = numeric_limits<double>::max(), resultMin = numeric_limits<double>::min();
while(ifs.good())
{
int time, hi, low;
ifs >> time >> hi >> low;
double result = ((hi << 8) + low - offset) / 100.0;
resultMax = max(result, resultMax);
resultMin = min(result, resultMax);
resultMap[time] = result;
}
0060デフォルトの名無しさん
NGNGofs << "データの個数:\t" << resultMap.size() << endl;
ofs << "最小値:\t" << resultMin << endl;
ofs << "最大値:\t" << resultMax << endl;
ofs << "時間\t測定値" << endl;
for(map<int, double>::iterator it=resultMap.begin(); it!=resultMap.end(); ++it)
ofs << (*it).first << "\t" << (*it).second << endl;
}
0061デフォルトの名無しさん
NGNG>>59-60
0063デフォルトの名無しさん
NGNGint l(int n)
{
return n%4==0&&n%100||n%400==0;
}
int main(void)
{
int n;
printf("西暦を入力してください=");
scanf("%d", &n);
if(l(n)){
printf("%d年はうるう年です。\n",n);
}
else{
printf("%d年はうるう年ではありません。\n",n);
}
return 0;
}
関数名とかは好きなのにしろ
0064デフォルトの名無しさん
NGNG課題:
■ポインタ引数を持つ関数を定義する課題
n秒をhh時間mm分ss秒の形に変形する関数convert_time()を定義し、
また、実際に引数を与えて呼び出しを行う。
0065デフォルトの名無しさん
NGNGその後、1文字ずつ取り出して表示せよ。
表示にはputcharを用いて文字列の長さは事前に分からないものとし、
プログラムの中で調べること。
(表示には必ず先頭1文字ずつ表示し、null文字が見つかったら表示を中止する)
006664
NGNGvoid convert_time(int*h,int*m,int*s,int n)
{
???
}
void main()
{
int h,m,s,n;
scanf("%d",&n);
convert_time(???);
printf("%dh%2dm%2ds\n",h,m,s);
}
???のところがわかりません・・(T T)
0067デフォルトの名無しさん
NGNG{
snprintf(p, c, "%02d時間%02d分%02d秒", n/3600, n/60%60, n%60);
}
0068デフォルトの名無しさん
NGNGvoid convert_time(int*h,int*m,int*s,int n)
{
*s = n % 60;
n /= 60;
*m = n % 60;
*h = n / 60;
}
convert_time(&h, &m, &s, n);
0069デフォルトの名無しさん
NGNG前スレのどっかにあった。自分で探されよ。
0070デフォルトの名無しさん
NGNG*h=n/3600;
*m=n/60%60;
*s=n%60;
0071デフォルトの名無しさん
NGNG007364
NGNGvoid convert_time(int*h,int*m,int*s,int n)
{
*s=n%60;
n/=60;
*m=n%60;
*h=n/60;
}
void main()
{
int h,m,s,n;
scanf("%d",&n);
convert_time(&h,&m,&s,n);
printf("%dh%2dm%2ds\n",h,m,s);
}
4000
1h 6m40s
Console>> 何かキーを押すと終了します。
出来ました(T T)有難う御座いました!
0074デフォルトの名無しさん
NGNGprintfでchar型の中の数字を出すにはどうしたらよいでしょうか・・・
知恵をお貸しください。
0075デフォルトの名無しさん
NGNGprintf("%d", c);
0076デフォルトの名無しさん
NGNG#include <stdio.h>
int main(){
char str[20];
int i=0;
fgets(str,20,stdin);
for(i=0;str[i]!='\0'&&str[i]!='\n';i++){
putchar(str[i]);
putchar('\n');
}
printf("end\n");
return 0;
}
/*素直にNULL判別だけなら!='\n'は不要。*/
007774
NGNG0078デフォルトの名無しさん
NGNGもう1度お願いします。期限明日までなんで…
#include<stdio.h>
int factorial(int n){
int i,f=1;
for(i=1;<=n;i++)
f=f*i;
}
return f;
}
int main(){
int i;
for(i=0;i<=5;i++)
printf("%d\n",factorial(i));
return 0;
}
の関数factorialを利用して
キーボードから入力した2つの正または0の整数nとmの
組み合わせnCmを計算する関数combinationを作り、それを用いてnCmを計算するプログラム。
ヒント)
nCm = n!/(n−m)!m!
出力例
Input n: 8
Input m: 6
8C6 = 28
0079デフォルトの名無しさん
NGNG0080デフォルトの名無しさん
NGNGint i,f=1;
for(i=1;i<=n;i++)
f=f*i;
return f;
}
double comb(int n, int m){
return (double)factorial(n) / factorial(n - m) / factorial(m);
}
0081デフォルトの名無しさん
NGNGを求めるプログラムを作れという問題がわからないので
どうかお願いします。
0083デフォルトの名無しさん
NGNG一般的な問題かもしれませんが、
年と月を入力するとカレンダーを表示するプログラムを作る問題です。
おねがいします
0084デフォルトの名無しさん
NGNGどうやら3つ(n、m、n−m)の関数を宣言して
最後にcombinationの関数を作るみたいです。
>>79
なんか、nCmの式を立てるとこが…
詳しくは分かりません。
0085デフォルトの名無しさん
NGNGどんぞ
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=129
0087デフォルトの名無しさん
NGNGマルチとは?
初心者過ぎてすいません。
0088デフォルトの名無しさん
NGNG分からないならコピペしろ
0089デフォルトの名無しさん
NGNGマルチとはTo Hear(ry
0090デフォルトの名無しさん
NGNG順列・組み合わせでググレ
0091デフォルトの名無しさん
NGNG#include <stdio.h>
#define N 5
int main(void)
{
double s[N], sum = 0.0;
int i;
for (i = 0; i< N;i++){
printf("s[%d]:", i); scanf("%lf",&s[i]);
sum += s[i];
}
printf("average is %f\n", sum / N);
return 0;
}
0092デフォルトの名無しさん
NGNG分かりません><
教科書みてもサッパリです・・・・m(_ _;)m
0093デフォルトの名無しさん
NGNGint combi(int n, int r)
{
if (r == 0 || n == r) {
return 1;
}
return combi(n-1, r-1) * combi(n-1,r);
}
0094訂正
NGNG{
if (r == 0 || n == r) {
return 1;
}
return (combi(n-1, r-1) + combi(n-1,r));
}
0095デフォルトの名無しさん
NGNGありがとうございます、助かりました。
0096デフォルトの名無しさん
NGNGどうかよろしくおねがいします。
0097デフォルトの名無しさん
NGNGint main(void)
{
char buf[16];
printf("名簿を管理しますか?\n");
fgets(buf,sizeof buf,stdin);
if (buf[0] == 'y') puts("がんがれ");
else puts("うんこ");
return 0;
}
0098デフォルトの名無しさん
NGNGsystem("Access.exe");
0099デフォルトの名無しさん
NGNGお願いします。
n個の文字列 c0,c1,…,cn−1 を読み込んだ後、
読み込んだ文字列を表示するプログラムを作成せよ。
・文字列を読み込む。
・表示する。
上記2つを関数として作成し、main関数から呼び出すこと。
また、読み込む文字列長は固定である。(#define で宣言すること)
0100デフォルトの名無しさん
NGNG#include <stdio.h>
#include <string.h>
#define N 5
#define BUFSIZE 256
char buf[N][BUFSIZE];
void read(){
char *p;
int i;
for(i = 0; i < N; i++){
printf(" > ");
fgets(buf[i], BUFSIZE, stdin);
if(NULL != (p = strchr(buf[i], '\n'))) *p = '\0';
}
}
void display(){
int i;
for(i = 0; i < N; i++) puts(buf[i]);
}
int main(){
read();
display();
return 0;
}
010199
NGNGレスありがとうございます。
しかし「n個の文字列の n は動的に確保する」という問題でした。
説明不足でした。すみません。
0102デフォルトの名無しさん
NGNGありがとうございました
0103デフォルトの名無しさん
NGNG5人分の試験の点数を整数型配列にキーボードから入力し、その後ファ
イルtensuuに出力せよ。
#include <stdio.h>
int main (void){
int x[5];
int i;
FILE *fp;
for(i=0;i<5;i++){
printf("input data of No%d ",i+1);
scanf("%d",&x[i]);
}
fp=fopen("tensuu","w");
for(i=0;i<5;i++){
fprintf(fp,"%d \n",x[i]);
}
fclose (fp);
return 0;
}
0104103
NGNG作成したファイルtensuuから5人分の点数データを入力し、それから合計と平均を計算して画面出力せよ。提出するプログラムは
�@ファイルtensuu
�Aデータを読み込んで合計と平均を計算して画面出力するプログラム。また、メモ帳によってファイルtensuuを2つめのプログラムを実行する前に、ファイルtensuuを2つめのプログラムのソースファイルと同じフォルダにコピーしておくこと。
0105103
NGNG合計、平均値、および読み込んだデータの個数を画面出力せよ
長文でスイマセン
0106デフォルトの名無しさん
NGNG2,3を同時に書いたので、どちらかコメントアウトしてください。
#include <stdio.h>
int main (void){
int x[10],i,sum=0;
double ave=0.0;
FILE *fp;
fp=fopen("tensuu","r");
/*課題2用*/
for(i=0;i<5;i++){
fscanf(fp,"%d",&x[i]);
sum+=x[i];
}
/*課題3用*/
/*for(i=0;;i++){
if(fscanf(fp,"%d",&x[i])==EOF)break;
sum+=x[i];
} */
for(i=0;i<5;i++){printf("%d \n",x[i]);}
ave=(double)sum/i;
printf("num=%d sum=%d ave=%f\n",i,sum,ave);
fclose (fp);
return 0;
}
0107デフォルトの名無しさん
NGNGお願いします。
0108デフォルトの名無しさん
NGNGユーザに順次文字列の入力を求め、入力された文字列を変数に格納せよ。
ただし、終了は"end"の文字列のみが入力された場合とし、文字列長は256
の固定長でよいが、入力される文字列の数は不定でありユーザの気分で変
わるものとする。
0109デフォルトの名無しさん
NGNGまず数式の簡単な解きかたから教えてくれ…。
式そのままに総当りでやったら
(a ,b)=(1, 1)
(a ,b)=(6, 8)
(a ,b)=(35, 49)
(a ,b)=(204, 288)
(a ,b)=(1189, 1681)
(a ,b)=(6930, 9800)
↑この6つの解以降は無理。
0110デフォルトの名無しさん
NGNGb(b+1)/2っていうのは、Σ(1→b) (つまり1〜bまでの自然数の和)なんだから、
和を求めてからルート取って自然数になるかどうか調べればいいんじゃないかな?
それでやると、7個目はa=40391 b=57121
ただこれ以上は多倍長演算が必要になりそうなので断念
0111デフォルトの名無しさん
NGNG↑これを誰かやってくれませんか?
0112デフォルトの名無しさん
NGNGMEMBERとMINはなんだ?
0113デフォルトの名無しさん
NGNGああ、わかった。
aとbが逆でもいいのか。
求まった…
#include<stdio.h>
int main()
{
int resCount=0;//解の数
for(int a = 1;;a++)
{
for(int b = a;;b++)
{
if(2 * a * a < b * ( b + 1 ) )break;
if(2 * a * a != b * ( b + 1 ) )continue;
//解が得られた
printf("(a ,b)=(%d, %d)\n",a,b);
resCount++;//解の数に1加える
if(a != b && resCount < 11)
{//aとbが異なるなら、逆の場合も出力
printf("(a ,b)=(%d, %d)\n",b,a);
resCount++;//解の数に1加える
}
break;
}
if(resCount == 11)break;//解の数に11個で終了
}
return 0;
}
0114109==113
NGNGうわー、リロードして書き込めばよかった…。
そうか。等差数列の和か…。
そちらの方がスマートなので、真の解答は任せた。
0115デフォルトの名無しさん
NGNG「ファイルの中から特定の文字列(例えば「abcde」)を抜き出してプリントさせる」
というプログラムをなるべく初歩的で簡単に作れと言われました。
よろしくお願いします<(_ _)>
0116デフォルトの名無しさん
NGNGそんなことしなくても、printf("abcde")でいいじゃないか。
0117デフォルトの名無しさん
NGNG宿題を丸々コピペしろ
あと先生が言った言葉もな
0118デフォルトの名無しさん
NGNG0119デフォルトの名無しさん
NGNGそれだと、含まれていない場合にも表示されるっぽ
0120デフォルトの名無しさん
NGNG含まれてる行を、とかそういう問題じゃないのか
0121デフォルトの名無しさん
NGNG↑>>108さんの問題をやってみたんですが
動きません...
on_
厳しく間違いを指摘してください。
0122デフォルトの名無しさん
NGNGBUFSIZの定義がされてませんぜ、旦那。
ついでに文字列の比較はstrcmp()で。
0123デフォルトの名無しさん
NGNGBUFSIZって幾つだと思ってるんだよ。BUFSIZ*256バイトもスタックに取るには大き過ぎだろうが。
それから、不定である以上BUFSIZより多い数入れたいかもしれないだろ? 動的に確保しろよ。
0124デフォルトの名無しさん
NGNG(例:words[単語数][単語文字数])
単語登録,リスト表示,終了の各機能が選択可能なメニュー画面を表示する.ただし,登録可能な単語数を表示し,リスト内と同一単語の登録は受付けない.また,リスト表示は登録した英単語を含めるものとする.
プログラム終了時に新しくできた英単語リストを読み出したファイルに更新する.なお,英単語リストのファイルは,1行1単語として出力するものとする.
ヒント:文字列の比較は「strcmp関数」,文字列の複写は「strcpy関数」をそれぞれ使用し,引数の指定は各自で調査せよ.ヘッダーファイルは「<string.h>」を指定すればよい.
お願いします。
0125121
NGNGご指摘どうもです
122様のご指摘はすらっとできたのですが、
123様のご指摘された点が僕の手には負えそうにないです。
いろいろ調べてみたんですが、情けないことに動的に確保する方法がわかりません。
ということで >>108 さんの回答を誰かUPしてください。
それみて勉強することにします...
on_
0126デフォルトの名無しさん
NGNGVC6つかってます。;;
0127デフォルトの名無しさん
NGNGreturn 内;
}else{
return 外;
}
0128デフォルトの名無しさん
NGNG(適当
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define BUF_SIZE 256
#define STREQ(a, b) (*(a) == *(b) && strcmp((a), (b)) == 0)
int main()
{
char* buffer = NULL;
int count=-1, i;
do {
count++;
buffer = (char*)realloc(buffer, BUF_SIZE*(count+1));
fgets(buffer+BUF_SIZE*count, BUF_SIZE, stdin);
} while(!STREQ(buffer+BUF_SIZE*count, "end\n"));
for(i=0; i<count; i++) {
printf("%s", buffer+BUF_SIZE*i);
}
free(buffer);
return 0;
}
0129デフォルトの名無しさん
NGNG質問の仕方がこの上なく最悪かつスレ違い
0130デフォルトの名無しさん
NGNGベクトルの内積を使え。
0131デフォルトの名無しさん
NGNGの、課題11-2 11-3をお願いします
0132デフォルトの名無しさん
NGNGそこ、たぶん学内からしかアクセスできない。
0133デフォルトの名無しさん
NGNG0134デフォルトの名無しさん
NGNG0135131
NGNG以下それぞれの人の点数を表します
60 80 40 90 100 80 70 30 50 20
0136デフォルトの名無しさん
NGNGアドレス貼るだけとは・・・頭おかしいぞ
課題をここに書くということすら面倒ってか?
0137デフォルトの名無しさん
NGNG2次元配列へのポインタはchar (*buffer)[BUF_SIZE];で作れる
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define BUF_SIZE 256
int main()
{
char (*buffer)[BUF_SIZE] = NULL;
int count = 0, i;
do {
buffer = realloc(buffer, BUF_SIZE * count);
fgets(buffer[count], BUF_SIZE, stdin);
} while (strcmp(buffer[count++], "end\n"));
for(i=0; i<count; i++) {
printf("%s", buffer[i]);
}
free(buffer);
return 0;
}
0138デフォルトの名無しさん
NGNG#include <stdio.h>
#include <algorithm>
#include <numeric>
main()
{
int score[] = {60,80,40,90,100,80,70,30,50,20};
printf("最大値=%d,最小値=%d,合計値=%d",
*std::max_element(score, score + 10),
*std::min_element(score, score + 10),
std::accumulate(score, score + 10, 0)
);
}
0139デフォルトの名無しさん
NGNG#include <stdio.h>
int main() {
int score[] = { 60, 80, 40, 90, 100, 80, 70, 30, 50, 20 };
int i,max,min,sum = 0;
max = score[0]; min = score[0];
for(i=0;i<10;i++) {
if(score[i] > max) max = score[i];
if(scoer[i] < min) min = score[i];
sum += score[i];
}
printf("max = %d, min = %d, sum = %d\n",max,min,sum);
return 0;
}
0140デフォルトの名無しさん
NGNG危ねー。似たような方法を書き込みそうになったw
リロードしてよかったよ…。
0141デフォルトの名無しさん
NGNG第一引数で指定されたファイルから読み込んだ単語の中で第三引数で指定されたファイルに含まれている単語が存在するならば、
その単語を削除し、含まれていない単語のみ第二引数で指定されたファイルに書き込むプログラムを
作ろうとしているのですが、この上のプログラムではうまくいきません。
完全版を作ってくれませんか?
0142デフォルトの名無しさん
NGNG0143デフォルトの名無しさん
NGNGifで閉じカッコが余計なのが大杉
(誤)if ((fp0 = fopen(argv[3], "r")) != NULL) {
(正)if ((fp0 = fopen(argv[3], "r") != NULL) {
0144デフォルトの名無しさん
NGNG\ ∩___∩
. \ | ノ ヽ ちょっ! ちょっと待つクマ!
\ / ● ● |
\| ( _●_) ミ 釣り方間違ってるクマ!!
彡、 |∪| ,/..
ヽ ヽ丿/ /⌒| この吊り方は、やばすぎるクマー!!!
/ \__ノ゙_/ / =====
〈 _ノ ====
\ \_ \
\___) \ ====== (´⌒
\ ___ \__ (´⌒;;(´⌒;;
\___)___)(´;;⌒ (´⌒;; ズザザ
0145デフォルトの名無しさん
NGNGなお、ピリオドも1語と数える。
/* data.txt
The Carlos Beltran
sweepstakes are over,
*/
実行結果
Wordcount:7
Maxlength:11
よろしくお願いします。
0146145
NGNG追記すみません
0147デフォルトの名無しさん
NGNG0148デフォルトの名無しさん
NGNG#include <stdio.h>
#include <ctype.h>
#define IN 1
#define OUT 2
void hoge(int *c, int *m) {
int ch, len = 0, max = 0, wcount = 0, state = OUT;
FILE *fp;
fp = fopen("data.txt", "r");
while ((ch = getc(fp)) != EOF) {
switch (state) {
case IN:
if ((ch == '.') || isalnum(ch)) len++;
else { if (len > max) max = len; state = OUT; }
break;
case OUT:
if ((ch == '.') || isalnum(ch)) { wcount++; state = IN; len=1; }
break;
}
}
if (state == IN && len > max) max = len;
*c = wcount; *m = max;
}
int main() {
int c, m;
hoge(&c, &m);
printf("Wordcount: %d\n", c);
printf("Maxlength: %d\n", m);
return 0;
}
0149デフォルトの名無しさん
NGNG0151デフォルトの名無しさん
NGNG0152145
NGNGhttp://www.amazon.co.jp/exec/obidos/ASIN/4320026926/qid=1088159390/sr=1-1/ref=sr_1_10_1/250-5390395-9505064
これでしょうか?
0153デフォルトの名無しさん
NGNG0154デフォルトの名無しさん
NGNG一冊ぐらいk
015559.60
NGNG#include <stdlib.h>
#include <string.h>
#define MAX 100
void main(void)
{
char filename[20];
int time[MAX];
int i, n, offset, a, b,sum;
double value[MAX], min, max,avr;
FILE *fp;
if((fp=fopen("data.txt","r")) == NULL) {
printf("data.txt を開くことができません\n");
exit(1);
}
015659.60
NGNG部分*/
fscanf(fp, "%s", filename);
fscanf(fp, "%d", &sum);
min=max=sum; i=1;
while(fscanf(fp, "%d", &a) !=EOF){
sum +=a;
if(min>a)min=a;
if(max<a)min=a;
i++;
}
avr=(double)sum/i;
fclose(fp);
if((fp=fopen(filename,"w")) == NULL) {
printf("%s を開くことができません\n", filename);
exit(1);
}
/*filename というファイルにデータの個数、最小値、最大値、平均値を出力す
る部分*/
fprintf(fp, "データの個数: %d\n",i);
fprintf(fp, " 最小値: %d\n",i);
fprintf(fp, " 最大値: %d\n",i);
fprintf(fp, " 平均値: %d\n",i);
fclose(fp);
}
015759.60
NGNGどこがおかしいか指摘してください
0158141
NGNGこれを使って>>141を解いてください、お願いします。
0159デフォルトの名無しさん
NGNGどううまく動かないのか具体的に書いてください。
入力これこれに対して、出力はこうなるのが正解だが、このような出力になるetc
0160デフォルトの名無しさん
NGNG関数名はbignumaddとする
変数名とかは特に指定はありません
どなたかおねがいします
0161デフォルトの名無しさん
NGNGint main(){char a[99],b[99],*e="+-*/",*f;int s=0,c;float m=0,n;while(1){printf(
"%f :",m);fgets(a,99,stdin)?0:exit(0);if(sscanf(a,"%s",b)>0){if(sscanf(b,"%f",
&n)>0){m=s?c?c-1?c-2?m/n:m*n:m-n:m+n:n;s=0;continue;}else{if(!b[1] && (f=strchr
(e,*b))){s=1;c=f-e;continue;}}}*a-'q'?0:exit(0);puts("Input errror (type 'q' t"
"o exit)");}}
このプログラム以前作ってもらったやつだが、コンパイルできん。
コピペじゃいかんのか?
初心者で全然わからん
C言語の質問スレでもきいたが、ここでもきいてすいません
0162デフォルトの名無しさん
NGNG一桁一配列要素で兆でも京でもやれよ
0163デフォルトの名無しさん
NGNG略以下は
かっぱらっちまえ でよろしいでしょうか?
0164デフォルトの名無しさん
NGNGなんすか。その7行スレに出てきそうなソースは…。
とりあえず見やすいように展開して欲しい( ゚Д゚)
0165デフォルトの名無しさん
NGNG0166デフォルトの名無しさん
NGNG>>165
全然C言語わかんないんす
どこで改行していいかもわかんない
電卓のシュミレーターなんですが。
0167デフォルトの名無しさん
NGNGCなら ; (セミコロン) { } (括弧)の位置で改行する
0168デフォルトの名無しさん
NGNG0169デフォルトの名無しさん
NGNG#include <stdio.h>
int main()
{char a[99],b[99],*e="+-*/",*f
;int s=0,c
;float m=0,n;while(1)
{printf(
"%f :",m)
;fgets(a,99,stdin)?0:exit(0)
;if(sscanf(a,"%s",b)>0)
{if(sscanf(b,"%f",
&n)>0){m=s?c?c-1?c-2?m/n:m*n:m-n:m+n:n
;s=0
;continue
;
}else
{if(!b[1] && (f=strchr
(e,*b))){s=1
;c=f-e
;continue
;}
}
}*a-'q'?0:exit(0)
;puts("Input errror (type 'q' t"
"o exit)")
;
}
}
こうですか?
0170デフォルトの名無しさん
NGNG0171デフォルトの名無しさん
NGNG0172デフォルトの名無しさん
NGNG#include <stdio.h>
int main(){
char a[99],b[99],*e="+-*/",*f;
int s=0,c;
float m=0,n;
while(1){
printf("%f :",m);
fgets(a,99,stdin)?0:exit(0);
if(sscanf(a,"%s",b)>0){
if(sscanf(b,"%f",&n)>0){
m=s?c?c-1?c-2?m/n:m*n:m-n:m+n:n;
s=0;
continue;
}
else{
if(!b[1] && (f=strchr(e,*b))){
s=1;
c=f-e;
continue;
}
}
}
*a-'q'?0:exit(0);
puts("Input errror (type 'q' t""o exit)");
}
}
これでいいかな?
0173デフォルトの名無しさん
NGNGmpz_add()呼んで終わりだぞ?
もちょっと説明あったでしょ。
0174デフォルトの名無しさん
NGNGせんでしょうか。
2次方程式の係数a,b,cを与え、方程式の解を求めて出力せよ。(関数は使わなくてよい)
ヒント:係数の値によって、3つの場合分けが必要となる。
ここで、zの平方根yの計算は、y=sqrt(z);で計算すること。
また、#include<math.h>を#include <stdio.h>の次の行にくわえること
0175デフォルトの名無しさん
NGNGGMPライブラリを使わず・・・作成せよって問題なら分かるが使ったら意味なくない?
0176デフォルトの名無しさん
NGNG> エラーが多発していた
だ か ら そ の エ ラ ー メ ッ セ ー ジ を 晒 せ や 池 沼
0177デフォルトの名無しさん
NGNG0178デフォルトの名無しさん
NGNG";"は日本語で言う"。"つまり文の終わり。
"}"を日本語に当てはめると"」"が近い。
つまり
hoge;
foo;
って具合にしろ
0179デフォルトの名無しさん
NGNGそのn個ってのは任意なのか?
0180デフォルトの名無しさん
NGNGよくわからないんだが、そうすれば
きちんとしたプログラムとして動くの?
172のプログラムのことです
0181デフォルトの名無しさん
NGNG0182160
NGNGmpz_add(mpz_t c, mpz_t a, mpz_t b)
とすれば c=a+b;になるのは分かっているのですが、
mpz_t bignumadd(mpz_t e, mpz_t f)
mpz_add(d, e, f)
return d;
こんな風にしてもコンパイルできません・・・
0183デフォルトの名無しさん
NGNG0184デフォルトの名無しさん
NGNGC言語では改行も空白の一種の扱いだから、改行が全くなくても正しいソースコードなら問題はない。
改行を入れるのは見易さのため。
0185デフォルトの名無しさん
NGNGんなこと言ってるとまたいつかみたいにバカが
「動けばいいというものではない。減点」
とか言い出すぞ。
0186デフォルトの名無しさん
NGNGどうせくだらんミスだろう。
0187デフォルトの名無しさん
NGNG0188デフォルトの名無しさん
NGNG0189デフォルトの名無しさん
NGNGどういう風になるのかよくわからん・・。
0190デフォルトの名無しさん
NGNG#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include <malloc.h>
int gcd(int x, int y){if(y == 0) return x; else return gcd(y, x % y);}
int main(){
int n, *a, i, d;
char buf[256];
printf(" n > ");
n = atoi(fgets(buf, sizeof(buf), stdin));
if(n == 0) return 1;
assert(NULL != (a = malloc(sizeof(int) * n)));
for(i = 0; i < n; i++){
printf(" > ");
*(a + i) = atoi(fgets(buf, sizeof(buf), stdin));
}
d = *a;
for(i = 1; i < n && d != 1; i++)
d = gcd(*(a + i), d);
printf(" ans = %d\n", d);
return 0;
}
0191190
NGNG0192デフォルトの名無しさん
NGNG・扱う数値は整数値でよい(実数ならもっといい)
・数値と演算子の区切りは改行(リターンキー)でよい
・対話的に使えるものとするー終了は数値の代わりに一文字
の入力をすればよい
・演算は加減乗除のみ(ほかのがあってもよい)
・演算子の優先順位は考慮しなくてもよい
・括弧は扱えなくてもよい
・メモリ機能は扱えなくてよい
前スレでこう聞いたら161のようなプログラムを作ってくれた。
うーん他のプログラムつくれないすか?
困ってるんです
0193デフォルトの名無しさん
NGNG数値を連続で入力したら、どうなるの?
0194デフォルトの名無しさん
NGNGありがとうございます。
プログラムソースが結構複雑ですね。。。
まだ、初心者なんで全ては理解できません。
ようは、
1組の最大公約数を求めて、
求めた最大公約数と次の整数の最大公約数を求めていくということですか?
(例)
a, b, c, dの整数があったら、
まず始めにaとbの最大公約数xを求めて、
次に、xとcの最大公約数yを求めて、
最後に、yとdの最大公約数zを求める。
結果的にzがa, b, c, dの最大公約数になる。
という感じでしょうか?
0195デフォルトの名無しさん
NGNGそういうこと。
あともう一つ「最大公約数が1になっちゃったら、そこで終了」という終了条件もつけてる。
0196デフォルトの名無しさん
NGNGつーか161そのままでコンパイル通るよ
一応足し算とかできるし
0197デフォルトの名無しさん
NGNGとても参考になりました。
ありがとうございましたm(_ _)m
0198デフォルトの名無しさん
NGNG連続で入力できる分は問題ないと思います
0199デフォルトの名無しさん
NGNGそうじゃなくて、200の後に300入れられたら、どういう計算すればいいんだよ?
0200デフォルトの名無しさん
NGNGsample3.cpp:
エラー E2268 sample3.cpp 3: 未定義の関数 'exit' を呼び出した(関数 main() )
エラー E2268 sample3.cpp 5: 未定義の関数 'strchr' を呼び出した(関数 main() )
エラー E2034 sample3.cpp 4: 'int' 型は 'char *' 型に変換できない(関数 main() )
警告 W8060 sample3.cpp 4: おそらく不正な代入(関数 main() )
*** 3 errors in Compile ***
コンパイルするとこうなる
なぜ(:_;)
0201デフォルトの名無しさん
NGNG#include<stdlib.h>
#include<string.h>
の2行入れてみ。
0202160
NGNGc:4 error: `bignumadd' declared as function returning an array
c: In function `main':
c:13: error: incompatible types in assignment
c: At top level:
c:24: error: `bignumadd' declared as function returning an array
c: In function `bignumadd':
c:28: error: syntax error before "return"
プログラムは次のレスにコピペします
0203デフォルトの名無しさん
NGNG0204デフォルトの名無しさん
NGNGmalloc()ってstdlib.hに入ってるんじゃなかったっけ?
0206デフォルトの名無しさん
NGNG#include <gmp.h>
mpz_t bignumadd(mpz_t a, mpz_t b);
int main(void)
{
mpz_t d, e, f;
mpz_init_set_ui(d, 100UL);
mpz_init_set_ui(e, 200UL);
mpz_init(f);
f = bignumadd(d,e);
mpz_out_str(stdout, 10, f);
printf("\n");
mpz_clear(d);
mpz_clear(e);
mpz_clear(f);
return 0;
}
mpz_t bignumadd(mpz_t a, mpz_t b)
{
mpz_t c;
mpz_init(c);
mpz_add(c, a, b)
return c;
}
0207デフォルトの名無しさん
NGNGよくわかんないですが、計算できればいいです
0208デフォルトの名無しさん
NGNG拡張子を".cpp"から".c"にしたら?
0209デフォルトの名無しさん
NGNG>>ttp://pc5.2ch.net/test/read.cgi/tech/1088151291/57
おれもやってみた。
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#define F fgets(buf, sizeof(buf), stdin)
int main(void){char buf[256];while(1){int x,y,op;x=atoi(F);if(isalpha(*buf))
break;op=*F;y=atoi(F);if(isalpha(*buf))break;printf("%d %c %d = %d\n",x,op,y,
op=='+'?x+y:op=='-'?x-y:op=='*'?x*y:op=='/'?x/y:0);}return 0;}
0210デフォルトの名無しさん
NGNG161のどこにいれるんすか?
全くわからないのに、こんな宿題だされてこまってます
0211デフォルトの名無しさん
NGNG計算できないんだってば。バカか?
0212デフォルトの名無しさん
NGNGあー、なにげmpz_tってポインタかと思ったら要素一個の配列として定義されてんのな。
こりゃそのままじゃ返せねーわ。
ポインタにしちまうか、引数のどっちかに答え入れるようにしたら?
0213デフォルトの名無しさん
NGNGC習い始め初日でもincludeする場所くらいは分かるだろうに・・・
もうすぐ7月だぞ?
0214デフォルトの名無しさん
NGNG感じで、そもそもCをやろうという気は無いんだろう。
まぁそういう人のためのスレでもある気はするんだが、
話がある程度通じないとプログラムの実行方法とかも伝えられないから辛いな。
0215デフォルトの名無しさん
NGNGすいませんがプログラムを書いていただけませんか?
ずっと困ってんです
0216デフォルトの名無しさん
NGNG0217デフォルトの名無しさん
NGNG>>213
馬鹿ですいません
209のプログラムでできたんで大丈夫です
209の方本当にありがとうございました
0218デフォルトの名無しさん
NGNG授業とる?????
0220デフォルトの名無しさん
NGNGあんな玄人丸出しのプログラムソースを見れば
教授だってプログラムについて質問したくなるぞ?大丈夫か
0221209
NGNGちょっとうれしい。
0222デフォルトの名無しさん
NGNG中学、高校だと興味なくてもとにかくやらされる場合が多いから・・・それか?
0223デフォルトの名無しさん
NGNG0224デフォルトの名無しさん
NGNG教授「お前、2chの宿題スレで答えてもらっただろ!!」
こういうオチが待ってる
0225デフォルトの名無しさん
NGNG0226教授
NGNG0227デフォルトの名無しさん
NGNG0228デフォルトの名無しさん
NGNGホントダ
0229デフォルトの名無しさん
NGNGCに改行の概念は無い
0230デフォルトの名無しさん
NGNGどーしても返り値にしたいならこんな感じ。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=130
0231デフォルトの名無しさん
NGNG#include <gmp.h>
void bignumadd(mpz_t result, mpz_t a, mpz_t b)
{
mpz_add(result, a, b);
}
int main(void)
{
mpz_t d, e, f;
mpz_init_set_str(d, "1000000000000", 10);
mpz_init_set_str(e, "2000000000000", 10);
mpz_init(f);
bignumadd(f, d, e);
mpz_out_str(stdout, 10, f);
printf("\n");
mpz_clear(d);
mpz_clear(e);
mpz_clear(f);
return 0;
}
0232某教授
NGNG君らには単位を認めない
0233デフォルトの名無しさん
NGNG全くけしからん…
君にはテニュアを認めない
0234デフォルトの名無しさん
NGNG0235デフォルトの名無しさん
NGNG0236デフォルトの名無しさん
NGNG削除されるべき単語が削除されずにそのまま出力されるんですよ。
だからその削除する部分の記述が間違っているのかなと思ってここにきました
0237デフォルトの名無しさん
NGNGがんばって理解したいと思います
0238デフォルトの名無しさん
NGNGうちのプログラム演習の担当は教授だよ、パソコン苦手な電磁気学の教授
0239デフォルトの名無しさん
NGNGそれを用いて20以下の乱数で求まった長さの*線を10本引いて終了する。
これが今日の授業の演習だったのですが全部できませんでした。
#include <stdio.h>
#include <stdlib.h>
int f(int a);
void main ()
{
int a,b,c;
for(c=0;c<10;c++)
a=rand()%21;
b=f(a);
if (b==1) printf("\n");
}
int f(int a)
{
int d;
for(d=0;d<a;d++)
printf("*");
return 1;
}
これが自分の限界ですた。ちなみに*は一行しか表示されません・・・
最初ビルドした時戻り値どうこうと出てきたのでワケも解らずreturnで1を戻しています。
タスケテー
0240デフォルトの名無しさん
NGNGfor(c=0;c<10;c++)
a=rand()%21;
↑
forループはこれしかやらないよ
0241デフォルトの名無しさん
NGNG0242デフォルトの名無しさん
NGNG初心者のうちはif, forなどの後は必ずブロックにしておくことを激しくお勧めしておく。
省略していいのは、自分が絶対ミスをしないと確信が持てる香具師だけだ。
#include <stdio.h>
#include <stdlib.h>
void f(int a);
int main()
{
int a;
int ic;
for(ic = 0; ic < 10; ic++) {
a = rand() % 21;
f(a);
putchar('\n');
return EXIT_SUCCESS;
}
void f(int a)
{
int ic;
for (ic = 0; ic < a; ic++) {
putchar('*');
}
}
0243デフォルトの名無しさん
NGNG{
while(a--) putchar('*');
}
でいいじゃん
0244デフォルトの名無しさん
NGNGでいいじゃん
0245239
NGNGとりあえず要求通りに動くようになりました。
ただ、まだvoidとかを良く解ってなかったみたいなのでもう一度勉強し直します。
if,for後は注意するようにしますです。
0246デフォルトの名無しさん
NGNG具体的な入力ファイル2つの中身と、その出力を示してください。
なるたけ小さくしたやつでね。
ここで解答してくれるような人はある意味めんどくさがりなので、
再現可能な入力を見つけるなんて面倒なだけでつまらんことはしてくれないでしょう。
>削除されるべき単語が削除されずにそのまま出力されるんですよ。
なんていうレベルのバグ報告をするやつはいますが、使えないやつと判断されます。
0247デフォルトの名無しさん
NGNG0248デフォルトの名無しさん
NGNGsprintf()を使用する事
入力文字列 AAAAAAABBBCddEEEE#####
圧縮文字列 @7A@3BC@4E@5#
わかりましぇん・・・
圧縮文字列を作るときにsprintfをすれば良いのですか?
0250デフォルトの名無しさん
NGNGdが消えるのは仕様ですか。
0251 ◆YU.vf3DFSo
NGNG@7A@3BC@2d@4E@5#
です。
0252デフォルトの名無しさん
NGNG例えば、"@7A"ならsprintf(buf,"@%d%c",7,'A')だろ?
0253デフォルトの名無しさん
NGNG入力:aab
出力:@2a@1b
みたいな感じで、膨らんでしまう場合もそのまま処理していいの?
あとsprintf()は本当に使わなきゃならんのか。
0254デフォルトの名無しさん
NGNGそれを、連続した文字列が1の時はsprintfを行わないとすれば良いのでしょうかね・・・。
>>253
一応使えという事になっています・・・。
aabの時は、@2abと表示する様です。
もちろん2文字の連続の場合は逆に大きくなってしまいますが、取りあえずはそのままで良いのかと思います。
0255デフォルトの名無しさん
NGNG#include <string.h>
int main(void){
char buf[1024], s[1024];
char *p = buf, ch, *s_cur = s;
int len;
puts("文字列:");
fgets(buf, sizeof buf, stdin);
buf[strlen(buf) - 1] = '\0';
while (*p){
len = 0;
for (ch = *p; *p == ch; p++, len++);
if (len >= 2){
sprintf(s_cur,"@%d%c", len, ch);
s_cur += 3;
} else {
*s_cur = ch;
s_cur++;
}
}
*s_cur = '\0';
puts(s);
return 0;
}
0256デフォルトの名無しさん
NGNG#include <stdio.h>
#include <string.h>
/*
* buf: 圧縮文字列が入る
* str: 入力文字列
*/
char *compress(char *buf, const char *str)
{
char *p = str;
while (p != NULL) {
int c = 1;
while (*p == *(p + 1)) { ++c; ++p; }
if (c == 1) sprintf(buf, "%s%c", buf, *p);
else sprintf(buf, "%s@%d%c", buf, c, *p);
++p;
}
return buf;
}
int main(void)
{
const char *input_string = "AAAAAAABBBCddEEEE#####";
char *compressed_string = malloc(strlen(input_string) * 3 + 1);
compress(compressed_string, input_string);
printf("入力文字列:%s\n圧縮文字列:%s\n", input_string, compressed_string);
free(compressed_string);
return 0;
}
0257256
NGNG#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char *compress(char *buf, const char *str)
{
const char *p = str;
*buf = '\0';
while (*p != '\0') {
int c = 1;
while (*p == *(p + 1)) { ++c; ++p; }
if (c == 1) sprintf(buf, "%s%c", buf, *p);
else sprintf(buf, "%s@%d%c", buf, c, *p);
++p;
}
return buf;
}
int main(void)
{
const char *input_string = "AAAAAAABBBCddEEEE#####";
char *compressed_string = malloc(strlen(input_string) * 3 + 1);
compress(compressed_string, input_string);
printf("入力文字列:%s\n圧縮文字列:%s\n", input_string, compressed_string);
free(compressed_string);
return 0;
}
0258デフォルトの名無しさん
NGNGどうやったらいいでしょうか?
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
main()
{
int a,b,i=1;
srand(time(NULL));
a = rand()/32768.0*10.0;
for(;;){
scanf("%d",&b);
if(a == b) break;
else i++;
}
printf("%d回で当たりました。",i);
printf("%d",i);
}
0259デフォルトの名無しさん
NGNG多分時間たてばかわってると思うよ。
0260デフォルトの名無しさん
NGNGごめんなさい。うpしました。
入力ファイル(第一引数)
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1060403548&res=97
入力ファイル(第三引数)
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1060403548&res=96
出力ファイル(第二引数)
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1060403548&res=95
これだと第三引数のファイルの中の「at」しか削除されていません。
0261258
NGNGそうですか。ありがとうございました。
0262デフォルトの名無しさん
NGNGsprintf(buf, "%s@%d%c", buf, c, *p)
って大丈夫?
0264デフォルトの名無しさん
NGNG1辺100mの正方形の四隅に電柱があり
4つの電柱が全て繋がる用に電線で結んだ場合の
最短距離を出力せよ
○ ○
○ ○
0265デフォルトの名無しさん
NGNG2*100*2^{1/2}
0266デフォルトの名無しさん
NGNG100*3^{1/2}+50
0267デフォルトの名無しさん
NGNG約282
0269266
NGNG○――――○ ∠ABC=120゚
|`、 / |
| `、__/ |
| /B `、 |
| / `、|
○――――○
C
最短はこうだと思うんだが。
プログラムでこれを見つける方法っていうなら、俺にはわからん。
逆に教えてほしい。
0271デフォルトの名無しさん
NGNG0272デフォルトの名無しさん
NGNG2chのノリだなぁと感じたっけな
0273デフォルトの名無しさん
NGNGああ、そうだな。
0274デフォルトの名無しさん
NGNGint main(void)
{
int i;
float k;
k=11/12;
for(i=0;i<=4;i++){
if(i<=2){
k=k+2*(i+1);
}
else{
k=k-i;
}
}
printf(" kの値は、%d",k);
return(0);
}
をコンパイルしようとおもってもイレギュラーキャラクターと返ってきます。
どうしれば正しくコンパイルできますか?
0275デフォルトの名無しさん
NGNGint main(void)
{
int i;
float k;
k=11/12;
for(i=0;i<=4;i++){
if(i<=2){
k=k+2*(i+1);
}
else{
k=k-i;
}
}
printf(" kの値は、%d",k);
return(0);
}
0276266
NGNG269の形状を前提にしていいのなら簡単だが。
ニュートン法は他の人に任せます。
#include <stdio.h>
#include <math.h>
double length( double CAB ) { return 50 / cos( CAB ) * 4 + ( 100 - 50 * tan( CAB ) * 2 ); }
// 角CABをCAB_min[rad]〜CAB_max[rad]の範囲をdiv等分して、最短になる角CABを探す
double find_min( double CAB_min, double CAB_max, int div ) {
double CAB_at_min = CAB_max, densen_min = length( CAB_at_min );
for( int i = 0 ; i < div ; ++ i )
{
double CAB = ( CAB_max * i + CAB_min * ( div - i ) ) / div, densen = length( CAB );
if ( densen < densen_min )
CAB_at_min = CAB, densen_min = densen;
}
return CAB_at_min;
}
int main() {
const double PI = 4 * atan( 1 );
double CAB_min = 0, CAB_range = PI / 4; // CABの範囲は0〜90度
while( CAB_range > 0.000001 * PI / 180 ) { // 百万分の1度の精度になるまで繰り返す
double CAB_at_min = find_min( CAB_min, CAB_min + CAB_range, 10 ); // 範囲を10等分して探す
printf( "CAB=%f[deg]\tlength=%f[m]\n", CAB_at_min * 180 / PI, length( CAB_at_min ) );
CAB_range /= 5; CAB_min = CAB_at_min - CAB_range / 2; // 探した分解能まで範囲を狭める
}
return 0;
}
0277デフォルトの名無しさん
NGNGifの閉じ括弧の後ろに全角スペースが入ってる。消せばおけ。
0278デフォルトの名無しさん
NGNGif((fp0 = fopen(argv[3],"r")) != NULL){
int m;
char *p_key;
for(m=0; m<571; m++){
if((fgets(k[m],571,fp0))==NULL) break;
if(p_key = strchr(k[m], '\n')) *p_key = '\0';
printf("[%s]\n", k[m]);
}
}
0279278
NGNG> printf("[%s]\n", k[m]);
0281デフォルトの名無しさん
NGNG合掌を2chのノリ??
合掌や南無は,インターネットが流行る以前,つーか紙媒体でも,
ありふれた結語だったぞ???
0282デフォルトの名無しさん
NGNGそうだな。>>272は面白いことを言う御仁。
0283デフォルトの名無しさん
NGNG返す関数を作成せよ。 ただしmain関数では、最初に点数データを初期値代入し、関数を呼び出した後は最大点,最小点
平均点の値を出力せよ。
0284デフォルトの名無しさん
NGNGまたそれか!
0285デフォルトの名無しさん
NGNGプログラムを完成せよ。このときの関数のプロトタイプは、
int sum_up(int n);
とする。引数として-999999999という値を渡すと、それまでの合計値を0にクリアするようにせよ。
この値は記号定数、
#define CLEAR -999999999
として、CLEARという名前で使用できるようにせよ。main()関数は以下のものを使用せよ。
int main(void)
{
int i;
sum_up(CLEAR);
for(i=0;i<=100;i++)
sum_up(i);
printf("total=%d\n", sum_up(0));
return (0);
}
0286デフォルトの名無しさん
NGNGint sum_up(int n){
static int sum;
if(n==CLEAR) sum=0;
else sum+=n;
return sum;
}
0287デフォルトの名無しさん
NGNG{ static int sum;
if(n==CLEAR) sum=0; else sum+=n;
return sum;
}
0288デフォルトの名無しさん
NGNG0289デフォルトの名無しさん
NGNG0290デフォルトの名無しさん
NGNGint sum_up(int n)
{
static int sum;
if (n == CLEAR) sum = 0;
else sum += n;
return sum;
}
0291デフォルトの名無しさん
NGNG0292デフォルトの名無しさん
NGNGint sum_up(int n)
{
static int sum;
if (n == CLEAR) sum = 0; else sum += n;
return sum;
}
0293デフォルトの名無しさん
NGNGこ、こんなに短いんですか!?
0294デフォルトの名無しさん
NGNGそうだよ。
0295デフォルトの名無しさん
NGNGそんなことはない。
0296デフォルトの名無しさん
NGNGそうかもしれない。
0297デフォルトの名無しさん
NGNGint sum_up(int n){
static int sum;
return sum=(n==CLEAR)?0:SUM+n;
}
0298デフォルトの名無しさん
NGNGそれはひみつ。
0299297
NGNG0300デフォルトの名無しさん
NGNG長くてもいいから動くのを書いてください!
0301デフォルトの名無しさん
NGNGint sum_up(int n){
static int sum;
return sum+=(n==CLEAR)?-sum:n;
}
0302デフォルトの名無しさん
NGNGっちゅーかも前は
何行くらいの関数になると思ってたのさ?
0303デフォルトの名無しさん
NGNG#include <stdio.h>
って付ければ終わりですね?
0304デフォルトの名無しさん
NGNGそうだよ。
0305デフォルトの名無しさん
NGNGそんなことはない。
0306デフォルトの名無しさん
NGNG動くだろ?
0307デフォルトの名無しさん
NGNG{
static int sum;
static int check = 0;
if (check == 1){
sum = 0;
check = 0;
}
if (n == CLEAR)
{
check = 1;
return 0;
}
else
{
sum = sum + n;
return sum;
}
}
0308デフォルトの名無しさん
NGNG>285 には
>main()関数は以下のものを使用せよ。
とあるが?
0309デフォルトの名無しさん
NGNGネタにマジレス・・・
0310デフォルトの名無しさん
NGNGきっと285のご期待に応えて長いの作ったのだと思われ
0311デフォルトの名無しさん
NGNGつっこむ所はそこぢゃない。checkを使おうが使うまいが、
どのみち初回にCLEARで呼び出さなければゴミを返す所だ(w
0312デフォルトの名無しさん
NGNGひまなんだな
0313デフォルトの名無しさん
NGNGゴミかえさないよ。
ちゃんと初期化されるもんsun
0314デフォルトの名無しさん
NGNG太陽どうかしましたか?
0315デフォルトの名無しさん
NGNGstaticな変数はゼロで初期化されるの知らないの?
0316307
NGNGint sum_up(int n)
{
static int sum;
static int check;;
if (check == 1)
{
sum = 0;
}
if (n == CLEAR)
{
check = 1;
return 0;
}
else
{
sum = sum + n;
check = 0;
return sum;
}
}
0317デフォルトの名無しさん
NGNGますますcheck要らないじゃん
0318デフォルトの名無しさん
NGNGえー文句言うばかりではあれなので、がんばってみました。
で、削除する文字列リストに改行とかが入っているからでは?
for(m=0; m<571; m++){
char buf[571] ;
if((fgets(buf,571,fp0))==NULL) break;
strcpy(k[m],strtok(buf,DELIMITER));
}
0319デフォルトの名無しさん
NGNG>315 ネタにマジレス
(316 で自己解決してしまったが...)
0320デフォルトの名無しさん
NGNG「あらゆる質問はまずすれ立てるまでもない質問はここでスレにしてください。」
って書いてあるのね・・・
0321デフォルトの名無しさん
NGNG> 合掌や南無は,インターネットが流行る以前,つーか紙媒体でも,
> ありふれた結語だったぞ???
ソースは?
0322デフォルトの名無しさん
NGNG#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include"sgl.h"
main()
{
int l,m,col1,col2,col3,col4;
double x,y,i,a,iseed;
sgl_winsize(400,400);
sgl_init();
col1=sgl_colordef("black");
col2=sgl_colordef("gold");
col3=sgl_colordef("brown");
col4=sgl_colordef("red");
sgl_pos_win(300,300);
sgl_color_background(col2);
sgl_color(col3);
sgl_disc(0,0,1.0);
printf("乱数を入力\n");
scanf("%d",&m);
printf("実行回数を入力\n");
scanf("%d",&l);
srand(m);
0323332の続き
NGNG{
x=(double)rand()/RAND_MAX;
y=sqrt(1-x*x);
a+=y;
sgl_color(col1);
sgl_circle(x,y,0.005);
}
sgl_color(col4);
sgl_line(0,a/l,1,a/l);
a=(a/l)*4;
printf("円周率の近似値は%f \nです.",a);
sgl_display();
return 0;
}
ここまで出来たのですが、さらにこれの棒グラフもあらわせと言われました。
これにどのようなプログラムを付け足したらよいでしょうか?
0324デフォルトの名無しさん
NGNG0325デフォルトの名無しさん
NGNG棒グラフをあらわすプログラムを足せばいいじゃねーか?
これ以上のことを答えるのはむずかしーわな。
きっと、独自の描画関数が用意されているんだろう。
sgl.hの中とかに…
0326デフォルトの名無しさん
NGNGsprintf(&配列[5],"%d",i)
で良いんですか?
0327デフォルトの名無しさん
NGNGかなり違う。
sprintf(書き込み対象の文字列,"%うんちゃらとか",変換対象の変数);
みたいな感じ。てういかman見れ。
0328デフォルトの名無しさん
NGNG配列ってcharの配列じゃないのか
[0]〜[4]には既に何か入っていて[5]から入れたいとか
それだったら>>326の方法であっているはずだけど
0330デフォルトの名無しさん
NGNGこの方程式を二分法で解くプログラムを作成しなさい。
いろいろ立て込んでるようですがお願いします。
0331デフォルトの名無しさん
NGNG二分法って何(調べりゃ分かるけど調べない)
0332デフォルトの名無しさん
NGNGe=1/1?
0333デフォルトの名無しさん
NGNGみようみまねで作ってみた。ちゃんと望みの関数入れてね。あと変なとこあったら指摘ヨロ
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=132
0334330
NGNG>>333さんありがとうございます、明日ガッコいって調べてみます
0335デフォルトの名無しさん
NGNG有難うございます。
0336デフォルトの名無しさん
NGNGを計算する関数プログラムを作りなさい。(u,vを引数とする)
宿題ではなく過去問です。よろしくお願いします。
0337デフォルトの名無しさん
NGNG0338デフォルトの名無しさん
NGNG0339デフォルトの名無しさん
NGNG0340デフォルトの名無しさん
NGNG説明が不足していてすみません。
またご回答有難う御座います。
0341デフォルトの名無しさん
NGNGウザい。
おまえら役に立たねぇんだよヽ(`Д´)ノ
ぐらいが丁度良い
0342デフォルトの名無しさん
NGNGをメンバーで表現する構造体を宣言され、その構造体の型を持つ変数を引数で受け取り、それらの
積(複素数)を返却値で戻されよ。ただしmain関数では最初に2つの複素数に適当な値を与え
2つの複素数と積の値を出力せよ
0343デフォルトの名無しさん
NGNG#include<iostream>
#include<vector>
#include<numeric>
#include<algorithm>
#include<iterator>
using namespace std;
// 336によるとu,vは要素数2限定、らしい
template <typename T>
T Inner( const vector<T> &u, const vector<T> &v ) {
return inner_product( u.begin( ), u.end( ), v.begin( ), 0 );
}
// テスト。
int main() {
int U[]={1,2}, V[]={3,4};
vector<int> u, v;
copy( U, U+2, back_inserter( u ));
copy( V, V+2, back_inserter( v ));
cout << Inner( u, v ) << endl;
}
0344デフォルトの名無しさん
NGNGまた、それらの和も出力しなさい。
お願いします。
0345デフォルトの名無しさん
NGNG// 意図的にバグを入れているので注意。
#include<iostream>
using namespace std;
int main(){
int primes[] = { 2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,91,97 };
int sum, i;
for( i=0,sum=0; i<sizeof(primes)/sizeof(primes[0]); ++i ) {
cout << primes[i] << endl;
sum += primes[i];
}
cout << "SUM = " << sum << endl;
}
0346デフォルトの名無しさん
NGNG#include<stdio.h>
#include<math.h>
struct complex{double re;double im;};
complex mul(complex lhs,complex rhs)
{
complex ans;
ans.re = lhs.re*rhs.re - lhs.im*rhs.im;
ans.im = lhs.re*rhs.im + lhs.im*rhs.re;
return ans;
}
complex input(void)
{
char buf[256];
complex ret;
printf("Input Real:");
ret.re = atof(fgets(buf,sizeof(buf),stdin));
printf("Input Imaginary:");
ret.im = atof(fgets(buf,sizeof(buf),stdin));
return ret;
}
int main()
{
complex a,b,c;
a = input();
b = input();
c = mul(a,b);
printf("%f%+fi * %f%+fi = %f%+fi\n",a.re,a.im,b.re,b.im,c.re,c.im);
return 0;
}
0347デフォルトの名無しさん
NGNG0348デフォルトの名無しさん
NGNG素数は求めなくていいのかよっ
0349デフォルトの名無しさん
NGNG0350デフォルトの名無しさん
NGNG課題全文掛けよ
0351デフォルトの名無しさん
NGNG指定が無ければどっちで書いてもいいんじゃない?
0352デフォルトの名無しさん
NGNGlogN
0353345
NGNG出力しろ、とはあるけれど、求めよ、ではないし。
0354デフォルトの名無しさん
NGNG最大値と最小値を計算し、
またその最大値、最小値が入力された順番を表示するプログラム
�A2つの正数m、nの最大公約数を計算する関数
int gcd (int n, int m)
を書きなさい
よろkしくおねがいします。
0355デフォルトの名無しさん
NGNG#include <stdio.h>
int main(void)
{
int i,j;
for (i=2;i<=100;i++) for(j=2; j<i,i%j!=0; j++)if (j==i-1) printf("%d\n", i);
return 0;
}
0356デフォルトの名無しさん
NGNG2、どっちか。
int gcd(int m,int n){
if (n==0) return m;
else return gcd(n, m % n);
}
int gcd(int m, int n){
int t;
while (n != 0){
t = m; m = n; n = t % n;
}
return m;
}
0357356
NGNG0358デフォルトの名無しさん
NGNG頼んでる身分でさぁ誤字あったら訂正しろや
0359デフォルトの名無しさん
NGNG#include <stdio.h>
int main(void)
{
int x, max = -1, max_i = -1, min = -1, min_i = -1, i;
for (i=1;;i++){
printf("x >> "); scanf("%d", &x);
if (x < 0) break;
if (i==1){
max = x; min = x; max_i = 1; min_i = 1;
}
if (x > max){
max = x; max_i = i;
}
if (x < min){
min = x; min_i = i;
}
}
printf("max = %d(%d番目) min = %d(%d番目)\n", max, max_i, min, min_i);
return 0;
}
0360デフォルトの名無しさん
NGNGそれは完全二分木の場合
0362デフォルトの名無しさん
NGNG二分探査でたどるごとにカウントしていけばよかろう
終了
0363デフォルトの名無しさん
NGNGtypedef struct _node{
struct _node *left;
struct _node *right;
void *data;
}node;
typedef {
node *root;
int max_height;
} binary_tree;
int getMaxHeight(binary_tree *bt){
return bt->max_height;
}
0364デフォルトの名無しさん
NGNG○typedef struct {
0365デフォルトの名無しさん
NGNGint r = (root->right == NULL ? 0 : length(root->right));
int l = (root->left == NULL ? 0 : length(root->left));
return max(r, l) + 1;
}
ニュアンス的にはこんな感じ。
0366デフォルトの名無しさん
NGNG文字列のファイル入出力プログラムをつくりなさい。
(fprint,fscanf版 と fread,fwrite版)
よろしくお願いします。
0367デフォルトの名無しさん
NGNGfread と fwrite が
ファイル入出力プログラムそのものですよ?
0368教えてください
NGNGhttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1088343818
0369デフォルトの名無しさん
NGNG0370デフォルトの名無しさん
NGNG前に見た課題だな。
0371デフォルトの名無しさん
NGNG回答は>>59-60
ちったぁ過去ログ参照セい
0372デフォルトの名無しさん
NGNGどうすれば1.0000…になるのでしょうか?
同様にsin(180)は0、sin(270)は-1という結果を出したいのですが・・・。
0373デフォルトの名無しさん
NGNG0374デフォルトの名無しさん
NGNGラジアンですよ
0375デフォルトの名無しさん
NGNG0376372
NGNGありがとうございます
できました〜(*´Д`)
0377デフォルトの名無しさん
NGNG関数max2を使って、3個の整数を読み込んで、最大値、最小値を
表示するプログラミングを作りなさい。
お願いします
0378デフォルトの名無しさん
NGNGmax2を使わなきゃならんのか
0379デフォルトの名無しさん
NGNGreturn (a > b) ? a: b;
}
0380デフォルトの名無しさん
NGNGあとは任せた↓
0381デフォルトの名無しさん
NGNG0382教えてください
NGNG54は私です。59,60のプログラムは難しくて分かりませんでした。
0383デフォルトの名無しさん
NGNGint min3( int a, int b, int c ) { return -max3( -a, -b, -c ); }
こうかな?
0384デフォルトの名無しさん
NGNG#include <stdio.h>
int max2(int a, int b)
{
return (a > b) ? a : b;
}
int main(void)
{
int x, y, z, min;
printf("x y z:"); scanf("%d%d%d",&x,&y,&z);
printf("最大値:%d", max2(max2(x,y), z));
printf("最小値:%d", -max2(max2(-x,-y), -z));
return 0;
}
0385382
NGNGhttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1088343818
どこがおかしいのか教えてください
0386デフォルトの名無しさん
NGNGなるほど、マイナスか・・・
勉強になった
0387デフォルトの名無しさん
NGNG0389デフォルトの名無しさん
NGNGなんつーか……、課題よく読みなおした方がいいぞ。
おまいさんのプログラムだと、読み出した値そのままで最大最小平均取ってる。
読み出した値から測定値に戻す作業せんと。
0390382
NGNG/*data.txt の内容を読み込み、個数、最小値、最大値、実際の測定値を求める
部分*/
に、読み出した値から測定値に戻す作業
追加すればいいんですか?
でも具体的にどうすればいいかわかりません…
2進数直して上位8ビットに256を掛けてやつと下位8ビットの和
からoffsetを引いて100で割ると測定値になるんですが、
???です???
0391デフォルトの名無しさん
NGNG子 % を使わずに作成し、その動作を確かめなさい。ただし、この関数では
再帰呼び出しを用いること。
という宿題が出たのですが、%無しで余りを出すやり方がわからず再帰呼び出しというのもあまりわかってないです・・・。
解答のほうよろしくお願いします。
0392デフォルトの名無しさん
NGNG0393デフォルトの名無しさん
NGNGint amari(int a, int b)
{
if(a>b){
a-=b;
amari(a,b);
}else if(a==b){
return 0;
}else{
return a;
}
}
int main(void)
{
int a,b;
printf("a=");
scanf("%d",&a);
printf("b=");
scanf("%d",&b);
printf("a/bの余りは%d\n",amari(a,b));
return 0;
}
0394デフォルトの名無しさん
NGNGint minus(int a,int b){
if(a < b)return a;
return minus(a - b ,b);
}
0395デフォルトの名無しさん
NGNG演算結果をテキストファイル(data.txt)で
出力するにはどうしたらいいんですか?
0396デフォルトの名無しさん
NGNG^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
0397デフォルトの名無しさん
NGNGそれはわかってるんです・・・
プログラム自体でdata.txtのファイルを作る方法を。
0398デフォルトの名無しさん
NGNG(・3・)アルェー
b=0と負値の入力はぼるじょあ的処理系依存ですYO!
>>393 >>394
(・3・)アルェー
せめて,これぐらい頭をヒネってくださいYO!
負値入力されると,困っちゃいますYO!
#include <stdlib.h>
int amari(int a, int b){
if(!b) a/=b;
b=abs(b); a=abs(a);
if( a>b ) a=amari(a,2*b);
return a>=b?(a-b):a;
}
0399デフォルトの名無しさん
NGNGCなら
int val=0;
FILE *fp=fopen("data.txt","w");
fprintf(fp,"演算結果%d",val);
fcolse(fp);
0400397
NGNGありがとうございます
0401391
NGNGありがとうございましたーm(._.)m
0402デフォルトの名無しさん
NGNG一応念のために言っておくが、剰余演算子(%)がなくても
普通はもっと簡単に求められる。
例えば負の値を扱わないでよければこれだけ。
int amari(int a, int b) {return a - (a / b) * b;}
0403デフォルトの名無しさん
NGNGdivを使えばもっと簡単。
0404403
NGNG0405デフォルトの名無しさん
NGNGf(x)=xの三乗の定積分を台形則により求めるプログラムを作れという課題が出ました。
言語はCです。よろしくお願いします。
0406へぼプログラマー
NGNG宿題は少し自分で考えろ。全部丸投げはおのれのためにならんぞ!
こういう風に考えたけどどうか?とか少しは自分の考えを述べる!
0407デフォルトの名無しさん
NGNGスレ違い
0408デフォルトの名無しさん
NGNGいいこと言っていると思う。
宿題回答するだけじゃ一方通行だし。
ソースを評価しあうみたいなこともできるじゃん。
0409デフォルトの名無しさん
NGNGそういうやつらをさらにスポイルすることを目的としたやつらが集うスレ
0410デフォルトの名無しさん
NGNG0411デフォルトの名無しさん
NGNG0412デフォルトの名無しさん
NGNGこれでいいのかな。
http://up.nm78.com/data/up034761.lzh
0413デフォルトの名無しさん
NGNG0414デフォルトの名無しさん
NGNGaからbまでの区間を求めたいんだったら
h=(b−a)/mとすると
∫aからb f(x)dx= h { 1/2 (f(a)+f(b)) + f(a+h)+f(a+2h)+・・・+ f( a + (n-1)h ) }
って感じで…
0415デフォルトの名無しさん
NGNGその辺の香具師にスキル付けられて食いはぐれないように、
宿題丸投げしてくる普通の香具師に、いかにスキルを付けさせないか企むスレッドです。
0416デフォルトの名無しさん
NGNG0417デフォルトの名無しさん
NGNGじゃあ、おまえが答えてやれよ。
俺わかんねーもん。
0418405
NGNGa,b,分割点数nを入力して、f(x)=xの三乗の定積分∫aからb f(x)dxを台形則により求めるプログラムを作れ
414さんの言うように、a,b区間をn個の台形に分割して、各台形の面積を合計する、という方法でやります。
∫aからb f(x)dx= h { 1/2 (f(a)+f(b)) + f(a+h)+f(a+2h)+・・・+ f( a + (n-1)h ) }
今自分も友達とやっているのですが、この式が使えそうです。
どなたか解ける方がいましたらよろしくお願いします。
0419デフォルトの名無しさん
NGNG調べてやったからやれや!
http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&oe=UTF-8&q=%E5%8F%B0%E5%BD%A2%E5%89%87
0420デフォルトの名無しさん
NGNG0421385
NGNGどなたか訂正したソースお願いしますm(__)m
0422デフォルトの名無しさん
NGNG0423デフォルトの名無しさん
NGNG>>420ちゃんがいいソースもってきたからさぁ
double snx(double x)
{
return sin(x);
}
のぶぶんをさ
double snx(double x)
{
return x*x*x;
}
とするとイイイヨ
0424デフォルトの名無しさん
NGNG0425デフォルトの名無しさん
NGNG10個の荷物があります。大きさはそれぞれ以下の通りです。
荷物番号 大きさ
0 3111
1 121
2 1651
3 3748
4 1520
5 4552
6 2883
7 825
8 4839
9 2151
この荷物を容量が10000のナップザックに出来るだけ隙間なく詰めます。
定量的には、荷物の大きさの和が10000以下になる組み合わせのうち 最大になる荷物の組み合わせを求めます。
1)10個の荷物の中で、大きさが3000以下かつその中で最大の荷物を見つけ出し、 その番号と大きさを表示するプログラムを書け。
2)10個の荷物のうち、いくつかの番号を入力し、 入力された番号の荷物のそれぞれの大きさと合計を表示するプログラムを書け。
3)荷物の組み合わせを全て表示するプログラムを書け。 (表示方法は荷物番号だけでよい。) また、表示は膨大な量になるので、提出する場合は一部だけでよい。
4)以上に基づいて(別に基づかなくても良いが) ナップザック問題を解き、正解の組み合わせと大きさの合計を表示する プログラムを書け。
よろしくお願いします。
0426デフォルトの名無しさん
NGNG(ノードに割り当てられたメモリを解放することを忘れないように)
この問題をC言語で解いてくださいお願いします。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1060403548&res=98
0427デフォルトの名無しさん
NGNGまずはアルゴリズムの本を繙こうね♪
0428デフォルトの名無しさん
NGNGfor(i=0;i<10;i++){
if(nimotsu[i]<=3000 && nimotsu > box){
box = nimotsu
j = i
}
}
printf("番号%d大きさ%d\n", j, nimotsu[j])
これでがんばれ
このままじゃコンパイルできないからね
0429デフォルトの名無しさん
NGNG0430デフォルトの名無しさん
NGNGわざとバグのあるプログラムをうぷしてやればいいんだよ
0431デフォルトの名無しさん
NGNGshort型データn体を扱うメモリ領域を確保する。
nはプログラム開始時キーボードから入力する。
また、確保した領域は全て0で初期化すること。
0432425
NGNGありがとうございます。助かります。
0433デフォルトの名無しさん
NGNG#include <stdlib.h>
#include <stdio.h>
main()
{
void *mem;
int size;
scanf("%d", &n);
mem = calloc(n, sizeof(short));
}
0434デフォルトの名無しさん
NGNG#include <stdlib.h>
#include <stdio.h>
main()
{
void *mem;
int size;
scanf("%d", &size);
mem = calloc(size, sizeof(short));
}
0435デフォルトの名無しさん
NGNGお早い解答ありがとうございます。
0436385
NGNGわかりません(++)
助けて下さいm(__)m
0437デフォルトの名無しさん
NGNGの発展系
次の構造体データをn体扱うプログラム。
nはプログラム開始後入力するものとする。
構造体 enemy_dat
メンバ short型 id;
char型 level;
int型 hp;
char型 pow;
なお、領域確保後idには0〜hまでの
通し番号をその他は全て0で初期化すること。
今学校でやってます。
お暇ならでしたらやってみてください。
先輩方の解答もぜひとも参考にしたいのです。
0438デフォルトの名無しさん
NGNG#include <vector>
typedef struct enemy_dat{
shortid;
charlevel;
inthp;
charpow;
}EnemyDat;
using namespace std;
vector<EnemyDat> Enemy;
int main(void){
EnemyDat init_dat;
int vol;
memset(&init_dat, 0, sizeof(EnemyDat));
cout <<"確保する数を入力\n"<<endl;
cin >> vol;
Enemy.assign(vol, init_dat);
vector<EnemyDat>::iterator it;
int i=0;
for(it = Enemy.begin(); it != Enemy.end(); it++, i++)it->id=i;
return 0;
}
0439デフォルトの名無しさん
NGNG#include <stdlib.h>
#include <stdio.h>
typedef struct _enemy_dat2
{
short id;
char level;
char pow;
int hp;
} enemy_dat;
int main(void)
{
enemy_dat* ed;
int size;
scanf("%d", &size);
ed = (enemy_dat*)calloc(size, sizeof(enemy_dat));
for (int i=0; i<size; ++ed, ++i) ed->id = i;
return 0;
}
enemy_data はアライメント考慮してメンバの位置を変えた。
0440デフォルトの名無しさん
NGNG問題3)、4)の解答。
再帰があまりスマートにかけなかったよ。
最大容量組み合わせ:9994(1, 6, 8, 9 )
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=133
0441デフォルトの名無しさん
NGNGテキスト・モードにおけるブロック崩しゲームを作成する。
・ボール:2バイトコードの「●」を使用する。色は自由。
・壁 :2バイトコードの「■」を使用する。色は自由。
・ラケット :2バイトコードで各自自由とする
下記のプリプロセッサ処理をする。
#include<stdio.h>
#include<conio.h>
#include<time.h>
#include<dos.h>
#define CLS()
#define COLOR(n)
#define LOCATE()
#define CURSOLE(f)
#define FUNCTION(f)
#define SCREEN(f)
#define RIGHT
#define LEFT
その他
よろしくお願いします。
0442デフォルトの名無しさん
NGNGよっしゃあやってみるか
0443デフォルトの名無しさん
NGNG0444デフォルトの名無しさん
NGNGGP!
0445デフォルトの名無しさん
NGNG残念ながらdos.hとかconio.hというヘッダファイルはオレの環境には存在しない。
0446デフォルトの名無しさん
NGNG>#inlcude <stdio.h>
>...
C++ だろ?
0447デフォルトの名無しさん
NGNG毎回全画面書き換えればできるか
0448デフォルトの名無しさん
NGNGcstdioもあるけど
0449デフォルトの名無しさん
NGNGコンソールの行数はどうやって取得するの?
0450デフォルトの名無しさん
NGNG0451デフォルトの名無しさん
NGNG今はしらん。
0452デフォルトの名無しさん
NGNGvoid gotoxy(int x, int y);
int movetext(int left, int top, int right, int bottom, int destleft, int desttop);
0453425
NGNGほんとにありがとうございます。
0454437
NGNGC++でしょうか?
自分にはその知識がありません。
とても勉強になります。
>>439 さん
>enemy_data はアライメント考慮してメンバの位置を変えた。
学校側としてもこれが言いたいがために出した問題だったようです。
大正解、さすがです。
お二方とも、どうもありがとうございました。
0455デフォルトの名無しさん
NGNGできれば使わないでほしいです。
0456441
NGNGありがとうございます。
0457デフォルトの名無しさん
NGNG配列をポインタにより処理する課題
次のような配列xの宣言がある。
int x[8]={10,2,-3,4,55,6,-71,8};
int型へのポインタpt1,pt2を用意し、
pt1=x; pt2=x+8;
とおけば、*pt1はx[0]、*pt2はx[8]を参照する。配列xの要素を逆順に並べ替える
処理をポインタpt1,pt2を使って書け。(配列記法x[i]は使ってはならない。処理が
完了している事をprintf()により配列をプリントし提出せよ。)
0458もす
NGNG#include <stdlib.h>
#include <string.h>
#define Number 30
void DisplayStudent(struct Student*);
struct Student{ // 学生を表す構造体
char name[20];// 氏名
char sex[4];// 性別
char address[100]; // 住所
char number[10];// 出席番号
int math;// 数学の点数
int eng;// 英語の点数
int prog;// プログラミングの点数};
void main(){
int i;
struct Student *p;
struct Student student[Number]={
"セガタ サンシロウ","♂","東京都渋谷区","0000123",50,60,90,};
p = student;
for(i=0;i<Number;i++){
DisplayStudent(p+i);}
printf("構造体の大きさ:%d \n", sizeof(struct Student));
}
void DisplayStudent(struct Student* student){
printf("%s %s : 数学=%d, 英語=%d, プログラミング=%d \n", student->name, student->number,
student->math, student->eng, student->prog);}
0459デフォルトの名無しさん
NGNG例示するんなら pt2 = x+7 にするか、配列が int x[9] じゃないと。
int x[8]={10,2,-3,4,55,6,-71,8};
int *pt1 = x, *pt2 = x+7;
for (int i=0; i<4; i++) {
int tmp = *pt1;
*pt1 = *pt2;
*pt2 = tmp;
pt1++; pt2--;
}
pt1 = x;
for (int i=0; i<8; i++) {
printf("%d ", *pt1);
pt1++;
}
printf("\n");
こんな感じで。
0460もす
NGNG↑を元にしたような感じで、
例えば数学の点数を?点以上の生徒の氏名から出席番号、点数を
表示させるプログラムをお願いしたいのですが・・・
?点はキー入力でお願いいたします。どうか。
0461457
NGNG課題のプリントはミスプリントであると授業で言ってたかも
しれません。pt2=x+7と訂正していたと思います。すみません!
0462デフォルトの名無しさん
NGNG#include<cstdio>
#include<algorithm>
using namespace std;
void printnum( int i ) {
printf( "%i\n", i );
}
int main( ) {
int x[8]={10,2,-3,4,55,6,-71,8}; // 良い子のみんなはx[]={...}だ!
int *pt1=x, *pt2=x+8; //良い子はx+sizeof(x)/sizeof(x[0])だ!
reverse( pt1, pt2 );
for_each( pt1, pt2, printnum );
}
0464デフォルトの名無しさん
NGNG0466デフォルトの名無しさん
NGNGはぁ?
0468デフォルトの名無しさん
NGNG問題を把握しきれてないんだろうよ、本人が(w
0469デフォルトの名無しさん
NGNG0471デフォルトの名無しさん
NGNG0472デフォルトの名無しさん
NGNGほらよ。
#include <stdio.h>
int main(){
int x[8]={10,2,-3,4,55,6,-71,8}, *pt1, *pt2;
pt1 = x; pt2 = x + 8;
while(pt1 < --pt2){
*pt1^=*pt2^=*pt1^=*pt2;
pt1++;
}
for(pt1 = pt2 = x; pt2 - pt1 < 8; pt2++)
printf("%d ", *pt2);
return 0;
}
0474デフォルトの名無しさん
NGNG0475デフォルトの名無しさん
NGNGえー。
0476デフォルトの名無しさん
NGNGあぁXORか
0477デフォルトの名無しさん
NGNG↑
こんなの提出したら挑発だと思われるだろうなw
0478デフォルトの名無しさん
NGNG0479デフォルトの名無しさん
NGNG俺、まだまだ青いなぁ。
0480デフォルトの名無しさん
NGNG0481デフォルトの名無しさん
NGNG0482デフォルトの名無しさん
NGNG確率統計^^
0483デフォルトの名無しさん
NGNG>>27
だ
0484デフォルトの名無しさん
NGNGこれいいな〜
もらっていい?
0485デフォルトの名無しさん
NGNGfor(int i=0; i<kurikaesi || x.nenryo<0; i++)とやるとiが10超えてもいつまでも繰り返してとまらなくなって困ってます。。。
問題のコードはこちら http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/file/1074774948_17/rocket.txt
0486デフォルトの名無しさん
NGNG3次元ベクトルを要素が実数の1次元配列で表すものとする。
2つの3次元ベクトルの配列を第1、第2引数として受け取り、
それぞれのベクトルの大きさを第3、第4引数に、内積を関数値として返す関数を作成する。この関数を用い2つのベクトルを入力して、それらの大きさと内積を表示せよ。
配列使って内積を出すくらいはわかるのですが、関数使うとなるとわからなくなってしまいます。出来れば解答をよろしくお願いします。
0487もす
NGNG0488デフォルトの名無しさん
NGNGソースなんか要らなかったな。for の中よく見れ。よーーく見れ。
0489デフォルトの名無しさん
NGNG>>459
0490デフォルトの名無しさん
NGNGもしかしてfor文の繰り返し判断式は二つ以上書いてはだめってやつですか?
0491デフォルトの名無しさん
NGNG0492デフォルトの名無しさん
NGNG>配列使って内積を出すくらいはわかるのですが、
じゃぁまずそこまで書いてみれ。
>>490
ちゃうわ コンパイル通ってたらだめもへったくれもないだろ
0493デフォルトの名無しさん
NGNGもう少しがんばってみます。
0494デフォルトの名無しさん
NGNGデータを入れ替えるのではなく、
next の値を変更することにより逆順にする。
と言うんです。
すいませんがCでお願いします
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=228
0495デフォルトの名無しさん
NGNG書いてみます。慣れた人からみれば無駄に長いのでしょうが勘弁してやってください(;´Д`
#include <stdio.h>
int main(void){
int i;
double j[3],k[3],sum=0.0;
printf("2つの3次元ベクトルjとkの数値を入力しなさい\n");
for(i=0;i<3;i++){
scanf("%lf",&j[i]);
}
for(i=0;i<3;i++){
scanf("%lf",&k[i]);
}
printf("j=(%f,%f,%f)\n",j[0],j[1],j[2]);
printf("k=(%f,%f,%f)\n",k[0],k[1],k[2]);
for(i=0;i<3;i++){
sum+=j[i]*k[i];
}
printf("j×k=%f\n",sum);
return 0;
}
0496デフォルトの名無しさん
NGNG0497デフォルトの名無しさん
NGNGi が kurikaesi より小さければtrue
i が kurikaesi 以上で x.nenryo が 0より小さければtrue
i が kurikaesi 以上で x.nenryo が 0以上ならfalse
0498デフォルトの名無しさん
NGNG0499デフォルトの名無しさん
NGNGぱっと見、こういう感じかなぁ。
この関数の引数はどんな感じになるのか...
prev = NULL;
thisnode = head_of_list;
while(thisnode != NULL)
{
next_of_thisnode = thisnode->next;
thisnode->next = prev;
prev = thisnode;
thisnode = next_of_thisnode;
}
0500デフォルトの名無しさん
NGNGif(x.nenryo<0)をforの中に入れてbreakで途中で抜け出すぐらいか思いつきませんでした。
for(int i=0; i<kurikaesi; i++)の中にどのようにx.nenryo<0を入れていいか思いつきませぬ。
0501デフォルトの名無しさん
NGNGdouble s(double[], double[]);
main(略
double s(double j[], double k[]) {
int i;
double sum=0.0;
for(i=0;i<3;i++){
sum+=j[i]*k[i];
}
return sum;
}
こうするだけだよ。double[] もらって double 返す。
0502デフォルトの名無しさん
NGNGx.nenryo<0 を入れるという発想がおかしいんだぞ(できないこともないが)
if () break; なら抜ける条件、for の中なら抜けない条件だ。分かるか?
0503デフォルトの名無しさん
NGNG497見る前にレスしてしまいました。
もうすこし自力で考えます。
0504デフォルトの名無しさん
NGNGnode_t *insert_node(node_t **nd_ptrptr, int n, data_t dt)
{
node_t * nd_ptr;
node_t ** ptrptr;
ptrptr = nd_ptrptr;
while (n != 0 && *ptrptr != NULL) {
nd_ptrptr = &((*ptrptr)->next);
n--;
}
nd_ptr = new_node(dt, *ptrptr);
if (nd_ptr == NULL) return NULL;
*ptrptr = nd_ptr;
return nd_ptr;
}
これをいじってはできませんかね?
0505デフォルトの名無しさん
NGNGオイオイ,
if(条件) break; と while(条件) じゃ,条件判定論理が正反対だぞ?
判ってるのか?
if( a==0 ) break;→while(a!=0)
if( a&&b ) break;→while( !a||!b )
0506デフォルトの名無しさん
NGNGすまぬがそのソースは頭のやわらかい人に読んでもらってくらはい。
0507デフォルトの名無しさん
NGNGはいー
>>494の問題誰がお願いします。
0508デフォルトの名無しさん
NGNGwhile(i<kurikaesi && x.nenryo>0){
x.Accel(nyuryoku_hunsya);
x.Report(i+1);
i++;
}
今までのアドバイスを受けてできたのがこれですがいかがなものでしょうか。。。
0509デフォルトの名無しさん
NGNGそれだと x.nenryo == 0 でもtrueだね。
つーかforでやるんじゃなかったの?別に好き好きだけど。
0510デフォルトの名無しさん
NGNGコラコラ,逆順にするだけで新しいノード作るなよ。
node_t *reverse(node_t *node){
node_t *old_next;
node_t *new_next=NULL;
while(TRUE){
old_next=node->next;
node->next=new_next;
if( old_next==NULL ) break;
new_next=node;
node=old_next;
}
return node;
}
051183
NGNG>>85をみました。
途中にある、
switch(mm){
case 12:youbi+=30;
case 11:youbi+=31;
case 10:youbi+=30;
case 9:youbi+=31;
case 8:youbi+=31;
case 7:youbi+=30;
case 6:youbi+=31;
case 5:youbi+=30;
case 4:youbi+=31;
case 3:youbi+=feb;
case 2:youbi+=31;
}
youbi=youbi%7;
なぜこんなことをするのかがわかりません。
おえしえてください。
0512デフォルトの名無しさん
NGNGすいませんーありがとうございます。
0513デフォルトの名無しさん
NGNG君も番兵様なNULLノード作ってるやん(w
錨みたいにそこへ繋げるのね・・・
>>511
例外処理
0514デフォルトの名無しさん
NGNGfor(int i=0; i<kurikaesi; i++){
if(x.nenryo<=0){
cout << "燃料が0以下になりました\n";
break;
}
x.Accel(nyuryoku_hunsya);
x.Report(i+1);
}
for文でもう一度考え直しました。
ちょうど0ならそこで終われますがnenryoが10から-20とかになると-20と表示されてしまうのがなんとも。。
0515デフォルトの名無しさん
NGNG前月までの日数の総和を算出しているように見える。
0517510
NGNG>>504の
>node_t *insert_node(node_t **nd_ptrptr, int n, data_t dt)
>これをいじってはできませんかね?
『これを使って』と勘違い…_| ̄|●
0518516
NGNG0519デフォルトの名無しさん
NGNG0520デフォルトの名無しさん
NGNG0521デフォルトの名無しさん
NGNGif(x.nenryo>0){
x.Accel(nyuryoku_hunsya);
}
if(x.nenryo<=0){
cout << "燃料が0以下になりました\n";
break;
}
x.Report(i+1);
}
0522デフォルトの名無しさん
NGNGありがとうございますm(_ _)m
頭悪くて申し訳ないです。
0523デフォルトの名無しさん
NGNG0524デフォルトの名無しさん
NGNG再帰にしてみた。
static node_t *reverseMain(node_t *node1, node_t *node2) {
if (node1) {
node_t *nnode = node1->next;
node1->next = node2;
reverseMain(nnode, node1);
} else {
return node2;
}
}
void reverse_list(node_t **node) {
*node = reverseMain(*node, NULL);
}
0525デフォルトの名無しさん
NGNG0526デフォルトの名無しさん
NGNGあのさ、&&は思いつかなかったんか?
for (int i = 0; i < kurikaesi && x.nenryo > 0; ++i) { ... }
0527デフォルトの名無しさん
NGNGこのプログラムを改造して整数を2進数で表示したいんですが、うまくいきません。
これを完成させてくれませんか?(num:表示する数字、dnum:表示する桁数、pos:表示位置)
※numの桁数がdnumより大きい場合は、左詰で表示する。
※posの内容により左詰('L')、中央揃え('C')、右詰('R')にせよ。
確認のため、空白の代わりに"_"を表示せよ。
0528ぼるじょあ ◆yBEncckFOU
NGNG0529デフォルトの名無しさん
NGNGファイルから実数型のデータを入力し、分散を求め、ファイルに出力するプログラムを作成せよ。
提出期限は、次週の授業開始時までとする。
ただし、プログラム仕様は下記のとおり。
(1) 入力するデータの数は100個とする。
(2) 分散を求めるために、ファイルを2回読み込む方式を取れ。 (本当は配列で取っておき、計算する方が効率が良いが、 前章のファイル入出力の復習の意味
を含め、2回読み込
む方式を採用することにする)
(3) ファイルへの出力フォーマットは、下記のとおり。
平均 = 平均の計算結果
分散 = 分散の計算結果
ただし、最大値、最小値が複数存在する場合には、データ中での先頭からの番号は、 若い方にせよ。
(4) 入力ファイル名は、input.dat、出力ファイル名は、output.dat。
お願いします。
0530デフォルトの名無しさん
NGNG0531デフォルトの名無しさん
NGNG解読してもらいませんか?
さっぱり、何が書いてあるのかわからなくて、困っています。
ソース↓
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1060403548&res=101
どなたか、お願いします。
0532デフォルトの名無しさん
NGNGググれよ池沼
0533デフォルトの名無しさん
NGNGコンパイルできないコードが書かれています。
0534デフォルトの名無しさん
NGNGtest2.c 37: syntax error near 'void'
test2.c 38: syntax error near '{'
test2.c 46: 'xRe' undefined
test2.c 46: 'xIm' undefined
test2.c 47: 'xRe' undefined
test2.c 47: 'xRe' undefined
test2.c 47: 'xIm' undefined
test2.c 47: 'xIm' undefined
test2.c 48: 'xRe' undefined
test2.c 48: 'xIm' undefined
test2.c 61: 'M_PI' undefined
test2.c 61: 'M_PI' undefined
test2.c 65: 'xRe' undefined
test2.c 65: 'xIm' undefined
test2.c 66: 'xRe' undefined
test2.c 66: 'xIm' undefined
test2.c 66: 'xRe' undefined
test2.c 66: 'xRe' undefined
test2.c 66: 'xIm' undefined
0535デフォルトの名無しさん
NGNGコンパイルしたらできました。
ありがとうございます。
すいませんが
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=228
複写する関数も作ってくださいお願いします。
0536デフォルトの名無しさん
NGNGこれでどうですか?
copy_list(node_t *nd_ptr)
{
node_t * p;
data_t dt;
p = nd_ptr;>while(p != NULL){
dt = p->data;
p = p->next;
}
}
0537デフォルトの名無しさん
NGNG複写ってリストの複製を作るってこと?
node_t *duplicate_list(node_t *node) {
if (node == NULL) return NULL;
return new_node(node->data, duplicate_list(node->next));
}
0538デフォルトの名無しさん
NGNGint main(void)
{
int i=0;
int n;
int sum=1;
double totalsum=0;
printf("n=:");
scanf("%d",&n);
do{
i++;
sum*=i;
totalsum+=1.0/sum;
}while(i<n);
printf("%f,%d",totalsum,sum);
return(0);
}
n=100を代入しても計算できるようにするにはどうすればいいのですか?
0539441
NGNGどなたかC++でお願いします。
テキスト・モードにおけるブロック崩しゲームを作成する。
・ボール:2バイトコードの「●」を使用する。色は自由。
・壁 :2バイトコードの「■」を使用する。色は自由。
・ラケット :2バイトコードで各自自由とする
・ブロック :「■■■■」で1つのブロックとする
ライフ・スコアをつけ、ゲームスタート・ゲームオーバーを表示する。
下記のプリプロセッサ処理をする。
#include<stdio.h>
#include<conio.h>
#include<time.h>
#include<dos.h>
#define CLS()
#define COLOR(n)
#define LOCATE()
#define CURSOLE(f)
#define FUNCTION(f)
#define SCREEN(f)
#define RIGHT
#define LEFT
その他
よろしくお願いします。
0540537
NGNG0541デフォルトの名無しさん
NGNGオレの環境にはconio.hもdos.hもない。
0542デフォルトの名無しさん
NGNG>#inlcude <stdio.h>
>...
C++ だろ?
0543デフォルトの名無しさん
NGNGcstdioもあるけど
0544デフォルトの名無しさん
NGNGC++の標準ライブラリに.hはつかなかったはず・・・
ごめん、記憶違いかも
0545デフォルトの名無しさん
NGNG>>441-448
0546デフォルトの名無しさん
NGNG0547デフォルトの名無しさん
NGNG禿げしくデジャヴ(・∀・)帰れ!
0548デフォルトの名無しさん
NGNG>>441でも気になってたんだが
>(略)
>#define RIGHT
>#define LEFT
>その他
その他ってなんだ?
0549デフォルトの名無しさん
NGNG0550デフォルトの名無しさん
NGNGありがとうございます。
前に間違えてfor (int i = 0; i < kurikaesi || x.nenryo < 0; ++i){ とやったことがあるのですがこれだとなぜいつまでも終了しないんでしょうか。
iは繰り返しの数を超えていてx.nenryoがマイナスになっても続くのですが。。。
0551デフォルトの名無しさん
NGNG>x.nenryo < 0
燃料が0以下(マイナス)の間、ループするってことになっている
forやwhileの条件式は成立すればループするって扱い
0552デフォルトの名無しさん
NGNGそれっていつまでの宿題?
日数かかりそうだから別のスレに移動した方がよくないか?
0553デフォルトの名無しさん
NGNGあ、ほんとだ。。。
ものすごく恥ずかしいですがありがとうございました。
もう少し頭鍛えてきます。
0554デフォルトの名無しさん
NGNGCならできるけどそれではダメ?
0556デフォルトの名無しさん
NGNGすいません間違えました。7月7日までです。
0557デフォルトの名無しさん
NGNG加速度とかを良く考えないといけないから('A`)マンドクソ
0558デフォルトの名無しさん
NGNG入るかわかりません。どなたか教えていただけませんか?
#include <stdio.h>
#include <math.h>
void printArray(int array[],int num);
main()
{
FILE *fp,*wp;
int data[100],num,i,j;
int max,maxPos;
fp=fopen("num.txt","r");
if (fp==NULL){/*エラ処理*/
printf(" not exist\n ");
return 1;
}
i=0;
while(fscanf(fp,"%d",&data[i]) != EOF){
i=i+1;
}
num=i-1;
fclose(fp);
printArray(data,num);
0559デフォルトの名無しさん
NGNGmax=data[j];maxPos=j;
for(i=j;i<? ;i=i+1){
if (max < data[i]) {
max=data[? ];
maxPos=i;
}
}
data[? ]=data[j];data[j]=max;
}
printArray(data,num);
/* ファイルに保存する */
wp=fopen("numr.txt","w");
if (wp==NULL){
printf("make file error \n ");
return 1;
}
for(i=0;i<num;i++){
fprintf(wp,"%d\n",data[i]);
}
fclose(wp);
return 0;
}
void printArray(int array[],int num){
int i;
for(i=0;i<num;i=i+1)
printf("%4d",? );
printf("\n");
}
0560デフォルトの名無しさん
NGNGこれおかしくないか? num = iな気がするんだが。
max=data[i];
data[maxPos]=data[j];data[j]=max;
printf("%4d",array[i]);
0561556
NGNG壁の弾性計算とかラケットの摩擦係数とかそこまで細かく考えずに
ただ打ち返すだけのもので結構です。
0562デフォルトの名無しさん
NGNG< `∀'></*エラ処理*/
0563556
NGNG0564デフォルトの名無しさん
NGNGテトリスあるよね?
アレはブロックが落ちてくるけど逆に言うとボールが止まっている訳ね。
これで君へのレスはお姉妹。
0565デフォルトの名無しさん
NGNGありがとうございます。さっそく明日、大学でやってみます。申し訳ないんですが、for(i=j;i<? ;i=i+1) の?も教えていただけませんか?
0566デフォルトの名無しさん
NGNGキーボードから文字を読み込み格納したいのですが
どのように考えればよいでしょうか?
文字以外が入ったらその先はNULLになるようにしたいのですが。
0567デフォルトの名無しさん
NGNG実行して数値を入力し、解を求めようとするところでプログラムが落ちてしまいます
コンパイル時にエラーは出なかったのですが何か悪いところがあるのでしょうか?
ソースがちょっと長い(約60行)なので別のところに書いてアドレスを貼ります
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1060403548&res=103
ちなみにクラメールの公式について
ttp://eagle.ee.fit.ac.jp/class2003/1mathA/01/01-2.html
0568デフォルトの名無しさん
NGNG0569デフォルトの名無しさん
NGNG(1)上のプログラムを改造して、上のプログラムで切り出した単語の頻度をカウントするプログラムを作成せよ。
結果は、別のファイルへ出力すること。
・出力ファイル例:
focusing 1
intuitive 2
reasoning 1
(2)(1)でカウントした単語を頻度の多い順にソートし、ファイルへ出力するプログラムを作成せよ。
結果は、別のファイルへ出力すること。
(3)(2)を改造し、各索引語の索引語頻度([各索引語の頻度]/[文書中の索引語の最大頻度])を計算し、値の大きい順に
ファイルへ出力するプログラムを作成せよ。結果は、別のファイルへ出力すること。
0570デフォルトの名無しさん
NGNGマンドクサイというよりも、いまどきDOSプログラミングなんて環境ないし、アホラシイ。
GUIなら、それなりにやりがいもあるし、誰かやるだろうけど。
0571デフォルトの名無しさん
NGNG#define MAXN 10
for (int i=; i<=m; ++i) scanf("%d",&a[i][j])
1オリジンなんだから a[10]は範囲エラー。 a[i-1][j-1] にする。
つーかプロトタイプが main にあったり int det() の定義がおかしかったりするのによく通ったな。
0572デフォルトの名無しさん
NGNG○for (int i=1; i<=m; ++i) scanf("%d",&a[i][j])
0573デフォルトの名無しさん
NGNGブロック崩しなら七行スレにいくつかあるから
プログラムかけるんなら参考にしてみれば?
0574デフォルトの名無しさん
NGNGそれってC言語ならって半年そこらでつくれるようになるんですか、普通?
0575デフォルトの名無しさん
NGNGPartいくつかは忘れたけど過去スレ全部html化されてるっぽい。
0576デフォルトの名無しさん
NGNGパクれよ。ただしUIは自前で用意して胡麻枷
0577デフォルトの名無しさん
NGNG参考に見てみましたが、どこで改行してるのか分からないし
マクロ処理はまだならってないんです
>>576
そ、そんな
0578567
NGNGとりあえず
a[10][10]を
a[i-1][j-1]に変えてみたのですがコンパイルエラーが出てしまいました
int b[10],w[10];
int m;
main()
{
int i,j,jj[10];
int a[i-1][j-1];
int aij,bi,d,da;
このようにしたのですが
もしかして私はすごい勘違いをしていますか?
0579デフォルトの名無しさん
NGNGttp://pc2.2ch.net/test/read.cgi/tech/1033143528/337 マクロ使ってない
ttp://pc2.2ch.net/test/read.cgi/tech/1033143528/354 337の解説っぽい
0580デフォルトの名無しさん
NGNGプロトタイプ宣言がmain()の中にあるのは別におかしくないよ。
>>578
>もしかして私はすごい勘違いをしていますか?
してます。
0581579
NGNGttp://pc.2ch.net/test/read.cgi/tech/984182993/337
ttp://pc.2ch.net/test/read.cgi/tech/984182993/354
0582デフォルトの名無しさん
NGNG0583567
NGNG3元以上になるとプログラムが落ちるというわけの分からない状態なんですが
ソースミスならまったく解けないはずだし...
0584デフォルトの名無しさん
NGNGfor(i=1;i<=m;++i){
for(j=1;j<=m;++j){
printf("a(%d,%d)=",i,j);
scanf("%d",&a[i][j]);
}
ここで a[i][j] とあるが、i == 10、 j == 10 の時を考えて見れ。
>>580
main() の中だったらプロトタイプの意味ないじゃない?
0585デフォルトの名無しさん
NGNGクラメルは2次元までだったような…
3次元以上ならガウスのやつだな
0586デフォルトの名無しさん
NGNGいや、main()の中から呼ぶ関数をmain()で宣言するのは古いスタイルでCommonCではよくあった。
プロトタイプ宣言になってからは、引き数も宣言するようになったので関数外で宣言するのが当たり前になった。
0587デフォルトの名無しさん
NGNGクラメルは何次まででも使えるぞ
0588デフォルトの名無しさん
NGNGそうなんだ。解説サンクス。
0589デフォルトの名無しさん
NGNGスルーされてやんのプッ
0590デフォルトの名無しさん
NGNG課題が出たんですけどどんなのやればいいですかね?
ちなみにバネ2本つないで振動させるっていうのは駄目らしいです。
0591デフォルトの名無しさん
NGNGマルチ野郎は氏ねや
0592590
NGNG普通に何をやればいいのかわからず・・・
0593デフォルトの名無しさん
NGNGバネ3本つないで振動させる
0594デフォルトの名無しさん
NGNGそれいい。
0595デフォルトの名無しさん
NGNGどうやって文字以外をキーボードから入力するんだ?
懇切丁寧,いたせりつくせりな詳細仕様キボンヌ。
0596デフォルトの名無しさん
NGNG合計を求めるプログラムを教えてください。
Cでお願いしますm(__)m
0597デフォルトの名無しさん
NGNG#include<stdio.h>
#include<stdlib.h>
int main(int argc,char *arg[])
{
int sum=0,i=1;
while(arg[i]!=NULL){
sum=sum+atoi(arg[i]);
i++;
}
printf("合計値%d\n",sum);
return 0;
}
0598597
NGNGよきにはからえ
0599デフォルトの名無しさん
NGNGただし2人のプレイヤーが交互に座標を入力し、そのたびに
3×3の升目とこま(○×)を表示するようにする。
ヒント:3×3の整数配列を用意し、はじめは全て0で初期化
する。あとは○なら1,×なら2のように表現すればよい。
だそうです。期限が迫ってます、、どうかお力添えをお願いしたいです。Cでお願いしいます
0601デフォルトの名無しさん
NGNGその昔 X かじってたんで GUI ありで提出したイヤミな俺
0602599
NGNG0603センス無し男
NGNGint main() {
int x, y, i, k, xx, yy;
char *names[2] = { "A", "B" };
int matrix[3][3] = { { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } };
int muls[8];
int over;
int player = 0;
for (i=0; i<8; i++) {
do {
printf("%s : x 0-2, y 0-2\n", names[player]);
scanf("%d,%d", &xx, &yy);
} while ((xx < 0) || (xx > 2) || (yy < 0) || (yy > 2) || (matrix[xx][yy] != 0));
matrix[xx][yy] = player + 1;
//表示
for (y=0; y<3; y++) {
for (x=0; x<3; x++) {
printf("%d ", matrix[x][y]);
}
printf("\n");
}
//判定
for (k=0; k<8; k++) {
muls[k] = 1;
}
0604デフォルトの名無しさん
NGNGfor (x=0; x<3; x++) {
muls[y] *= matrix[x][y];
muls[3 + x] *= matrix[x][y];
if (x == y) muls[6] *= matrix[x][y];
if (x == 2 - y) muls[7] *= matrix[x][y];
}
}
over = 0;
for (k=0; k<8; k++) {
if (muls[k] == 1) {
over = 1;
break;
} else if (muls[k] == 8) {
over = 1;
break;
}
}
if (over) {
printf("%s is\n", names[player]);
break;
}
player = 1 - player;
}
}
標準で boolean てなかったっけ? for の中に変数宣言できなかったっけ?
ブロックの途中に変数宣言できなかったっけ?
などと java 漬け+無印コンパイラで右往左往する僕。
センスに欠けてるから怪しまれなくてちょうどいいんじゃないか。
0605603
NGNG0606デフォルトの名無しさん
NGNGargv[argc+1]==NULL ということはないんじゃないか?
0607デフォルトの名無しさん
NGNGおねがいします
0608デフォルトの名無しさん
NGNG0609ぼるじょあ ◆yBEncckFOU
NGNG先頭に無駄な0が表示されるけど、気にしない気にしない(・3・)
#include <stdio.h>
#include <limits.h>
int main()
{
unsigned a,b;
int i;
scanf("%x",&a);
for(b=1U<<sizeof(unsigned)*CHAR_BIT-1;b;b>>=1U)
putchar(a&b?'1':'0');
putchar('\n');
return 0;
}
0610ぼるじょあ ◆yBEncckFOU
NGNG0612デフォルトの名無しさん
NGNGyes
0613599
NGNGありがとうございます。
恩にきります!!
0614デフォルトの名無しさん
NGNG0615デフォルトの名無しさん
NGNG0616デフォルトの名無しさん
NGNG5分で終わるかもしれないし3ヶ月の案件かも知れん
0617デフォルトの名無しさん
NGNG0618デフォルトの名無しさん
NGNG誤爆(プ
0619デフォルトの名無しさん
NGNG例えばベクトルx=0,y=0,z=10と回転xziku=90,yziku=0,zziku=0を入れると、x=0,y=10,z=10が返ってくるという考えでいいのでしょうか?
0620619
NGNG0621デフォルトの名無しさん
NGNG>>604の置換 つーか >>604のアルゴリズム理解するのマンドクサー
#define comp(a,b,c) if((a)&&(a)&(b)&(c)) goto end
for(k=0;k<3;++k){
comp(matrix[k][0],matrix[k][1],matrix[k][2]);
comp(matrix[0][k],matrix[1][k],matrix[2][k]);
}
comp(matrix[0][0],matrix[1][1],matrix[2][2]);
comp(matrix[2][0],matrix[1][1],matrix[0][2]);
}
end:
printf("%s is\n", names[player]);
}
0622621
NGNG>>603もちょっぴり置き換えてみるテスト
#include <stdio.h>
int main(){
int x, y, i, k, xx, yy, player;
char *names[] = { ".", "O", "X" };
int matrix[3][3]={0};
for(i=0,player=1; i<9; ++i, player^=3){
do {
printf("%s : x 0-2, y 0-2\n", names[player]);
scanf("%d,%d", &xx, &yy);
} while ((xx < 0) || (xx > 2) || (yy < 0) || (yy > 2) || (matrix[xx][yy] != 0));
matrix[xx][yy] = player;
//表示
for (y=0; y<3; y++) {
for (x=0; x<3; x++) printf("%s", names[matrix[x][y]]);
printf("\n");
}
0623デフォルトの名無しさん
NGNGa〜bの一様乱数を生成する関数の実装部分を書く。
但し、関数名はdouble GetVal(double a,double b)
の問題なんですが、
double VRandum::GetVal(double a,double b)
{
}
この中のプログラムを教えてください、お願いします。
0624デフォルトの名無しさん
NGNG{
(*゚∀゚)=3
}
0625もす
NGNGどこに・どのようにscanfしたら良いのか分からなくなってきました。
for()の中身もなんか・・・変な風に考えて作ったら動かない・・・
(´ω`)ツマラナイ内容ですけど今一度お願いします
0626デフォルトの名無しさん
NGNG教科書読め。
0628デフォルトの名無しさん
NGNG以下の関数を付け加えれば、それなりのものができると思うが。
俺にはこれ以上何望んでるかわからんから、他にしたいことあったらもっと詳しく。
あと、作って動かないなら、晒してどうやったら動く?、と聞いた方がよいと思われるが。
void showmath(struct Student *p){
int i,point;
printf("数学の点で表示する最低を入力 =");
scanf("%d",&point);
for(i=0;i<Number;i++){
if((p+i)->math>=point){
DisplayStudent(p+i);
}
}
}
0629623
NGNG0630デフォルトの名無しさん
NGNG0631デフォルトの名無しさん
NGNG{
return rand()%2 ? a : b;
}
0632もす
NGNG有り難うございます。
ですがなぜかエラーがでたり・・。
"山田太郎","男","神奈川県横浜市","0123456",56,47,65,};
void showmath(struct Student *p){
int i,point;
printf("数学の点で表示する最低を入力 =");
scanf("%d",&point);
for(i=0;i<Number;i++){
if((p+i)->math>=point){
DisplayStudent(p+i);
}
}
}
458の続きで、↑のようにしたのですが、
プログラムの内容が理解できません。ので文字列の出力方法が分かりません。
468様のプログラムにはscanf();が見あたらないのですが、出力はされるのでしょうか?
出力=printf();しか知らないので分かりませんでした。
0633デフォルトの名無しさん
NGNG628じゃないけど下のようにすればいい。
for(i=0;i<Number;i++){
/*DisplayStudent(p+i);*/
showmath(p+i);
printf("構造体の大きさ:%d \n", sizeof(struct Student));
}
0634デフォルトの名無しさん
NGNGshowmath(p);
0635デフォルトの名無しさん
NGNGただし、文字列の先頭アドレスを引数として、文字列の長さを返す関数mylenを作り、main関数でその関数を呼び出すようにしてください。
0636628
NGNG>>634の通りです。
やっぱmain内も書いた方が良かったな…
あと、main以下に書くなら、プロトタイプ宣言忘れずに。
で、一応解説しとくわ
void show(struct Student *p){
int i,point;
printf("数学の点で表示する最低を入力 =");
scanf("%d",&point);//表示させる最低点の入力
for(i=0;i<Number;i++){ //最初から最後まで構造体をすべて調べる。
if((p+i)->math>=point){//もし、入力した点(point)より今の構造体(p+i)の数学の点((p+i)->math)が高ければ、
DisplayStudent(p+i);//DisplayStudent関数に今の構造体(p+i)のアドレスを送って、DisplayStudent関数で表示。
}
}
}
0637デフォルトの名無しさん
NGNG#include <stdio.h>
#define MAXLENGTH 30
int mylen(char *str){
int num=0;
while(*str++)num++;
return num;
}
int main(){
char str[MAXLENGTH];
printf("input string=");
scanf("%s",str);
printf("%s (length=%d)",str,mylen(str));
return 0;
}
0638デフォルトの名無しさん
NGNG#include <stdio.h>
int mylen(char *str){
int i;
for(i = 0; *(str + i); i++);
return i;
}
int main(){
char *buf[1024];
fgets(buf, sizeof(buf), stdin);
printf("%d\n", mylen(buf) - 1);
return 0;
}
0639635
NGNG0640569
NGNG0641デフォルトの名無しさん
NGNG出力例
Input a :3
Input b :5
Input c :2
Input d :3
Input e :4
Input f :2
Input g :5
Input h :3
37 21
23 13
(注意)配列を使うこと。
お願いします。
0642デフォルトの名無しさん
NGNG出力するプログラム
(ギャップは苗字と名前の間に入れ、また母音も変える。)
ex)
名前を入力してください。:T-n-k--t-r- ←Tanaka Taroを上記のギャップ変換の規則に当てはめた。
出力結果
Tnktr
0643デフォルトの名無しさん
NGNG#include <stdio.h>
int main(void)
{
char buf[256];
int i;
printf("名前を入力してください。:");
fgets(buf, 256, stdin);
for (i = 0; buf[i] != '\n' && buf[i] != '\0'; ++i)
if (buf[i] != '-') putchar(buf[i]);
return 0;
}
0644デフォルトの名無しさん
NGNG#include <stdio.h>
int main(void)
{
int A[2][2], B[2][2], C[2][2] = { {0, 0}, {0, 0} };
int i, j, k;
for (i = 0; "abcd"[i]; ++i) {
printf("Input %c :", "abcd"[i]);
scanf("%d", &A[i & 2][i & 1]);
}
for (i = 0; "efgh"[i], ++i) {
printf("Input %c :", "efgh"[i]);
scanf("%d", &B[i & 2][i & 1]);
}
for (i = 0; i < 2; ++i)
for (j = 0; j < 2; ++j)
for (k = 0; k < 2; ++k) C[i][j] += A[i][k] * B[k][j];
for (i = 0; i < 2; ++i) {
for (j = 0; j < 2; ++j) printf(" %d", C[i][j]);
puts("");
}
return 0;
}
0645デフォルトの名無しさん
NGNG#include <iostream.h>
int main(void)
{
int n ;
cout << "N="
cin >> n ;
int i;
double s = 0 ;
for( i=1 ; i =<n ; i++){
s = s + 1/i ;
}
cout << "S(N)=" << s << endl ;
return 0 ;
}
↑こんな感じで作った場合、入力するnが大きな数になったときに
予想される制度上の問題点について述べなさいという問題なんですが
さっぱりわかりません。よろしくお願いします。
0646デフォルトの名無しさん
NGNGiがintegerなら限界があるだろ。
nが22億強の値なら無限ループするよ。
それが問題なんでは…?
0647デフォルトの名無しさん
NGNGi =<nはやめれ。
0648デフォルトの名無しさん
NGNGありがとうございます。
このプログラムのnが大きくなったときの精度はどうなるのでしょうか?
nを22億より大きくするまでは正しく出力されるということでしょうか?
0650デフォルトの名無しさん
NGNG0651デフォルトの名無しさん
NGNG0652デフォルトの名無しさん
NGNGあと、s=s+1/iで、1/iは(double)1/iとキャストしてないと浮動小数点にならない(@VC++.net)
ついでに、<iostream>でusing namespace std;使った方がいいと思われ。
文法についてばっかでスマン。
0653646
NGNGすまん。酔ってるんで適当にかいてしまった。
コンパイラによるがまあ32bitで
単なるint型なら0x7FFFFFFFが最大値。
これを越えた値を入力してみればすぐ問題がわかるよ…。
0654デフォルトの名無しさん
NGNG0655デフォルトの名無しさん
NGNG浮動小数点同士の足し算がどうなってるのかを考えないと駄目なんだけど、
例として、浮動小数点の精度を5桁とした場合で説明する。
2つの値 1.234e2 と 1.1111e-3 を足すことを考えた場合、
2つの値の桁をあわせてから足すことになる。
1.234e2 + 0.000011111e2
このとき、精度5桁だから、
1.234e2 + 0.0000e2
になっちゃって、 1.1111e-3 が足されなくなってしまう。
要するに、大きな数と小さな数を足す(引く)と、
小さい方の数字が意味を成さなくなっちゃう。
級数の和を計算するプログラムでは、
s = s + 1/i;
で 1/i の値が小さくなってくるとこの問題の関係で s の値が更新されなくなる。
0656デフォルトの名無しさん
NGNG0657デフォルトの名無しさん
NGNGnの値以前に文法がなってない…。
これってコンパイルしてないだろ。
0658デフォルトの名無しさん
NGNG(3)が意味不明。
0659645
NGNGありがとうございます。
浮動小数点について調べてみます。
>>657
すいません。本当は虫食いプログラムを完成させる問題+精度の問題です。
プログラムを実行する環境が今整っていなくて
単に紙に書くだけだったので間違えがあったんだと思います。
0660デフォルトの名無しさん
NGNGありがとうございます!
0661デフォルトの名無しさん
NGNG~~
無しでもいいですか?
0662デフォルトの名無しさん
NGNGiostreah
0663デフォルトの名無しさん
NGNGあの昨日も書き込んだんですけど、マルチ野郎とかじゃないんで本気で教えてください。
微分方程式を必ず使ったC言語のプログラミングをするという課題です。
あまりに簡単なのは駄目らしいです。
ばね2本や3本の単振動とかは駄目っぽいです。
100本くらいならいいらしいんですけど。
簡単なのでいいので教えてください。お願いします。
0664デフォルトの名無しさん
NGNG0665デフォルトの名無しさん
NGNG1.普通の計算式の構文を解析する。
2.並び替えて文字列化して出力。
0666デフォルトの名無しさん
NGNGぐぐったら出てくるって。
06671/2
NGNGconst char* e(const char* p);
void put(const char* p, int len)
{ printf(" %.*s", len, p); }
void err()
{printf("error");
exit(-1);
}
const char* f(const char*p)
{if ( isdigit(*p) ) {
int l = 0;
while ( isdigit(p[++l]) ) ;
put(p, l);
p += l;
} else if (*p=='(') {
p = e(p+1);
if (*p!=')')
err();
++p;
}
else
err();
return p;
}
06682/2
NGNG{char op;
p = f(p);
while (op=*p, op=='*'||op=='/') {
p = f(++p);
put(&op, 1);
}
return p;
}
const char* e(const char* p)
{char op;
p = t(p);
while (op=*p, op=='+'||op=='-') {
p = t(++p);
put(&op, 1);
}
return p;
}
main()
{char s[256];
fgets(s, 256, stdin);
e(s);
}
0669デフォルトの名無しさん
NGNG> {char op;
> p = f(p);
> while (op=*p, op=='*'||op=='/') {
> p = f(++p);
> put(&op, 1);
> }
> return p;
> }
>
> const char* e(const char* p)
> {char op;
> p = t(p);
> while (op=*p, op=='+'||op=='-') {
> p = t(++p);
> put(&op, 1);
> }
> return p;
> }
>
> main()
> {char s[256];
> fgets(s, 256, stdin);
> e(s);
> }
0670デフォルトの名無しさん
NGNG0671デフォルトの名無しさん
NGNGかなり適当。間違った入力はしないように(w
#include <stdio.h>
#include <string.h>
int nextop() {
int c;
while (c = getchar()) {
if (isdigit(c)) { putchar(c);
} else if (strchr("+-*/()", c)) { putchar(' '); return c;
} else if (strchr(" \t", c)){
} else { return 0; }
}
}
int main() {
int n, opl=1, op;
char ops[256] = {'\0'}, s[128] = {'\0'};
s['-'] = 2; s['+'] = 2; s['*'] = 3; s['/'] = 3; s['('] = 4; s[')'] = 1;
while (op = nextop()) {
while (s[ops[opl-1]] >= s[op]) {
if (ops[opl-1] == '(') {
if (op == ')') opl--;
break;
}
printf(" %c ", ops[--opl]);
}
if (op != ')') ops[opl++] = op;
}
while (ops[--opl] != '\0') printf(" %c ", ops[opl]);
putchar('\n');
return 0;
}
0672デフォルトの名無しさん
NGNGじゃなくて
for (;;) { c=getchar();
だたよ。
0673デフォルトの名無しさん
NGNG入力した数値は xx です.これでよろしいですか?(y/n)
と尋ね,n が選択された場合には,再び整数の入力を促すというプログラム
をどなたかつくってください(´・ω・`)
0674デフォルトの名無しさん
NGNGゴメン
単純過ぎてボケが思いつかなかったよ…
0675デフォルトの名無しさん
NGNGちょっとは自分で考えた?
0676デフォルトの名無しさん
NGNGint main(){
int n;
char c='n';
while(c!='y'){
printf("整数を入力してください >");
scanf(" %d",&n);
printf("入力した数値は %d です.これでよろしいですか?(y/n)",n);
scanf(" %c",&c);
}
return 0;
}
0677デフォルトの名無しさん
NGNG兄さん
scanf(" %c",&c);
は
scanf("%c%c",&ans,&ans);
にしたほうがいいかも。
久々にscanfを使った。。。
0678677
NGNGansはcに修正。
自分で作ってみたやつの変数名を書いちゃった
(/ω\)ハズカシーィ
0679デフォルトの名無しさん
NGNGプログラムEmailアドレス+70.cppをディレクトリイd:\tmp\の中へ作る.
なお,ファイルdata.txtの格納場所はソースプログラムと同じ場所とする.
この課題が分かりませんorz
先生曰く簡単らしいんですが先週の講義出てなかった俺にはマジさっぱり。
単位がヤバイマジヤバイ。誰か助けてくださいorz
0680デフォルトの名無しさん
NGNG講義出てなくて単位取れないのなら自分のせいだろ。あきらめろ。
0681673
NGNG0682デフォルトの名無しさん
NGNG>+1改行
>答え+2改行
>答え-5改行
>答え‥‥
のように、符号付きで数値を入力すると,答が逐次表示される
プログラムを無限ループを使って作って下さい(電卓風のプログラム)。
という問題なのですが、さっぱり分かりません。whileやdo whileを使うみたい
なんですが、、、。
あと、main関数の型はvoid型でお願いします。
0683デフォルトの名無しさん
NGNGint main(){
int a,b=0;
while(1){
scanf(" %d",&a);
b=b+a;
printf("%d",b);
}
return 0;
}
0684デフォルトの名無しさん
NGNG#include <stdio.h>
#include <stdlib.h>
void main() {
int i;
char buf[256];
int z = 0;
while (true) {
scanf("%s", buf);
i = atoi(buf+1);
switch (buf[0]) {
case '+' : z += i; break;
case '-' : z -= i; break;
case '*' : z *= i; break;
case '/' : z /= i; break;
}
printf("%d", z);
}
}
0685デフォルトの名無しさん
NGNGただし、arrayname[]の記法、*(pointer+i)の記法、*(arrayname+i)の記法を使ってみること。
(できる限り関数を用い、引数の書き方を理解すること。表示の仕方は自由)
乱数は作れるんですが、ただし書きのところがうまくいきません。
あまり理解ができていないのが現状ですが・・・
よろしくお願いします。
0686デフォルトの名無しさん
NGNG{
for(int i=0;i<size;i++)printf("%d\n",*(arrayname+i));
}
0687デフォルトの名無しさん
NGNG上のRC回路でスイッチを入れた後のコンデンサCの電圧変化をRunge−Kutta法を用いて解くこと。但し、C=1μH、R=1kΩ、E=1Vとする。また、スイッチを入れた後の経過時間(t)をms(=10−3秒)で計るとする。コンデンサCの電圧はx=f(t)とする。
という問題なんですが、誰かやり方教えてください。
0688デフォルトの名無しさん
NGNGこのままじゃ赤点になってまう!!
二問あるけど、神な人教えて〜
1.各月の日数を格納した整数型の配列を定義してください。これを利用して、年、月、日を読み込んで、それが年の最初から何日目であるかを表示するプログラムを作成しましょう。
ただし、閏年の規則は、以下の規則で規定されるものとします。
�@西暦の年号が4で割り切れる年は閏年。
�A�@には当てはまるが、西暦が100で割り切れる年は閏年ではない。
�B�@にも�Aにも当てはまるが、西暦が400で割り切れる年は閏年。
2.1に以下の機能を追加してください。
1のデータを表示したあとに、その年のその月のカレンダーを表示する機能。カレンダーはfor文の入れ子を使用してみましょう。(使わなくてもできますが。)
その月の1日の曜日が分かれば、カレンダーを作成できます。曜日を調べるのには、以下の文をどこかに挿入してください。曜日を調べる部分は、関数にしてもかまいません。
曜日は、変数retに代入された値で分かります。次の通りです。
日曜日月曜日火曜日水曜日木曜日金曜日土曜日
0123456
int ret;
if (m == 1 || m == 2) {
y--;
m += 12;
}
ret = (y + y/4 - y/100 + y/400 + (13*m+8)/5 + d) % 7;
yは入力された年、mは入力された月,dは曜日を調べたい日です。1日の曜日を調べたいわけですから、このdには…
0689デフォルトの名無しさん
NGNG曜日は emu型で
0690デフォルトの名無しさん
NGNG#include <iostream.h>
#include <string.h>
int main(){
char **pName;
char *Name;
int n;
cout << "生徒は何人ですか?\n"; cin >> n;
for(int a = 0; a < n; a++){
for(int i = 0; i < n; i++){
pName = new char*[n];
cout << "生徒の名前を入力して下さい。 "; cin >> Name;
pName[i] = new char[strlen(Name) + 1];
strcpy(pName[i], Name);
if(pName == NULL)
return 0;
}
}
for(int i = 0; i < n; i++){
for( a = 0; a < n; a++){
cout << pName[i][a] << ', ';
}}
for(i = 0; i < n; i++)
delete[] pName[n];
delete[] pName;
return 0;
}
のプログラムなんですが、エラーで”(13) : warning C4700: 値が割り当てられていないローカルな変数 'Name' に対して参照が行われました。”
と出ました。なぜ出るのか、ネットなどで自分で調べてみたのですが、わかりませんでした。名前をいくつか入力していって、それを後でいっぺんに表示させるプログラムを
作ろうとしました。他にも色々間違ってるかも知れないので、先生方のご指導お願いします。
0691デフォルトの名無しさん
NGNGいまコンパイラないから動くか分からないけど
#include <stdio.h>
int date(int y,int m,int d){ /* 問題文にあるやつね */ }
int main()
{
int days[]={31,28,31,30,31,30,31,31,30,31,30,31};
int y,m,d;
int day;
int i,ct;
scanf("%d %d %d",&y,&m,&d);
day=d;
if((y%4)&&!(y%100)&&(y%400))days[1]++;
for(i=0;i<m;i++)day+=days[i];
printf("%d日目",day);
ct=date(y,m,d);
for(i=0;i<ct;i++)puts(" ");
for(i=0;i<days[m-1];i++){
printf(" %d",i+1);
if(++ct%7)puts("");
}
puts("");
return 0;
}
0692デフォルトの名無しさん
NGNGポインタを理解していないから。
0693デフォルトの名無しさん
NGNGchar *Name:を
char Name[256];に変える
0694デフォルトの名無しさん
NGNGstd::string使えば良さそうなのに、なぜかcharの配列を使用してたり、
不気味な二重ループとか、無意味に何回も配列を確保したり解放したりして、
奇妙なことこの上ないんだが、そもそも何を作りたいのか、が分からんのだよ。
0695デフォルトの名無しさん
NGNGx pName = new char*[n];
o Name = new char*[n];
0696デフォルトの名無しさん
NGNGif((y%4==0)&&(y%100!=0)&&(y%400==0))days[1]++;
0697デフォルトの名無しさん
NGNGご指導お願いします。
0698デフォルトの名無しさん
NGNG文字列の最後に'\0'を入れる
0699デフォルトの名無しさん
NGNGがんばれ!
0700デフォルトの名無しさん
NGNG#include <iostream.h>
この辺でもういいやと思った
0701デフォルトの名無しさん
NGNGかなり理解していないですね。
>>694さんの”std::string使えば良さそうなのに”というのはどういったものなんでしょうか?
すみません。教えていただけないでしょうか?
0702デフォルトの名無しさん
NGNG>>693だけやれば多分動くよ
0703デフォルトの名無しさん
NGNGまずは調べろ。話はそれからだ。
0705デフォルトの名無しさん
NGNG>Emailアドレス+70.cpp
とりあえず私はエスパーでは無いので、
あなたのEMailアドレスが分からないとできません
0707688
NGNG神!ありがとうございます!!
助かりそうです!!!
0708デフォルトの名無しさん
NGNGお願いします。いろいろなサイトを見たのですがコンパイルできません。
1
∫ e^-x^2dx
0
お願いします!!
0709デフォルトの名無しさん
NGNGエラーの内容もかかれてないから釣り
0710デフォルトの名無しさん
NGNGソレはコンパイルできないだろうな
0711690
NGNGfor(int i = 0; i < n; i++){
pName = new char*[n];
cout << "生徒の名前を入力して下さい。 "; cin >> Name;
pName[i] = new char[strlen(Name) + 1];
strcpy(pName[i], Name);
if(pName == NULL)
return 0;
してみたら、コンパイルはできたのでが、途中でエラーが出て終了になりました。
まったくさっぱりです。もう一度訓えて頂けないでしょうか?
0712デフォルトの名無しさん
NGNGiostream じゃないと怒られるのだが
0713682
NGNGNONAME.c:8: `true' undeclared (first use this function)
NONAME.c:8: (Each undeclared identifier is reported only once
NONAME.c:8: for each function it appears in.)
ってでます
0714デフォルトの名無しさん
NGNGごめん。1 に変えて。
while の代わりに for (;;) { でもいいよ。
0715デフォルトの名無しさん
NGNGwhile (true) {
を
for(;;){
に変えるだけじゃん?
0716デフォルトの名無しさん
NGNGよくわからんがこれじゃだめなのか?
#include <iostream>
#include <string>
#include <vector>
using namespace std;
void main(void)
{
vector<string> enroll;
string buf;
for(;;){
cout <<"生徒の名前を入力してください。(exitで終了)"<<endl;
cin >>buf;
if(buf == "exit")break;
enroll.push_back(buf);
}
vector<string>::iterator ite;
for (ite = enroll.begin(); ite != enroll.end(); ite++) cout << *ite << endl;
}
0717デフォルトの名無しさん
NGNG入力する得に
scanf("%s",&str[i]);
こうなりますが、'\0'はどこに入れればよいでしょうか。
scanf("%s\0",&str[i]);
は、ありえないと思うので。
699様
応援有難うございます。がんばります。
0718690
NGNG全然まったく知らないものがたくさん出てきてて、自分には理解できません
0719デフォルトの名無しさん
NGNG入力した文字列を別の文字型配列にコピーした後、入力した文字列と、コピーした文字列を出力する文字列を作ってください。
ただし、二つの文字型配列s,tを引数として、tを指す文字列をsの指す領域にコピーする関数mycpyを作り、main関数ではその関数を呼び出すようにしてください。
0720デフォルトの名無しさん
NGNGfor(int i = 0; i < n; i++){
cout << "生徒の名前を入力して下さい。 "; cin >> Name;
pName[i] = new char[strlen(Name) + 1];
strcpy(pName[i], Name);
if(pName == NULL)
return 0;
とりあえずさっきの所はこう変えろ(pName = new char*[n];をループの外に出す)
0721デフォルトの名無しさん
NGNGmycpy(char*s, const char*t)
{
while(*s++ = *t++);
}
main()
{
char a[256], b[256];
mycpy(a, "アヒャヒャヒャヒャ");
mycpy(b, a);
printf("%s%s", a, b);
}
0722690
NGNG0723デフォルトの名無しさん
NGNGつーか今コードどうなってるのよ?
0724デフォルトの名無しさん
NGNGfor( a = 0; a < n; a++){
cout << pName[i][a] << ', ';
}}
を
for(int i = 0; i < n; i++){
cout << pName[i] << ', ';
}
に変えれ
0725690
NGNG#include <string.h>
int main(){
char **pName;
char Name[256];
int n;
cout << "生徒は何人ですか?\n"; cin >> n;
pName = new char*[n];
for(int i = 0; i < n; i++){
cout << "生徒の名前を入力して下さい。 "; cin >> Name;
pName[i] = new char[strlen(Name) + 1];
strcpy(pName[i], Name);
if(pName == NULL)
return 0;
}
for(i = 0; i < n; i++){
for(int a = 0; a < n; a++){
cout << pName[i][a] << ', ';
}
}
for(i = 0; i < n; i++)
delete[] pName[n];
delete[] pName;
return 0;
}
0726690
NGNG0728デフォルトの名無しさん
NGNG#include <iostream>
int main(){
using namespace std;
char **pName;
char Name[256];
int n;
cout << "生徒は何人ですか?\n"; cin >> n;
pName = new char*[n];
for(int i = 0; i < n; i++){
cout << "生徒の名前を入力して下さい。 "; cin >> Name;
pName[i] = new char[strlen(Name) + 1];
strcpy(pName[i], Name);
if(pName == NULL)
return 0;
}
for(i = 0; i < n; i++){
cout << pName[i] << ", ";
}
for(i = 0; i < n; i++) delete[] pName[i];
delete[] pName;
return 0;
}
0729デフォルトの名無しさん
NGNG#include <stdio.h>
#include <math.h>
double f(double x)
{ double y;
y = 4.0/(1.0+x*x);
return(y); }
main()
{
int i,n;
double x,xstart,xend,xintv;
double h,sum,pi,result;
xstart=0.0;
xend=1.0;
xintv= xend - xstart;
printf("Enter N :");
scanf("%d",&n);
h = xintv/n;
sum = 0.5*f(xstart);
for(i=1;i<n;i++)
{
x = xstart + h*i;
sum += f(x);
}
sum += 0.5*f(xend);
result = sum*h;
printf("\n Result of the integral = %16.14f",result);
pi = 4.0*atan(1.0);
printf("\n Pi = %16.14f Difference = %16.14f \n", pi, result-pi);
}
というプログラムをみようみまねで書いたのですが未定義のシンボルatanというものが出てきます。
どうしてなのでしょうか。
0730690
NGNGありがとうございます☆
謎は解けました!!
感謝です!!!
0731デフォルトの名無しさん
NGNG私の環境
Microsoft Visual C++ Toolkit 2003 (タダ)
ではコンパイルできますよ。
0732690
NGNGなぜに、
for(i = 0; i < n; i++){
cout << pName[i] << ", ";
}
for(i = 0; i < n; i++) delete[] pName[i];
delete[] pName;
にする事で、エラーが出なかったのでしょうか?
0733デフォルトの名無しさん
NGNGatanを定義するのはどうしたらよいのでしょうか?
0734デフォルトの名無しさん
NGNG0735デフォルトの名無しさん
NGNGfor(i = 0; i < n; i++){
for(int a = 0; a < n; a++){
cout << pName[i][a] << ", ";
}
}
生徒数n人を指定して名前をn文字以下にすると配列外にアクセスいきますYO
上の書式なら
for(i = 0; i < n; i++){
for(int a = 0; a < strlen(pName[i]); a++){
cout << pName[i][a] ;
}
cout <<", ";
}
じゃないとおかしいYO
coutはC++ですから引数型で振る舞い変えますYO
0736690
NGNG本当にありがとうございました!!
これで、2次元配列は完璧・・・ではないでしょうが、
今回の事は完全に理解できたと思います。
本当に感謝です!!
0737682 cの課題
NGNG#include <stdlib.h>
char buf[256];
scanf("%s", buf);
i = atoi(buf+1);
とかよく分からないので
どなたかもう少し分かり易い方法をご教授下さい。
ちなみにエラーはtrueを1にしたらなおりました。
0738539
NGNGやはりつくって貰えないでしょうか?
お願いします。
0739デフォルトの名無しさん
NGNGそれ以上簡単な方法はないぞ。
0740デフォルトの名無しさん
NGNG>>683
0742デフォルトの名無しさん
NGNGWindowsのコンソールでもいいの?
0743デフォルトの名無しさん
NGNG>>737の意味はわかるんですけどどう教えたらいいのかは
教え方を全く習ってないのでどーにも分かりません。
0745デフォルトの名無しさん
NGNGprintf文を用いてグラフを表示させるというもので、
*
*
*
*
*
*
--------
以下対称
と表示させるプログラムを作成したいんですが、
printf文を用いて空白を表示させるにはどうすれば良いのでしょうか?
0746デフォルトの名無しさん
NGNG0747デフォルトの名無しさん
NGNG.は空白を表します。
........................*
...............*
........*
...*
.*
*
0748デフォルトの名無しさん
NGNG今から適当につくるよ…
ちょいまて。
0749デフォルトの名無しさん
NGNGvoid printBar(int length)
{
for(int i=0;i<length;++i)
printf(" ");
puts("*");
}
0750デフォルトの名無しさん
NGNG返答ありがとうございます。
それを参考にして学校で習ったように書いてみたのですが、
int main(void)
{
int y,x;
for(x=-5; x<6; x++){
y=x*x;
printf(" ");
puts("*");
}
printf("\n");
return 0;
}
これだと、空白が表示されず、
*
*
*
*
となってしまいます。どこがおかしいのでしょうか?
0751デフォルトの名無しさん
NGNGprintf(" ");
0752デフォルトの名無しさん
NGNG参考にしてねえじゃねえか!!!
0753デフォルトの名無しさん
NGNG0754デフォルトの名無しさん
NGNG#include <stdio.h>
int f(int x){
return x*x;
}
int main(void)
{
int i;
for (i = -5; i <= 5;i++)
printf("%*c\n",f(i) + 1, '*');
return 0;
}
0755539
NGNG本当にありがとうございます!!
0756750
NGNG740,754さんの書き方は、学校で習っていないので、
出来れば自分が750で書いた方法を直し、表示したいと思っています。
参考にしてのは、puts("*"); です。
yの値が空白の数になるので、そこが表示されないのは、
〜
y=x*x;
printf(" ");
〜
の部分が不味いと思うんですが、どうなのでしょうか
0757デフォルトの名無しさん
NGNG漏れには藻前が何習ってるのかなんて分からないんだから
0758デフォルトの名無しさん
NGNG{
int y,x,i;
for(x=-5; x<6; x++){
y=x*x;
for(i=0;i<y;++i)
printf(" ");
puts("*");
}
printf("\n");
return 0;
}
0760デフォルトの名無しさん
NGNG0761デフォルトの名無しさん
NGNGあと
初心者です
ってのも
あっスレ違いすまそ
0762デフォルトの名無しさん
NGNG0763デフォルトの名無しさん
NGNG0764デフォルトの名無しさん
NGNGそれを理解したいと考える人間もいるから、
意欲があるうちは付き合ってもいいと思うけどな。
習っていないと判断できるということは、
一応提示されたソースを読んでいるわけだし。
0765デフォルトの名無しさん
NGNGそういう問題出す教師にも萎える。教科書に書いてあったからとかごねればええやん。
0766デフォルトの名無しさん
NGNG0767デフォルトの名無しさん
NGNG0768デフォルトの名無しさん
NGNG0769539
NGNG返事遅れてすみません。
OKです。参考になればいいと思ってますから。
0770デフォルトの名無しさん
NGNG0771デフォルトの名無しさん
NGNG別に丸投げしているつもりはありません。
0772デフォルトの名無しさん
NGNGもちろん
コンパイルできない場合はエラーメッセージをちゃんと貼る。
実行結果がおかしい場合には何がどうなったら正しいのかを明記する。
そして
ヒントなり答えなり貰ったら自分で調べる。
普通はね。
0773デフォルトの名無しさん
NGNGただいま独学でC++を勉強しております。
iniファイルの読み込みプログラムを作成していたところ
疑問点がでてきたので質問させていただきます。
↓↓↓ソース↓↓↓
www1.ocn.ne.jp/~nasitaka/sample.zip
上記に乗せたプログラムを実行してみると
TestKey を指定しているはずなのにその上に
定義してあるabcというキー部分を読み込んで
表示してしまいます。
これはどういう理由でこのような仕様になっている
のでしょうか?
0774デフォルトの名無しさん
NGNG0775デフォルトの名無しさん
NGNGまず自分で最後まで作ることができず、
コンパイル以前の問題です。自分でも色々と調べたのですが
やはりわからずこのスレに書き込みました。
無知と言われればそれまでですが、ちゃんと自分で理解できる
ようになりたいと思っています。
すいません何を言っても言い訳ですね。
0776773
NGNGそちらのほうが、見やすかったですね・・・・
すみません。
しかし、なぜ一つ上の値が読み込まれるようになっているのですか??
本来ならTestKeyの内容である
0068EBDC
という値が返ってきてほしいと思うのですが・・・
0777デフォルトの名無しさん
NGNG>>770だけどさ、別に>>771のことを言ったわけではないよ。
どーせ頑張っても頑張らなくても、後々全部自分に返ってくるんだし。
0778デフォルトの名無しさん
NGNGここにある問題どっかで見たことあるような・・・
名古屋大だったわけね
0780748
NGNGブロック崩しかいたよ…
DOS窓でつくると激しく面倒ですね。
とりあえず動くってだけで、当たり判定とか適当なので
ゲーム性を求めてはだめです。
C++で書けと指定してあったのでクラスを使っていますが
読みづらいと思います。
一番下にmain関数があるので、そこからソースをおっていってください。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=134
0781デフォルトの名無しさん
NGNG課題11 行列の積
提出期限 7/6(火)17:00 再提出期限7/7(水)17:00
次のプログラムの関数product, output_matrix を完成させて,行列A とB がそれぞれ
MatrixA.txt, MatrixB.txt(ファイルの先頭の2つの整数は順に,行数,列数を表す)とい
うファイルで与えられたとき, ABを計算してMatrixAB.txt に書き出すプログラムを作れ.
ただし,関数product は, Aの列数とBの行数が一致しない場合,画面に警告を表示し実行
を終了するように作成するものとする.
MatrixA.txt の例 MatrixB.txt の例 作成されるMatrixAB.txt
4 3
0.0 -1.2 2.8
2.1 -3.0 5.7
4.5 1.1 3.9
2.8 4.4 6.6
3 4
2.2 4.0 -1.4 5.5
3.0 0.0 1.6 2.2
7.7 -9.7 2.9 1.0
17.96 -27.16 6.20 0.16
39.51 -46.89 8.79 10.65
43.23 -19.83 6.77 31.07
70.18 -52.82 22.26 31.68
0782デフォルトの名無しさん
NGNG0783デフォルトの名無しさん
NGNG0784デフォルトの名無しさん
NGNGttp://www.nuce.nagoya-u.ac.jp/curriculum/Lecture/ComputerR1/Kaito/Kaito10.txt
0786デフォルトの名無しさん
NGNG0787デフォルトの名無しさん
NGNGつかstrData初期化されてないよ?
一回目のprintf()でなんかよーわからんのが表示
二回目でTestKeyの値(なければ空文字列)
になると思われ。
二回目も意図してないのが表示されるのならiniファイルの指定が間違ってる。
iniファイルの指定はフルパスでないと、Windowsフォルダ探しに行くので注意。
0788デフォルトの名無しさん
NGNGカレンダーでつか?
単語帳でつか?
0789デフォルトの名無しさん
NGNGよーし、ぱぱ作っちゃうぞー
俺も名大生だった…orz...
0790デフォルトの名無しさん
NGNG化学・生物工学科 分子化学工学コース
0791デフォルトの名無しさん
NGNG先生、「大学」でくくって考える方がアフォだと思います・・
0792デフォルトの名無しさん
NGNG化学系だから、しょうがないかな。
0793デフォルトの名無しさん
NGNG0794デフォルトの名無しさん
NGNG>Down Loadするためには
~~
ちょっとワロタ
ttp://www.nuce.nagoya-u.ac.jp/curriculum/Lecture/ComputerR1/Reidai/Reidai01.txt
>void main(void)
なんかもういいや
0795デフォルトの名無しさん
NGNGしぃっー。
>>782 は大学になんて、うわ、なにをsry
0796デフォルトの名無しさん
NGNG参考にして作ったURLです。
ttp://homepage1.nifty.com/meru/prog/rag_c1.html
1回目のprintfではなにが表示されてもよかったので、初期化も
なにもしていないんです。2回目でのprintfではTestKeyの内容
を表示させたかったのですが、うまくいきません。
iniファイルへの書き込みをコメントでくくってありますが、これを
実行すると同一フォルダ内のiniファイル(Test.ini)にしっかり
書き込みをしているのを確認できるので、指定間違いはないようです。
0797773
NGNG0798539
NGNG本当にありがとうございました。
0799デフォルトの名無しさん
NGNG松岡さんと橋爪さんって教授なのかな
0800771
NGNGその通りですね。
だから、私は頑張りたいと思います。
0801デフォルトの名無しさん
NGNG個人的に自分の一生がかかるというのに
他人に頼ろうという考えが嫌いなので報告させていただきました。
各種の資料を調べるのはかまわないが, 必ず自分自身で書くこと. 他人のレポート
を写したり,
だれかに答を聞いてそれをそのまま書いたりしてはならない.
上に書いてあることに違反していると思われます
下に書いてあるURLに接続してみてください。
http://pc5.2ch.net/test/read.cgi/tech/1086612317/275
275 名前:デフォルトの名無しさん[] 投稿日:04/06/13 08:41
http://www.math.nagoya-u.ac.jp/~naito/lecture/2004_SS/PDF/07/report.pdf
↑ここのprob-3について教えていただけますか?
我々はコレを完璧に解かないと 卒業できずと教員免許もでない と いう事態にな
りますので皆様の力を貸してください。
なお、適当にURLをいじればコレまでの経過に関するページへ飛びます。
質問に対する回答
http://pc5.2ch.net/test/read.cgi/tech/1086612317/283
0802デフォルトの名無しさん
NGNGもっと使おうよ、アタマ
という標語を実践した結果がこれか。
0803デフォルトの名無しさん
NGNGいままでは教授の評価高かっただろうし
おい、○○君近頃どうしたんだね
アルゴリズムがやたら平易になってるようだよ
PGとして即戦力になりえるくらいのプログラミング力だったのに・・・
まさか、カンニングでもしていたんじゃないだろうね?
二馬鹿「・・・」
0804デフォルトの名無しさん
NGNG0805デフォルトの名無しさん
NGNG0806デフォルトの名無しさん
NGNGAa :一橋、東京工業、大阪
A :東北、筑波、名古屋、神戸、九州、早稲田、慶應
ここにのってない大学はゴミ
0807デフォルトの名無しさん
NGNGこれでも表示されんか?
test.iniはプログラムと同じディレクトリね。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=135
0808デフォルトの名無しさん
NGNG0809773
NGNG感動です!!
みごと表示されてました!!
これから解析してみようと思います。
また分からないことがあったらここで質問させていただきます。
ありがとうございました!!!!
0810デフォルトの名無しさん
NGNGAaa:東京、京都
Aa :一橋、東京工業、大阪
A :東北、筑波、名古屋、神戸、九州、早稲田、慶應
Baa:北海道、お茶の水、東京外語、横浜国立、広島、上智、ICU
Ba :千葉、東京都立、電気通信、金沢、京都工芸繊維、奈良女子、大阪外語、大阪市立、大阪府立、岡山、東京理科、同志社
B :埼玉、東京学芸、東京農工、横浜市立、信州、新潟、静岡、名古屋工業、九州工業、熊本、立教、明治、津田塾、学習院、関西学院
0811デフォルトの名無しさん
NGNGAaa:京都、東京
Aa :大阪、東京工業
A :慶應、東北
S :会津
0812デフォルトの名無しさん
NGNG0813デフォルトの名無しさん
NGNGやった俺の大学はいったw
0814デフォルトの名無しさん
NGNGAaa:京都、東京
Aa :大阪、東京工業
A :慶應、東北
S :会津
0815デフォルトの名無しさん
NGNGやっといたよ。
ttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=136
0816デフォルトの名無しさん
NGNGただし、3つの文字型配列s,t,uを引数として、tを指す文字列をsの指す領域にコピーした後、sにuを追加する関数mycatを作りmain関数ではその関数を呼び出すようにしてください。
0817デフォルトの名無しさん
NGNGstatic int mylen(char *s){ //strlen(a); を自前で作る。
int i;
for(i = 0; *(s + i) != '\0'; i++);
return i;
}
static void mycat(char *s, char *t, char *u){
int i;
for(i = 0; *(t+i) != '\0'; i++) //strcpy(s, t);を自前で作る。
*(s + i) = *(t + i);
for(i = 0; *(u+i) != '\0'; i++) //strcat(s, u); を自前で作る。
*(s + mylen(t) + i) = *(u + i);
*(s + mylen(t) + i) = '\0';
}
int main(int argc, char *argv[]){
char*a, *b, *c;
if(argc != 3){ //入力処理は適当にどうぞ。引き数でやります。
printf("argument value is no good.\n");
return 1;
}
a = argv[1];
b = argv[2];
c = (char*)malloc(mylen(a) + mylen(b) + 1);
if ( c == NULL ){
printf("memory allocation is error.\n");
return 1;
}
mycat(c, a, b);
printf("a, b, c: %s, %s, %s\n", a, b, c);
free(c);
return 0;
}
0818817
NGNG*(s + mylen(t) + i) = *(u + i);
*(s + mylen(t) + i) = '\0';
は
for(i = 0; *(u+i) != '\0'; i++) //strcat(s, u); を自前で作る。
*(s + mylen(s) + i) = *(u + i);
*(s + mylen(s) + 1) = '\0';
の方がいいかな。結果は同じでも意味は違うし。
//strcat(s, u); を自前で作る。と書いているからには、ね。
*(s + mylen(t) + i) = '\0'; も可読性が悪いし。
0819デフォルトの名無しさん
NGNG0820デフォルトの名無しさん
NGNG0821デフォルトの名無しさん
NGNG0822デフォルトの名無しさん
NGNGは
int len; を作って、s に t をコピーした後で
len = mylen(s); を受けておいてから
*(s + len + i) = *(u + i); だぁね。
次の行も *(s + mylen(s)) = '\0'; でなきゃまずくないかい?
0823デフォルトの名無しさん
NGNG5人の学生の名前と成績を入力し、名前は2次元配列、成績は1次元配列に格納し、表示
するプログラムを作成せよ。
例
Please input 5 student's name and test score.
student1-name:tarou
-score:60
student2-name:hanako
-score:90
student3-name:jiro
-score:40
student4-name:daisuke
-score:80
student5-name:kaoru
-score:70
taro 60
hanako 90
jiro 40
daisuke 80
kairu 70
0824691
NGNGまだみてるかー ちゃんと動く版
#include <stdio.h>
int date(int y,int m,int d){
if (m == 1 || m == 2) {y--;m += 12;}
return (y + y/4 - y/100 + y/400 + (13*m+8)/5 + d) % 7;
}
int main()
{
int days[]={31,28,31,30,31,30,31,31,30,31,30,31};
int y,m,d;
int day;
int i,ct;
puts("年 月 日");
scanf("%d %d %d",&y,&m,&d);
day=d;
if((y%4==0)&&(y%100!=0)&&(y%400==0))days[1]++;
for(i=0;i<m-1;i++)day+=days[i];
printf("%d日目\n",day);
ct=date(y,m,1);
for(i=0;i<ct;i++)printf("\s\s\s");
for(i=0;i<days[m-1];i++){
printf("\s%2d",i+1);
if((++ct)%7==0)puts("");
}
puts("");
return 0;
}
0825デフォルトの名無しさん
NGNG#include<stdio.h>
main()
{
char name[5][255];
int score[5];
int n;
printf("Please input 5 student's name and test score.\n");
for(n=0; n<5; n++){
printf("student%d-name:",n+1);
scanf("%s",&name[n]);
printf("-score:");
scanf("%d",&score[n]);
}
printf("\n");
for(n=0; n<5; n++)
printf("%s %d\n",name[n],score[n]);
}
0826デフォルトの名無しさん
NGNGkaoruをkairuにするのをお忘れですよ。
0827デフォルトの名無しさん
NGNG825じゃないけどパッチ
if(0==strmcmp(name[i],"kaoru"))strcpy(name[i],"kairu");
0828デフォルトの名無しさん
NGNG0829デフォルトの名無しさん
NGNGさっきの5人の学生を入力したあとに成績順に並べ替えるプログラムも
教えていただけないでしょうか?
さっきのやつでいくと
Please input 5 student's name and test score.
student1-name:tarou
-score:60
student2-name:hanako
-score:90
student3-name:jiro
-score:40
student4-name:daisuke
-score:80
student5-name:kaoru
-score:70
jiro 40
taro 60
kaおru 70
daisuke 80
hanako 90
となればいいらしいです。
0830デフォルトの名無しさん
NGNG// ソート
void sort(char name[5][64],int score[5])
{
char name_t[64];
int score_t;
int i,j;
for(i=0;i<5-1;i++){
for(j=i+1;j<5;j++){
if(score[i]>score[j]){
strcpy(name_t,name[i]);
strcpy(name[i],name[j]);
strcpy(name[j],name_t);
score_t=score[i];
score[i]=score[j];
score[j]=score_t;
}
}
}
}
ソートさせたいとこにこれを書く
sort(name,score);
0831デフォルトの名無しさん
NGNG0832デフォルトの名無しさん
NGNG0833デフォルトの名無しさん
NGNG0834デフォルトの名無しさん
NGNG0835デフォルトの名無しさん
NGNG例えば,10100000を左に1つローテートすると01000001となる
void rotate(unsigned char *)を作って任意の整数を3回ローテート
したものを表示する
例
整数:1
1-th shift: 2 00000010
2-th shift: 4 00000100
3-th shift: 8 00001000
というのと
ユーザが指定したキー文字(unsigned char型)とXOR演算子を組み合わせて,
ファイルを暗号化するプログラムをつくりなさい。但し,
ファイル名とキー文字はキーボードから入力します。
例
入力ファイル名:test.c
出力ファイル名:test2.c
暗号化キーは:%
というのを教えてください、お願いします
0836816
NGNGありがとうございます!
自分も考えて途中までやってみました。最後に足す部分がよく分かりませんでした。
#include<stdio.h>
char mycat(char *s,const char *t,const char *u);
int main()
{
char s[256],t[256],u[256];
char string1;
printf("文字列aを入力してください:");
scanf("%s",t);
printf("文字列bを入力してください:");
scanf("%s",u);
mycat(s,t,u);
printf("文字列は:%s\n",s);
}
char mycat(char *s,const char *t,const char *u)
{
while(*s++ = *t++);
}
0837デフォルトの名無しさん
NGNG0838デフォルトの名無しさん
NGNGコンパイルしてないから間違ってたら適当に直して
void rotate(unsigned char* c){*c<<1;}
int xor(const char* outname,const char* inname,unsigned char key)
{
FILE* in;
FILE* out;
int state=1;
int c;
if(NULL!=(in=fopen(inname,"r"))){
if(NULL!=(out=fopn(outname,"w"))){
while(feof(in)){
fputc(fgetc(in)^key,out);
}
fclose(out);
}else state=0;
fclose(in);
}else state=0;
return state;
}
0839デフォルトの名無しさん
NGNGwhile(!feof(in)){
0840デフォルトの名無しさん
NGNGありがとうございます!
0841デフォルトの名無しさん
NGNG*c<<=1;
何度もすまん…
0842デフォルトの名無しさん
NGNGどうしたらいいか分かりません。縦に50個全部出力されてしまいます・・・・
誰かご教授お願いします。
0843デフォルトの名無しさん
NGNG0844デフォルトの名無しさん
NGNGほれ
ttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=137
0845デフォルトの名無しさん
NGNGint ct=0;
for(int i=0;i<50;i++){
fprintf(fp,"%d",rand());
if(++ct%10==0)fprintf(fp,"\n");
}
0846デフォルトの名無しさん
NGNGfor (int i = 0; i < 50; ++i)
fprintf(fp, "%d%c", rand(), (i + 1) % 10? ' ': '\n');
0847842
NGNG0848デフォルトの名無しさん
NGNGwhile( printf("hoge"), (c=getchar()) != EOF ){
....
}
という文があったのですが、この場合のようなコンマ(,)を用いた条件式はどう評価されるのでしょうか?
上の例の場合では、文脈的に後者(getcharを含む方)の方で判断される感じはわかるのですが、一般的にはどういう仕組みなのでしょう?
(でも実際、上の例では前者(printfの方)も後者も値を返すはずなのでよくわかりませんが。。。)
0849デフォルトの名無しさん
NGNGコンマで区切られた式の一番右側の値が式全体の値になる
たとえば
x=(a,b,c);
ならxにはcが代入される
つまりこの例は
printf("hoge")
while((c=getchar()) != EOF){
...
printf("hoge")
}
と等価
0850デフォルトの名無しさん
NGNG左から右に評価されて、右の式の値が全体としての値になる。
左の式の値は捨てられるだけ。
0851デフォルトの名無しさん
NGNGすいませんがお願いします。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=233
0852デフォルトの名無しさん
NGNGmain()
{
int a, b,c,d;
printf("二つの整数値を入れてください--->");
scanf("%d %d",&a,&b);
c = a / b;
d = a % b;
printf("%d 割る %d は %d 余り %d\n\n",a,b,c,d);
return(0);
}
このプログラムを複数回繰り返すようなプログラムに変更したいんですがどうしたらいいでしょうか?
お願いします。
0854デフォルトの名無しさん
NGNGありがとうございました。
0855デフォルトの名無しさん
NGNGmemsetっていうのはどういう働きをするのでしょうか?
できれば、サルでもわかるような説明をお願いします。
0856デフォルトの名無しさん
NGNG0857748
NGNG検索くらいしよう。
そしたらすぐわかるよ。
http://www.google.co.jp/search?q=memset&ie=Shift_JIS&hl=ja&btnG=Google+%8C%9F%8D%F5&lr=lang_ja
0858デフォルトの名無しさん
NGNG(;゚Д゚)
0859デフォルトの名無しさん
NGNG0860デフォルトの名無しさん
NGNGさる以下はわからなくていいのぉ〜?
0861デフォルトの名無しさん
NGNG0862デフォルトの名無しさん
NGNGコンパイラ通してないけど
void get_move(int board[B][B], int player, int *p, int *q)
{
char buf[100];
int i, j;
printf("Player %d ", player);
while (1) {
printf("> ");
scanf("%s", buf);
if(isalpha(buf[0])){
*q = buf[0]-'a'+1;
*p = buf[1]-'1'+1;
}else{
*q = buf[0]-'1'+1;
*p = buf[1]-'a'+1;
}
if (is_legal_move(board, player, *p, *q)) return;
else{
for(i=1;i<=8;i++){
for(i=j;j<=8;j++){
puts("置ける場所");
if(is_legal_move(board, player, j,i)){
printf("%c%d\n",j+'a',i+1);
}
puts("");
}}}}
}
0863デフォルトの名無しさん
NGNG>>862氏のは候補がずれるかと。
void get_move(int board[B][B], int player, int *p, int *q)
{
char buf[100];
int i, j;
printf("Player %d ", player);
while (1) {
printf("> ");
scanf("%s", buf);
if ('1' <= buf[0] && buf[0] <= '8' && 'a' <= buf[1] && buf[1] <= 'h') {
*p = buf[0]-'1'+1;
*q = buf[1]-'a'+1;
}
else {
*q = buf[0]-'a'+1;
*p = buf[1]-'1'+1;
}
if (is_legal_move(board, player, *p, *q)) return;
printf("select a legal move: ");
for(i = 1; i <= 8; i++) {
for(j = 1; j <= 8; j++) {
if(is_legal_move(board, player, i, j)) {
printf("%c%c ", 'a'+i-1, '1'+j-1);
}
}
}
}
}
0864デフォルトの名無しさん
NGNGどなたかお願いします。
0865デフォルトの名無しさん
NGNG恐らく、授業の流れでブラックジャックを作成するというようなものがあると思うのだが。
それだけでは誰もやらないよ。
0866デフォルトの名無しさん
NGNGint main(int argc,char** argv)
{
int COIN_WO_KAKERU = 1;
BURAKKUJAKKU_NO_SAKUSEI(COIN_WO_KAKERU);
return 0;
}
0867デフォルトの名無しさん
NGNG1-th、2-th、3-thってなんだよ、オイ。
0868デフォルトの名無しさん
NGNGその課題が載ってるサイトのURLを教えてくれればやるよ。
0869デフォルトの名無しさん
NGNGまた大学ネタかい?
0870デフォルトの名無しさん
NGNG0871デフォルトの名無しさん
NGNG0872デフォルトの名無しさん
NGNG複素数z を読み込んで,絶対値と偏角を計算して印字す
るプログラムを作成せよ.但し,
• 複素数の実部と虚部を示す実数型変数をメンバとする
構造体COMPLEX
• 複素数の絶対値と偏角を示す実数型変数をメンバとす
る構造体POLAR
をtypedef 文を用いて定義し,以下の手続きをそれぞれ関
数として作成し,main 関数内では,手続き(1),(2) と(3)
を呼び出すだけにせよ.
1. 構造体COMPLEX を読み込む.
2. 構造体COMPLEX からPOLAR を計算する.
3. 構造体POLAR を印字する.
0873デフォルトの名無しさん
NGNGC99 で complex.h ができたからそれを使えば?
0874デフォルトの名無しさん
NGNG#include <stdio.h>
#include <stdlib.h>
#include <math.h>
typedef struct { double re; double im; } COMPLEX;
typedef struct { double abs; double arg; } POLAR;
COMPLEX read(void) {
char buf[256]; COMPLEX ret;
printf("実部: "); ret.re = atof(fgets(buf, sizeof(buf), stdin));
printf("虚部: "); ret.im = atof(fgets(buf, sizeof(buf), stdin));
return ret;
}
POLAR topolar(const COMPLEX* arg) {
POLAR ret;
ret.abs = sqrt(pow(arg->re, 2) + pow(arg->im, 2)); ret.arg = atan2(arg->im, arg->re);
return ret;
}
void print(const POLAR* arg) { printf("絶対値: %f 偏角: %f\n", arg->abs, arg->arg); }
int main(void) {
COMPLEX c = read(); POLAR p = topolar(&c); print(&p);
return 0;
}
0875デフォルトの名無しさん
NGNGありがとうございます。助かりました。
0876デフォルトの名無しさん
NGNGくだ質は、ちょっとレベルが高そうだったので...
VisualC++6.0Standardを使用しています。
WTLを利用しています。
最適化コンパイラはいれていません。
VCでのメモリリーク検出について、Win32 Debugとしてビルトすると有効になる
という記述を見て、試してみたのですが、うまく検出してくれません。
というより、どこに出力されるのか、とかも曖昧です。
VC++6.0でのメモリリークの検出について、教えてくださいorz
よろしくお願いします。
メモリリークしているはずだけど、検出されないコード
//helloproj.cpp
int Run(LPTSTR /*lpstrCmdLine*/ = NULL, int nCmdShow = SW_SHOWDEFAULT)
{
int *p2;
p2 = new int[5];
//略(deleteは行わず)
}
0877デフォルトの名無しさん
NGNG・それは宿題か?
・ここはレベル低いと言うのか?
0878デフォルトの名無しさん
NGNG0879デフォルトの名無しさん
NGNGauto_ptrでも使っとけ。
0880デフォルトの名無しさん
NGNGやる気のない超初心者にコードを書いてあげてみるスレです。
0881デフォルトの名無しさん
NGNGvoid* operator new(size_t t)
{
//この辺で好きなだけ情報を書き込むw
//return (void*)malloc(t);
}
void operator delete(void *p)
{
//この辺で好きなだけ情報を書き込む
free(p);
}
0882デフォルトの名無しさん
NGNGhttp://www1.kcn.ne.jp/~robe/pf/pf008.html
0883デフォルトの名無しさん
NGNGファイルのオープン、クローズ fopen,fclose
商品ファイルをキーボードから受け取り、指定したファイル内容を変数
に格納し、表示するプログラムを作成せよ。商品ファイルは、複数のレコード
(行)(最大100レコード)で構成されており、各レコードには、「商品コー
ド(10文字未満の文字列)」「商品名(40文字未満の文字列)」「値段(0以上)
50000以下の整数値」が空白文字で区切られて並べられている。商品ファイルは
/lesson/junichif/giftsに用意してあるので、各自のディレクトリに
コピーして用いること。
例
% cat gift
JZK-30 Jizake_tsumeawase 4500
BSP-15 Body_soap_set 3000
Bt-200 Bath_towel_set 2500
TEA-20 Koutya_tsumeawase 5000
THY-55 Koutya_hachimitu_tsumeawase 3000
SPO-22 Tyoumiryo_variety_set 4000
%./kadai6-1
Input filename:gifts(ここをキーボードから入力)
JZK-30 Jizake_tsumeawase 4500
BSP-15 Body_soap_set 3000
Bt-200 Bath_towel_set 2500
TEA-20 Koutya_tsumeawase 5000
THY-55 Koutya_hachimitu_tsumeawase 3000
SPO-22 Tyoumiryo_variety_set 4000
長々すみませんがお願いします。
0884デフォルトの名無しさん
NGNG商品ファイル名をキーボードから受け取り、指定したファイル内容を
CSV(Comma Separated Value)形式に変換し、指定したファイルに出力
するプログラムを作成せよ。商品ファイルの形式は上のやつと一緒です。
CSV方式とは、1つのレコード内のデータをカンマで区切り、1行に並べた
ものである。ここでは文字列を""で囲むこととする。
例
%cat gift
JZK-30 Jizake_tsumeawase 4500
BSP-15 Body_soap_set 3000
Bt-200 Bath_towel_set 2500
TEA-20 Koutya_tsumeawase 5000
THY-55 Koutya_hachimitu_tsumeawase 3000
SPO-22 Tyoumiryo_variety_set 4000
%./kadai6-2
Input filename:gifts(これをキーボードから入力)
Output filename:gifts.csv(これをキーボードから入力)
%cat gifts.csv
"JZK-30", "Jizake_tsumeawase", 4500
"BSP-15", "Body_soap_set", 3000
"Bt-200", "Bath_towel_set", 2500
"TEA-20", "Koutya_tsumeawase", 5000
"THY-55", "Koutya_hachimitu_tsumeawase", 3000
"SPO-22", "Tyoumiryo_variety_set 4000",
よろしくお願いします。
0885デフォルトの名無しさん
NGNG教えて頂いた事を活用してクラスに挑戦してみましたところ、
またエラーが出て自分ではまったくわからないじょうたいです。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1088779194&res=1
どこがおかしいのか、また教えて下さい。
お願いします。
0886デフォルトの名無しさん
NGNG0887デフォルトの名無しさん
NGNG色々と変。まぁとりあえず基底クラスに仮想デストラクタは持たせとこうよ。
0888デフォルトの名無しさん
NGNGマ板にあるけど人が来ない・・・。
以下テンプレ
ACM国際対抗プログラミングコンテスト(ACM/ICPC)
ACMが主催する大学生を対象にした世界的規模のプログラミングコンテストです。
国内予選参加申込み締め切りは6月25日午後5時です。
登録はここから→http://www.ehime-u.ac.jp/ICPC/
本家サイト:http://www.acm.inf.ethz.ch/
過去問:http://www.acm.inf.ethz.ch/ProblemSetArchive.html
マ板:http://pc5.2ch.net/test/read.cgi/prog/1087653366/
0889デフォルトの名無しさん
NGNG連立非線形方程式に対するニュートン法のプログラムを作成し、以下の問題を解きなさい。
(1)
{ x_1^2 + x_2^2 - 2*x_1 - 3 = 0
{ x_1*x_2 + 1 = 0
(2)
{ -x_1^2 + x_5 + 3 = 0
{ x_1 + x_2 - 2 = 0
{ -x_1 + exp(x_3 + 2) + 0.1 = 0
{ x_3 + x_4 - 0.3 = 0
{ x_1*x_3 - x_2*x_4*x_5 = 0
・終了条件は|| f(x^(k+1)) || <10^-8 を使用すること。
・反復係数k、近似解x^(k)、誤差|| f(x^(k)) || を出力し、2次収束をしているか確認すること。
・反復係数kが30回を超えたら強制終了させること。
連立1次方程式ならぐぐって見つかったのですが、さすがにn次やexpが入るとお手上げです(>_<)
0890デフォルトの名無しさん
NGNGDerive_Cintarray::Indeication() で p_Japanese[i] p_English[i] p_Mathematics[i] にアクセスしてるけど
領域が確保されてない。Cintarray::Selection() で割り当てるようだけど何処にも使われてないし。
0891デフォルトの名無しさん
NGNG#include <stdio.h>
#include <string.h>
int main(void)
{
FILE *fp;
{
char buf[256];
printf("Input filename:");
if ((fp = fopen(strtok(fgets(buf, sizeof(buf), stdin), "\n"), "r")) == NULL) {
fprintf(stderr, "cannot open file `%s'.\n", buf);
exit(1);
}
}
{
char ch;
while (fread(&ch, sizeof(char), 1, fp)) putchar(ch);
}
fclose(fp);
return 0;
}
>>884
ttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=138
0892デフォルトの名無しさん
NGNGエラーですが、コンパイルはできるんです。でも、
数値を入力して、表示しようとしたら途中で止まってしまうんです。
887さん、仮想デストラクタをつけました。次はどのようにしたら良いのでしょうか?
0893デフォルトの名無しさん
NGNG自分の中でまとまってないんでわからなくなる。
クラス図書いたほうがいいよ。
0894デフォルトの名無しさん
NGNG0895デフォルトの名無しさん
NGNGそれでさらに高度な技?見たいな物を学びたいのですが、C++の応用本みたいなものは
ありませんか?
0897876
NGNG多数のレス、ありがとうございました。
いただいた情報で、ちょっとやってみます。
成否にかかわらず、また結果報告しにきます
0898883 884
NGNG0899デフォルトの名無しさん
NGNG{
char buf[100];
int i, j;
printf("Player %d ", player);
while (1) {
printf("> ");
scanf("%s", buf);
if(isalpha(buf[0]) && isdigit(buf[1])){
*q = buf[0]-'a'+1;
*p = buf[1]-'1'+1;
if (is_legal_move(board, player, *p, *q)) return;
}else if(isalpha(buf[1]) && isdigit(buf[0])){
*q = buf[1]-'1'+1;
*p = buf[0]-'a'+1;
if (is_legal_move(board, player, *p, *q)) return;
}
}
}
0900899
NGNG:
else if(isalpha(buf[1]) && isdigit(buf[0])){
*q = buf[1]-'a'+1;
*p = buf[0]-'1'+1;
if (is_legal_move(board, player, *p, *q)) return;
}
0901デフォルトの名無しさん
NGNGmain()を下のに差し替え。
int main(){
Derive_Cintarray derive_cintarray;
derive_cintarray.Name_input();
derive_cintarray.Selection();
derive_cintarray.Repeat();
derive_cintarray.Indeication();
return 0;
}
0902892
NGNGそれで、質問というより、知りたい事なのですが、
自分がやったような内容の結果を出そうと思ったら、みなさんなら、
どのようなソースになるのでしょうか?
かなりしりたいです。
多分、全然わからないような内容だとは思いますが、
今後のために参考として教えて頂けないでしょうか?
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1088785071&res=1
0903デフォルトの名無しさん
NGNG書いておいた。
0904デフォルトの名無しさん
NGNG�@実数x 整数nを受け取りxのn乗を計算する関数を作成せよ
(データをキー入力し関数を呼んだあとはxのn乗の値を出力すること)
�A実数x 整数nを受け取りxのn乗を計算する関数を作成せよ
(データをキー入力し関数を呼んだあとはxのn乗の値を出力すること)
ここではnが負である場合も考慮すること。
0905デフォルトの名無しさん
NGNGdouble mypow(double x,int n)
{
return pow(x,n);
}
0906892
NGNGハッキリ言って、全然って事はないですけど、
わからない所がちらほら・・・。
ですが、これを見て、理解できるようなります。
本当にありがとうございました!
0907デフォルトの名無しさん
NGNG0908デフォルトの名無しさん
NGNG0909ミナミヌマエビ
NGNG最近、C++とWINAPIというものをやり始めたばかりのものですが、早速つまっています。
やりたいことは、ダイアログにListBoxなどのコントロールを表示することなのですが
WM_INITDIALOG 時に CreateWindow( "listbox"...) を使うのではなく
ひとつクラスをつくって、そのクラスからCreateWindowを呼ばせるようにしたいのです。
下のソースは概略ですが、コンパイルはうまくいっているようですが
外部シンボル TestClass::setParam(HINSTANCE__ *, int , int ,...) が未解決
外部シンボル TestClass:: myCreateWindow(HWND__ *.) が未解決
というメッセージがでます。
もともと一つだったファイルを、以下のように3つに分けてから、エラーが出るようになりました。
正直、どこが悪いのか分かりません。
どなたか教えていただけませんか?
よろしくお願いします。
0910ミナミヌマエビ
NGNG------<testclass.h>-----------
内容は省略
-------end of <testclass.h>----------
------<testclass.cpp>----------------------
class TestClass{
public:
メンバ変数いろいろ
void setParam( 略) {
メンバ変数に引数を設定
}
void myCreateWindow( HWND){
CreateWindow("LISTBOX", ・・・) を呼ぶ
}
-------end of <testclass.cpp>----------------
0911ミナミヌマエビ
NGNG--------<test.cpp>------------
#include "testclass.h"
TestClass tc;
WinMain( 略){
tc. setParam ( 略)
CreateDialog( 略)
}
DlgProc( HWND hwnd)
switch( 略)
case: WM_INITDIALOG
myCreateWindow ( hwnd )
}
-------end of<test.cpp>-----------
0912デフォルトの名無しさん
NGNG0913デフォルトの名無しさん
NGNG一般的な質問はよそでやれ。
0914デフォルトの名無しさん
NGNGいちおうpowつかわずやっときました(^^;
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=139
答え表示のところは綺麗になるように改造したほうが吉かもです。
0915デフォルトの名無しさん
NGNGint main(void)
{
int num = 123456789;
int *np;
******; /*ポインタ変数npにnumのアドレスを代入*/
printf("The value %d is stored at address %d", ******);
/*ここでは変数numだけを使って書くこと*/
printf("The value %d is stored at address %d", ******);
/*ここではポインタ変数npだけを使って書くこと*/
return 0;
}
これの******
のところを補って完成させよ。
出力例(決まった値にはならないが。)
The value %d is stored at address -1073745404
The value %d is stored at address -1073745404
0916デフォルトの名無しさん
NGNGnp = #
0917デフォルトの名無しさん
NGNG問題が間違ってるよ
"The value %d is stored at address %d"
じゃあThe value %d is…って出力するのは無理
0918デフォルトの名無しさん
NGNG******を、どの様に補っても、それぞれの出力、
>printf("The value %d is stored at address %d", ******);
The value %d is stored at address -1073745404
>printf("The value %d is stored at address %d", ******);
The value %d is stored at address -1073745404
には、対応しません。
0919デフォルトの名無しさん
NGNGtestclass.cppをコンパイルしていないんだろ、どうせ。
0920デフォルトの名無しさん
NGNG何が書いてあるんだろう?
0921デフォルトの名無しさん
NGNG#ifndef TESTCLASS
#define TESTCLASS
#include"testclass.cpp"
#endif
だったら笑える。
0922デフォルトの名無しさん
NGNGこのレベルなら
#include "testclass.cpp"
の一行のみでしょう
0923915
NGNG#include <stdio.h>
int main(void)
{
int num = 123456789;
int *np;
******; /*ポインタ変数npにnumのアドレスを代入*/
printf("The value %d is stored at address %d\n", ******);
/*ここでは変数numだけを使って書くこと*/
printf("The value %d is stored at address %d\n", ******);
/*ここではポインタ変数npだけを使って書くこと*/
return 0;
}
これの******
のところを補って完成させよ。
出力例(決まった値にはならないが。)
The value %d is stored at address -1073745404
The value %d is stored at address -1073745404
0924デフォルトの名無しさん
NGNG何をどうやっても、
>printf("The value %d is stored at address %d\n", ******);
このコードでは、コンパイラのバグでも利用しない限り
>The value %d is stored at address -1073745404
の出力にはならない。
0925デフォルトの名無しさん
NGNG負の数が入力されたとき、入力終了とする。データは配列D[i](0≦i≦n-1)に入れる。
平均値、標準偏差、最高点、最低点を求めてこれを出力する。
最高点、最低点については該当する学生の学生番号も全て出力する。
C言語でお願いします。
0926デフォルトの名無しさん
NGNGあまい。
#if 0 /* 最初の ****** */
; /*ポインタ変数npにnumのアドレスを代入*/
printf("The value %d is stored at address %d\n", /* ここから */ What a Fxxxin' Program! /* ここまでが2つ目の****** */);
/*ここでは変数numだけを使って書くこと*/
printf("The value %d is stored at address %d\n",
/* ここから */
#endif
np = #
printf("The value %%d is stored at address %d\n", &num
);
printf("The value %%d is stored at address %d\n", np /* ここまでが3つ目の****** */);
/*ここではポインタ変数npだけを使って書くこと*/
0927デフォルトの名無しさん
NGNG脱帽
0928デフォルトの名無しさん
NGNG一応問題の要請でデータは配列に格納すると書いてあるから、
配列に格納してみたけど、一回サーチするだけで全ての処理終わるのよね。
だから、
d[i] -> d
にしてわざと問題で求めている要件を破って、
「一回のサーチで処理が完了するように工夫しました」
とか主張するとおいしいかもね。
教官の想定している実装だと、
1. まず配列に格納
2. 最大値、最小値、平均値を計算
3. 最大値と等しい学生番号を順に出力
4. 最小値と等しい学生番号を順に出力
5. (値-平均)の二乗和から分散を出力
こういう感じになるだろうと予想して配列に格納とか言ったのかな?
あと var は標準偏差じゃなくて、分散だろうという突っ込みは無しでw
3 文字でそろえたかったの
改行が多すぎますと Error が出たので怒涛の圧縮かけましたw
0929928
NGNGttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=140
0930デフォルトの名無しさん
NGNG0931デフォルトの名無しさん
NGNG0932デフォルトの名無しさん
NGNGfortune用のデータを作ってくれ。
0933デフォルトの名無しさん
NGNGくそったれのお前らのため。
0934デフォルトの名無しさん
NGNG#if 0 ... #endifの間も字句解析されるから、'を単独で使うのはまずい。
…と、ネタにマジレスしてみるテスト。
0936デフォルトの名無しさん
NGNGstruct CELL{
char moji[10];
int num
struct CELL *right;
struct CELL *left;
};
って構造体でmojiのアルファベット順(辞書順)に二分木をつくったとしたとき
その二分木の中からnumの大きい順に要素を5こ取り出す関数を作って欲しいんですが
c言語で
0937デフォルトの名無しさん
NGNGありがとうございます。
0938デフォルトの名無しさん
NGNG>>914
ありがとうございます。
0939デフォルトの名無しさん
NGNG1 名前: ぼるじょあ ◆yBEncckFOU 投稿日: 04/06/23 03:41
(・3・)アルェー 実は他の人にまかせっきりのC++房のぼるじょあですYO!
わからない宿題を片づけますYO!
【注意点】 -------------------------------------------------
・問題はしっかりと解いてもらう方にわかりやすいように
問題文などの省きはやめ、エラーなどは適切に書きましょう
全文を書いてしまうか、分かりやすくまとめましょう。
・後になって問題につけたしをするのはやめましょう。
解いてもらっている方に失礼になってしまいます。
------------------------------------------------------------
【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
http://do.sakura.ne.jp/%7Ejunkroom/cgi-bin/megabbs/lounge/index.html
【歴代スレは>>2-10】
0940デフォルトの名無しさん
NGNG0941デフォルトの名無しさん
NGNG0942ぼるじょあ ◆yBEncckFOU
NGNG0943デフォルトの名無しさん
NGNG0944デフォルトの名無しさん
NGNG0945デフォルトの名無しさん
NGNG0946ようかんマン ◆nup627Y0Gs
NGNG.__ 実は集団行動が嫌いなようかんマンです
|・∀・| <調子に乗ってC/C++の宿題片付けます
ト旦ノ.|
調子`ゝゝ´調子
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
【注意点】 -------------------------------------------------
・問題はしっかりと解いてもらう方にわかりやすいように
問題文などの省きはやめ、エラーなどは適切に書きましょう
全文を書いてしまうか、分かりやすくまとめましょう。
・後になって問題につけたしをするのはやめましょう。
解いてもらっている方に失礼になってしまいます。
------------------------------------------------------------
【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
http://do.sakura.ne.jp/%7Ejunkroom/cgi-bin/megabbs/lounge/index.html
【歴代スレは>>2-10】
0947デフォルトの名無しさん
NGNGぼるじょあよりはいいな
0948ようかんマン ◆nup627Y0Gs
NGNG.__
ヽ|・∀・|ノ ようかんマン#羊羹饅々で 誰でも
|__| ようかんマン ◆nup627Y0Gs になれるよ
| |
0949デフォルトの名無しさん
NGNG二次元配列を使ったプログラムを作る。
表示するセルはランダムでポインタは使用しない。
<ルール>
●:自分 ○:相手
●○ や ○ のような縦・横・ななめで相手が2つか3つあればそのまま表示
○ ●○
○
相手が1つか4つ以上あったら自分は消える。
相手が2つか3つあった場合、自分が表示される(増える)
セルの現在状態 | 8近傍でのonのセルの数 | セルの次の状態
on | 2、3 | on
on | 2、3以外 | off
off | 3 | on
off | 3以外 | off
ただし、表示するセルが端になった場合、反対側のセルと繋ぎ合わせて判断する。
よろしくお願いします。
0950デフォルトの名無しさん
NGNG見辛い。
●○
○
と
○
●○
○
です
0951デフォルトの名無しさん
NGNG0952デフォルトの名無しさん
NGNGようかんマンがC/C++の宿題を片付けて見せます 26棹
でよろしく
0953デフォルトの名無しさん
NGNG2回目の実行でabcに戻ればいいんだけど1回目と同じでnmlに戻ってしまいます。
関数strxorにどこかおかしいところがあるのでしょうが、わかりません。
ちなみに問題は
「文字列を引数として受け取り、各文字の下位4ビットを排他的論理和を用いて反転させた文字列を出力させる関数を作成しなさい。同じ文字列に対して2回関数を実行し、2度目の実行後に元の文字列に戻ることを確認しなさい」
です。
---------------
#include <stdio.h>
#include <string.h>
void strxor(char str[]){
unsigned char ext1_bit[100],ext2_bit[100];
unsigned char xor_bit[100],ans_bit[100];
int i,len;
len = strlen(str);
for(i=0; i<len; i++){
ext1_bit[i] = str[i] & 15; /* 下位4ビットを抜き出す */
xor_bit[i] = ext1_bit[i] ^ 255; /* 排他的論理和を求める */
ext2_bit[i] = xor_bit[i] & 15;/* 排他的論理和の2進数の4ビットを抜き出す */
ans_bit[i] = ext2_bit[i] + (str[i] - ext1_bit[i]); /* 下位4ビットの計算後の2進数表示 */
}
printf("%s\n",ans_bit);
}
int main()
{
char str[100];
printf("文字列を入力してください.\n");
scanf("%s",str);
printf("1回目の実行\n"); strxor(str); /* 1回目の実行 */
printf("2回目の実行\n"); strxor(str); /* 2回目の実行(元に戻る) */
return 0;
}
--------
0954デフォルトの名無しさん
NGNG同じ変換を2回行っているだけだから。
つまり、「変換した結果」を変換しなければならないので、
xorしたものでstrを置き換えましょう。
0955デフォルトの名無しさん
NGNGありがとうございます。
str[i] = ext2_bit[i] + (str[i] - ext1_bit[i]);
でよかったんですね・・・Orz
0956デフォルトの名無しさん
NGNGbit演算を行う時は
& 0xf; /* 下位4ビットを抜き出す */
^ 0xff; /* 排他的論理和を求める */
& 0xf;/* 排他的論理和の2進数の4ビットを抜き出す */
としたほうがよい
0957デフォルトの名無しさん
NGNGint i,len;
len = strlen(str);
for(i=0; i<len; i++){
str[i] = str[i] ^ 0x0f;
}
printf("%s\n",str);
}
0958デフォルトの名無しさん
NGNG穴埋め問題は全ソースここに晒せ
ttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1060403548
みたいなのを追加してみてはどうだろう
0959デフォルトの名無しさん
NGNG表示するセルはランダムという意味がよくわからない。
どれか一つのセルに注目するってこと?
0960デフォルトの名無しさん
NGNGランダムは100×100のセルに適当に表示ってことです。
表示されたセルの中で1つ1つ判定していくってことです。
0961デフォルトの名無しさん
NGNGここで聞くよりググルなりしたほうが早いよたぶん。
0962デフォルトの名無しさん
NGNGいちにちに自分が打鍵する数を各キーごとに集計してその結果を
翌朝に自分の携帯にメールで通知するソフトをCで作れというのが課題です。
0963ようかんマン ◆nup627Y0Gs
NGNG0964ようかんマン ◆nup627Y0Gs
NGNGようかんマンがC/C++の宿題を片付けて見せます 26棹
http://pc5.2ch.net/test/read.cgi/tech/1088860889/
0966デフォルトの名無しさん
NGNG1.datファイルを読み込み、ファイル一覧を取得
2.ファイルの存在を確認する
3.全てのファイルがあれば、ファイルをtempフォルダへコピーする
4.各ファイルを移動する
datの形式は、
START
AAA:c:/a/temp.zip
BBB:c:/b/temp.mpg
CCC:c:/c/temp.jpg
END
例)
c:\a\temp.zip
c:\b\temp.mpg
c:\c\temp.jpg
にあるファイルがあるか確認。あればc:\temp内に全てのファイルをコピー
c:\a\temp.zip→c:\AAA
c:\b\temp.mpg→c:\BBB
c:\c\temp.jpg→c:\CCC
へ移動する。
移動が終わったら、datファイルは削除する。
0967デフォルトの名無しさん
NGNG0968デフォルトの名無しさん
NGNGWindows2000です。
宜しくお願い致します。
0969>>967じゃないけど
NGNGhttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1060403548&res=107&fi=no
開発環境不明なんでVC限定。
includeとかは適当に
0970デフォルトの名無しさん
NGNGレス遅くなりました。
ありがとうございます。
さっそく、やってみます。
0971デフォルトの名無しさん
NGNGよろしければ、教えてください。
「チーム研究発表会の評価を集計するプログラムを作る。3人以内の学生メンバーで構成される4
チームが発表会に参加する。評価は調査内容、提案内容、発表資料、発表方法の4つのポイントで
行われ、各々のチームに対して合計点数が付けられる。」
1.評価に必要なデータを全て含むようなチームを表す構造体を作成し、typedefで名前を付けよ。
変数名はできる限り理解しやすいものを考え、各チームのメンバーのフルネームと学籍番号も
分かるようにすること。また、各チームにはチーム番号をつけよ。
という物なのですが、ここまで指定されていたら作れるのが当たりまえなのかもしれませんが、初心者
なものでほぼ手につきませんので、教えてください。
0972デフォルトの名無しさん
NGNGもう7月です。今の時点でこんなことをしてたら2年後なり4年後なりに自分がどうなるか考えなさい。
0973デフォルトの名無しさん
NGNGということで、>966 のWin(DOS)系用 (-DPOSIX で POSIX 系用) 作成。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=141
0974デフォルトの名無しさん
NGNG0975デフォルトの名無しさん
NGNGerror C2440: '=' : 'void *' から 'filelist *' に変換できません。
'void*' から非 'void' 型への変換には明示的なキャストが必要です。
と出て、コンパイルできません。
これなんでしょうか?
0976デフォルトの名無しさん
NGNG多分 malloc の返り値の型(void *) と代入先の型 (filelist *) が違うからかな。
↓はてさて、これで直るか?
if (curr == 0) { /* 新しい構造体を確保 */
- file = malloc(sizeof(filelist));
+ file = (filelist *)malloc(sizeof(filelist));
curr = file;
} else {
- curr->next = malloc(sizeof(filelist));
+ curr->next = (filelist *)malloc(sizeof(filelist));
curr = curr->next;
}
0977デフォルトの名無しさん
NGNG0978デフォルトの名無しさん
NGNGどういいう意味?
VCじゃ、コンパイルできないの??
0979デフォルトの名無しさん
NGNG通りました。どもありがとう。
0980デフォルトの名無しさん
NGNGどうせだったらWin32API使ってバリバリに書けよw
0981デフォルトの名無しさん
NGNG>973はC。C++としてコンパイルするからエラーになる。ちゃんとCとしてコンパイルすれば通るよ。
0982デフォルトの名無しさん
NGNGただでさえ低い可搬性をさらに下げろと………
0983デフォルトの名無しさん
NGNG問題は「2頂点の最短距離と経路を表示させるプログラムに修正せよ」
です。助けてくれ〜
0984デフォルトの名無しさん
NGNGtypedef unsigned int Pages; /* ページ数 */
typedef char *Title; /* 文献のタイトル */
typedef char *Nname; /* 作者の名前 */
typedef char *Description; /* 説明 */
」
これを使って定義したデータ型を使用して、標準入力から論文データを
読み込み、論文リストを保持し、標準出力への表示を行うプログラムを
malloc関数とsizeof演算子を用いて作成せよ。
という問題です。教えてください。
0985デフォルトの名無しさん
NGNG適当な長さの10個の文字列を配列に読み込み、それらを短い順に並べて
表示するプログラムを作成しなさい。並べ替えは関数を使って行うこと。
文字列はchar型2重配列を使うこと。
0986デフォルトの名無しさん
NGNG意外と多いのね
0987デフォルトの名無しさん
NGNG#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define TEKITOU 256
int compare(const void *a, const void *b)
{
int x = strlen((const char *)a);
int y = strlen((const char *)b);
return (x < y)? -1: (x > y)? 1: 0;
}
int main(void)
{
char strings[10][TEKITOU];
int i:
for (i = 0; i < 10; ++i) { printf("string %d: ", i); fgets(strings[i], TEKITOU, stdin); }
qsort(strings, 10, TEKITOU, compare);
for (i = 0; i < 10; ++i) { printf("%s\n", strings[i]); }
return 0;
}
0988おしえてください
NGNGvoid mul(const int ma[2][3],const int mb[3][2],const int mc[2][2]);
main()
{
int i,j;
int ma[2][3]={{1,2,3},{4,5,6}};
int mb[3][2]={{1,5},{5,3},{8,1}};
int mc[2][2];
mul(ma,mb,mc);
for(i=0;i<=1;i++){
for(j=0;j<=1;j++){
printf("%4d",mc[i][j]);
}
putchar('\n');
}
return(0);
}
void mul(const int ma[2][3],const int mb[3][2],const int mc[2][2]) ←24行目
{
int i,j,k;
for(i=0;i<=1;i++){
for(j=0;j<=1;j++){
for(k=0;k<=2;k++){
mc[i][j]+=ma[i][k]*mb[k][j];
}
}
}
return;
}
行列の積を求めるのですが、これをコンパイルすると、”c 24: can't change value of const object (+=)”と出ます。
0989デフォルトの名無しさん
NGNG俺には、24行目は
> mc[i][j]+=ma[i][k]*mb[k][j];
に見えるのだが。
だとすると、const int mc[2][2] に代入できるわけがない。
0990おしえてください
NGNG0991デフォルトの名無しさん
NGNG代入しようとしてるのがまずい。
ma と mb から mc を求めるんなら、const は ma と mb にしか付けてはいけない。
0992デフォルトの名無しさん
NGNGありがとうございました。勉強になりました
0993デフォルトの名無しさん
NGNG0994デフォルトの名無しさん
NGNG0995デフォルトの名無しさん
NGNG0996デフォルトの名無しさん
NGNG0997デフォルトの名無しさん
NGNG0998デフォルトの名無しさん
NGNG0999デフォルトの名無しさん
NGNG1000デフォルトの名無しさん
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。