C/C++の宿題やらせてください。9代目
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
NGNG今まで1年*ヶ月、ほとんど毎日休まず一生懸命C++を勉強してきた。
わからない宿題若しくは処理があったら私にやらせてくださいm(_ _)m
8代目(前スレ): http://pc2.2ch.net/test/read.cgi/tech/1055056940/l50
7代目: http://pc2.2ch.net/test/read.cgi/tech/1053963794/l50
6代目: http://pc2.2ch.net/test/read.cgi/tech/1053045530/l50
5代目: http://pc2.2ch.net/tech/kako/1051/10515/1051594046.html
4代目: http://pc2.2ch.net/tech/kako/1045/10450/1045074808.html
3代目: http://pc2.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
ラウンジ:質問が長い時はココを使うと便利
http://do.sakura.ne.jp/%7Ejunkroom/cgi-bin/megabbs/lounge/index.html
0002デフォルトの名無しさん
NGNG0003デフォルトの名無しさん
NGNG>>乙
0004964
NGNG>> 997
http://pc2.2ch.net/test/read.cgi/tech/1055864305/49
これ↑も私なんですよ。
だけど、うまくできない気がするのです。
0005デフォルトの名無しさん
NGNGその方法でできる。
0006964
NGNGlist={a, b, c, d, e} として、一番下の葉を(ab) として考えると、
list={(ab), c, d, e} として4要素の木について再帰的に行うことに
なると思うのですが、
この木の作り直しをどうすればよいのか分からないのです。
list[0]=(list[0] と list[1] をくっつけたやつ)
list[1]=list[2]
list[2]=list[3]
list[3]=list[4]
て、効率悪いですよね?
0007デフォルトの名無しさん
NGNG0008デフォルトの名無しさん
NGNG具体的に何がしたいんだ?
0009964
NGNG最終的に作りたいのは、根無し木なので、
((((ab)c)d)e) と (((ab)c)(de)) は同じとみなさなくてはいけないのですよ。
そのことを言っているのかと早とちりしてしまいました。
でも、これに対する対処は後から考えますので、その前に木の作り直しを、
・(list[0] と list[1]をくっつけたもの) を list に追加
・list[0] と list[1] を list から消去
だけでできるようにしたいのです。
list 構造を使うか、インデクスを使うことになると思うのですが、
よく分かりません。
0010デフォルトの名無しさん
NGNGとりあえずそれでやってみたら?
動くものをつくってから、効率云々考えてもいいんじゃない?
叩き台があったほうがアドバイスも出やすいと思うよ。
0011デフォルトの名無しさん
NGNGよくわからんが、
list[0]=(list[0] と list[1] をくっつけたやつ)
list[1]=list[4]
でどーよ。
0012デフォルトの名無しさん
NGNG二つの正の整数を入力して、その整数と整数の間にある
素数を求めるというプログラムなのですが、以下で実行してみたところ
ふたつめの整数がひとつめの整数よりも大きい場合には正しく動作したのですが
ひとつめの整数がふたつめの整数より大きい場合に正しく動作してくれません。
0013デフォルトの名無しさん
NGNGint main(void)
{
int i, a, b;
do {
printf("1つめの正の整数を入力してください:");
scanf("%d", &a);
if (a < 0);
{
puts("正の整数を入力してください");
}
} while (a < 0);
do {
printf("1つめの正の整数を入力してください:");
scanf("%d", &b);
if (b < 0);
{
puts("正の整数を入力してください");
}
} while(b < 0);
printf("%dと%dの間にある素数を表示します。\n", a, b);
0014デフォルトの名無しさん
NGNGif (a < b)
{
for (a; a <= b; a++)
{
for (i = 2; i < b; i++)
{
if (a % i == 0)
{
break;
}
}
if (a == i)
{
printf("%d\n", a);
}
}
}
0015デフォルトの名無しさん
NGNG{
for (b; b <= a; b++)
{
for (i = 2; i < a; i++)
{
if (b % i == 0)
{
break;
}
}
if (b == i)
{
printf("%d\n", b);
}
}
}
return(0);
}
0016デフォルトの名無しさん
NGNGよくわらんが、それを一緒くたにしたら括弧関係なくならないか?
0017デフォルトの名無しさん
NGNGprintf("%dと%dの間にある素数を表示します。\n", a, b);
if(a>b){i=a;a=b;b=i} // 取り敢えず、この1行を入れなはれ
0018964
NGNGとりあえず、ものはできました。
>>11
そうすると、対象性がぐちゃぐちゃになりますよね。
(c(ab)) が生成されることになる。これは ((ab)c) と一緒だから
作りたくないんですよ。
0019964
NGNGvoid tree(struct ArraySeq array[], int Num){
char tmp[100];
char left[100]="(";
char right[100]=")";
char comma[100]=",";
int i=0;
int j=0;
int k=0;
struct ArraySeq newarray[MaxNumLeaves];
if (Num == 1){
printf("%s\n", array[0].Seq);
}else{
for (i=0; i < Num-1; i++){
for (j=i+1; j < Num; j++){
strcpy(tmp, left);
strcat(tmp, array[i].Seq);
strcat(tmp, comma);
strcat(tmp, array[j].Seq);
strcat(tmp, right);
strcpy(newarray[i].Seq, tmp);
0020964
NGNGstrcpy(newarray[k].Seq, array[k].Seq);
}
for (k=i+1; k < j; k++){
strcpy(newarray[k].Seq, array[k].Seq);
}
for (k=j; k < Num-1; k++){
strcpy(newarray[k].Seq, array[k+1].Seq);
}
}
}
}
}
0021964
NGNGもう少し効率を上げたいので、この部分を何とかしたいのですが。
ちなみに最初の array が {A,B,C,E} とかだと、
(((A,B),C),D)
(((A,B),D),C)
((A,B),(C,D))
(((A,C),B),D)
(((A,C),D),B)
((A,C),(B,D))
(((A,D),B),C)
(((A,D),C),B)
((A,D),(B,C))
((A,(B,C)),D)
((A,D),(B,C))
(A,((B,C),D))
((A,(B,D)),C)
((A,C),(B,D))
(A,((B,D),C))
((A,B),(C,D))
((A,(C,D)),B)
(A,(B,(C,D)))
とちゃんとできます。
0022964
NGNGこれってどうやって除外しよう・・・。
0023デフォルトの名無しさん
NGNG0024デフォルトの名無しさん
NGNG10名の学生の名前、得点、偏差値(数値は適当でよい)を入力し、出力しなさい。
ここで、構造体のメンバーの参照は、構造体ポインタ変数を用いた間接参照とする。
2.1.を改良し、最も得点の高い学生を選ぶプログラムにしなさい。
最大値を求める部分は関数にしなさい。
0025デフォルトの名無しさん
NGNG#include "stdio.h"
struct seiseki{
char name[10];
int tensu;
float hensachi;
};
main()
{
struct seiseki gakusei[10];
struct seiseki *p;
int i;
p=gakusei;
printf("名前 点数 偏差値 を入力\n");
for(i = 0; i < 10; i++){
scanf("%s %d %f", p->name, &p->tensu, &p->hensachi);
p++;
}
p=gakusei;
putchar('\n');
for(i = 0; i < 10; i++){
printf("名前:%s \n点数:%d \n偏差値:%f \n\n", p->name, &p->tensu, &p->hensachi);
p++;
}
return 0;
}
0026デフォルトの名無しさん
NGNGで?
0027デフォルトの名無しさん
NGNG点数と偏差値がうまく表示できないです。
0028デフォルトの名無しさん
NGNG-#include "stdio.h"
+#include <stdio.h>
-main()
+int main()
- printf("名前:%s \n点数:%d \n偏差値:%f \n\n", p->name, &p->tensu, &p->hensachi);
+ printf("名前:%s \n点数:%d \n偏差値:%f \n\n", p->name, p->tensu, p->hensachi);
0029デフォルトの名無しさん
NGNG0030デフォルトの名無しさん
NGNG1.円筒の表面積A及び体積Vを計算するプログラムを作りなさい
なお以下のような構成にすること
#include <stdio.h>
#define PAI 3.14159
main()
{
GetInputs(&r,&h); /*scanfでr,hを読み込む関数*/
ComputeAandV(r,h,&A,&V); /*表面積及び体積を計算する関数*/
DisplayAnswers(A,V); /*解をファイルに書き出す関数*/
}
003130
NGNG#include <stdio.h>
#define PAI 3.14159
void GetInputs(double *rp, double *hp);
void ComputeAandV(double r,double h, double *Ap,double *Vp);
void DisplayAnswers(double A,double V);
int main()
{
double r1,h1,A1,V1;
GetInputs(r1,h1);
ComputeAandV(r1,h1,&A1,&V1);
DisplayAnswers(A1,V1);
return(0);
}
003231のつづき
NGNG{
printf("半径rと高さhを入力してください。\n");
printf("r:"); scanf("%lf",&r);
printf("h:"); scanf("%lf",&h);
}
void ComputeAandV(double r,double h,double *Ap,double *Vp)
{
*Ap=2*PAI*r*h;
*Vp=PAI*r*r*h;
}
003332のつづき
NGNG{
printf("表面積は%lfで体積は%lfです。\n",A,V);
}
0034デフォルトの名無しさん
NGNG0035デフォルトの名無しさん
NGNGこれじゃ、呼び出し元にr,hは渡らない。
0036デフォルトの名無しさん
NGNGGetInputs(r1,h1)とComputeAandV(r1,h1,&A1,&V1)の引数の使い方を比べてみよう
あともう少しだな
0037デフォルトの名無しさん
NGNGvoid GetInputs(double *rp, double *hp)で宣言しておいて
void GetInputs(double r,double h)と定義してる
003830
NGNGすいません言い方が悪かったです
Null Reference なんとかというのが出てくるんです。
>>35
void GetInputs(double *r,double *h)
にすればいいんですか?
>>37
間違えました・・・
先ほどから頑張ってるんですが本見てもよく分かりません・・・
0039デフォルトの名無しさん
NGNG直接の答ではないけど、関数で変数を設定するにはこんな感じ。
#include <stdio.h>
void
substitute1(double *x)
{
*x = 0.1;
}
int main(){
double a;
substitute1(&a);
printf("%f\n", a);
return 0;
}
004030
NGNGありがとうございました。
0041デフォルトの名無しさん
NGNGclock_t StartTime = clock();
while((int)((clock() - StartTime) / CLOCKS_PER_SEC) < sec)
}
上の関数を利用して1秒毎にコンマ’.’を表示させたいんですが、
どうすればいよいでしょうか?
004241
NGNG004341
NGNGint i = 0;
while(i++ < sec){
while(1){
clock_t StartTime = clock();
while((int)((clock() - StartTime) / CLOCKS_PER_SEC) < 1);
break;
}
putchar('.');
}
}
これで一応成功したんですが、もっといい方法ってありますよね?
0044デフォルトの名無しさん
NGNGhttp://yahooo.s2.x-beat.com/linkvp/linkvp.html
004541
NGNG0046デフォルトの名無しさん
NGNG利用してってそういうことなのか?
004741
NGNGint i = 0;
while(i++ < sec){
clock_t StartTime = clock();
while((int)((clock() - StartTime) / CLOCKS_PER_SEC) < 1);
putchar('.');
}
}
ここまで短くなりましたが、もっとスマートな方法ってありますかね?
0048デフォルトの名無しさん
NGNGwhile(1){
wait(1);
printf(".");
}
}
004941
NGNGはい、
>clock_t StartTime = clock();
>while((int)((clock() - StartTime) / CLOCKS_PER_SEC) < sec);
上の部分をうまく利用して、という意味です。
いや、別に利用しなくてもいいんですが、
思いつくのがこれしかなくて・・・。
0050デフォルトの名無しさん
NGNG#include <time.h>
void wait(int sec)
{
clock_t StartTime = clock();
while((int)((clock() - StartTime) / CLOCKS_PER_SEC) < sec);
}
int main()
{
for (;;) {
putchar('.');
fflush(stdout);
wait(1);
}
return 0;
}
0052デフォルトの名無しさん
NGNG木とは階層をもつデータ構造で、親(要素)は複数の子(要素)を持つが、
子は1つの親しか持たない。
親がたかだか2つの子しか持たないような木を2分木という。
0053デフォルトの名無しさん
NGNG0054デフォルトの名無しさん
NGNG0055デフォルトの名無しさん
NGNG君にはここがお似合い
http://jbbs.shitaraba.com/computer/6765/
0056デフォルトの名無しさん
NGNG0057デフォルトの名無しさん
NGNGvoid *hoge(){
char *aho;
aho = (char *)malloc(100);
}
void main(){
/*
プログラム
*/
/*ahoを開放*/
}
0058ランランラン
NGNG6個とも何を計算するプログラムかを教えてください
�@void main()
{
int a,b,x,y,s=0;
scanf("%d",&x),scanf("%d",&y);
for(a=0;a<x;a++) {
for(b=0;b<y;b++)
s+=b;
}
printf("%d\n",s);
}
0059ランランラン
NGNG{
int a,b,x,s=0;
scanf("%d",&x);
for(a=0;a<x;a++) {
for(b=0;b<y;b++)
s+=b;
}
printf("%d\n",s);
}
0060ランランラン
NGNG{
int a,x,s=0;
scanf("%d",&x);
while (x--) {
s+=x;
}
printf("%d %d\n",x,s);
}
0061デフォルトの名無しさん
NGNGそれじゃ、解放できなくなる。普通は
------------------------------
char *create_hoge(void){
return malloc(100);
}
void delete_hoge(char *a){
free a;
}
main(){
char *aho;
aho = create_hoge();
//処理
delete_hoge(aho);
}
------------------------------
みたいにする。
0062ランランラン
NGNG{
int x,y=0;
x=0;
while (y<=200) {
x++;y+=x;
}
printf("%d\n",x);
}
0063ランランラン
NGNG{
int x,y=0,a;
x=0;
scanf("%d",&a);
while (y<=a) {
x++;y+=x;
}
printf("%d\n",x);
}
0064デフォルトの名無しさん
NGNG再利用しないなら開放する必要は無い
0065>>57
NGNGあるいは、free(aho); と書いてもよい。実害はない。益もないが。
0066デフォルトの名無しさん
NGNGfreeできないよ
0067デフォルトの名無しさん
NGNG0068デフォルトの名無しさん
NGNG#include <stdio.h>
#include <stdlib.h>
main()
{
int i, j, k;
int a[8] = {3, 13, 45, 55, 30, 46, 74, 87};
int b[8];
printf("整列前\t");
for ( i = 0; i < 8; i++ ) {
printf("%2d ", a[i]);
}
printf("\n");
printf("整列後\t");
for ( i = 0; i < 8; i++ ) {
printf("%2d ", a[i]);
}
}
0069ランランラン
NGNG{
int x,y=0,a,w;
x=0;
scanf("%d",&a);
while (y<=a) {
x++;
for(w=1;w<=x;w++)
y+=w;
}
printf("%d\n",x);
}
以上です。お手数ですがお願いします
007057
NGNG>>61さんのも試してみたいと思います。
それから、もうひとつ似たようなもので質問よろしいでしょうか?
free()の引数にはアドレスが入ってそのアドレスのメモリを開放するんですよね?
ってことは
char *hoge(){
char *aho;
aho = (char *)malloc(100);
return aho;
}
void main(){
char *ahooo;
ahooo = hoge()
/*
プログラム
*/
/*ahoを開放*/
}
としたら、mainにfree(ahooo);としてもahoは開放されるってことなんでしょうか?
0071デフォルトの名無しさん
NGNGされるよ
0073デフォルトの名無しさん
NGNG領域確保を関数内でするなら、それと対になった開放用の関数をつくった方がいい。
007452
NGNGどういうことを付け足せばいいの?
というか詳しくないという判断がつく程度の知識があるなら、
自分で満足するものを書けばいいと思うが。
字数を増やして欲しいというのなら、
テキトーに足しますが…
0075デフォルトの名無しさん
NGNGchar mojic(char a[],char b[])
{
char *pa,*pb,*ps,s[80];
pa=a;pb=b;ps=s;
while((*ps=*pa)!='\0'){
ps++;
pa++;
}
ps++;
while((*ps=*pb)!='\0'){
ps++;
pb++;
}
return(s);
}
main(void)
{
char a[80],b[80];
printf("Input strings 1?");
scanf("%s",a);
printf("\nInput strings 2?");
scanf("%s",b);
printf("\nOutput :%s",mojic(a,b));
return 0;}
Cで文字列コピーの関数を作ったのですが
'return' : 'char [80]' から 'char' に変換することはできません。
この変換には reinterpret_cast, C スタイル キャストまたは関数スタイルのキャストが必要です。
というエラーがでてコンパイルできません。
どこを直せばいいのか検討がつかないのでご教授お願い致します。
0076デフォルトの名無しさん
NGNGchar *mojic(char a[],char b[], char s[]){
//処理
return s;
}
main()
char a[80],b[80],s[80];
//a,bデータセット
printf("%s",mojo(a,b,s));
}
007776
NGNG0078デフォルトの名無しさん
NGNGatoiを作る〜とか。
0079デフォルトの名無しさん
NGNG参考書の「関数」の章を見れ。
0080デフォルトの名無しさん
NGNG本当は、図で示せば分かりやすいんだけどね。
0081デフォルトの名無しさん
NGNGありがとうございました!!
008282
NGNGファイルfdataに書き込むプログラムを作成しなさい。ただし、入力の
終了は記号'/'の入力で判定を行うこと。
0083デフォルトの名無しさん
NGNGint main()
{
int c;
FILE *fp;
fp=fopen("fdata","w"); // 失敗しない。絶対に失敗しない。しないったらしない。
while((c=getchar())!='/')
fputc(c,fp);
fclose(fp);
return 0;
}
008482
NGNG標準入力関数fgetcを用い、コマンドラインからファイル名を指定した
ときに、その次から1文字ずつ読み込み、ディスプレイに表示する
プログラムを作りなさい。
ヒント:コマンドラインからファイル名を指定する方法に関しては、
以下を利用のこと。
int main(int argc, char *argc[])
{
FILE *fp_r, *fp_w;
if(argc == 1){
fp_r = stdin;
fp_w = stdout;
}
else
fp_r = fopen(argc[1],"r");
fp_w = stdout;
}
if(fp_r = NULL || fp_w == NULL) exit(-1);
fclose(fp_r);
fclose(fp_w);
return 0;
}
お願いします
0085デフォルトの名無しさん
NGNG0086デフォルトの名無しさん
NGNG008782
NGNGその次から→そのファイルから
です。ごめんなさい
0088デフォルトの名無しさん
NGNGそうだよね。ひどいよね。
0089デフォルトの名無しさん
NGNG13万円だけ儲けました
さあ マネーゲームの始まりです。メール1通送るだけで1000円ゲッツ
この情報で月30万円ぐらい稼ぐ勢いだよ みんな真似して転売しよう
http://user.auctions.yahoo.co.jp/jp/user/yaekaoricom?
http://user.auctions.yahoo.co.jp/jp/user/「 」?
まず落札して情報を仕入れます。
「 」 に自分のIDを貼り付けて2CHに貼ります。
それから自分もよく似た文章でヤフオクに出品する ウマー
0090デフォルトの名無しさん
NGNG0091デフォルトの名無しさん
NGNGwhile((c = fgetc(fp_r)) != EOF)
{
fprintf(fp_w, "%c\n", c);
}
0092デフォルトの名無しさん
NGNG0093アルジャーノン
NGNGキーボードから文字を入力し、memo.txtの中を一行ずつ検索して
符合するかどうかを出力するプログラムなのですが改行コードを削ると
どうしてもうまくいきません。コメント内の**で示してある個所をコメントアウト
すると動くのですが、都合上改行コードは削っておきたいのです。
どうすればよいのでしょうか・・・(投稿時改行多すぎるといわれたので無理矢理行数削ったので見辛いですごめんなさい。)
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void main(){char word[256];char hikaku[256];int flag=0;FILE *fp;fp=fopen("memo.txt","r");
if(fp==NULL){printf("コマンドファイルが見つかりません。");exit(1);}
printf("キーワードを検索します:");
fgets(word,256,stdin);word[strlen(word)-1]='\0';//ここと
while(fgets(hikaku,256,fp)!=NULL)hikaku[strlen(hikaku)-1]='\0';//ここ
if(strcmp(hikaku,word)==0)flag=1;
if (flag==1)printf("見つかりました\n");else printf("見つかりませんでした\n");
printf("お疲れ様。\n");fclose(fp);
}
/*
---memo.txtの中身---
mona
(´∀` )
*/
0094デフォルトの名無しさん
NGNG改行コードを削ることが問題なのではありません
再度よーくコードを眺めてみてください
0095デフォルトの名無しさん
NGNG改行コードを削りたいのは変数に改行を入れておきたくない、
ということです。(後の処理が面倒なので・・・)
ここにソースを貼り付けてカキコしようとしたら、改行が多すぎると怒られたので
無理矢理ソースの改行を削った、という意味です。
「別の意味でいってんだバカ!('A`)」
だったらごめんなさい・・・
0096デフォルトの名無しさん
NGNGstrcmp(hikaku,word) は何回評価されるのかな、という話かと
0097デフォルトの名無しさん
NGNGほんとによーく眺めた?
hikaku[strlen(hikaku)-1]='\0'をputs("bug")で置き換えてみ。
結果はどうなる?それともコピペミスかい?
0098アルジャーノン
NGNG解決熟女しましたー。{}をつけていませんでした。ありがとうございます。やっと寝れる・・・。
じゃ彼女とぬっぽり寝てきます('∀`)マダキンヨウダヨー
0100Ωアルジャーノン
NGNG0101Ωアルジャーノン
NGNG0102デフォルトの名無しさん
NGNGアルジャーノンをよろしく
0103デフォルトの名無しさん
NGNG0104デフォルトの名無しさん
NGNG0105デフォルトの名無しさん
NGNGの三つの要素をもつ構造体に格納するプログラムを書け
0106デフォルトの名無しさん
NGNG0107デフォルトの名無しさん
NGNG2分木とは近い距離で発芽した木の根元付近がつながり、二股に分かれているように見える木のことである。
0108デフォルトの名無しさん
NGNG0109デフォルトの名無しさん
NGNG>>316
0110デフォルトの名無しさん
NGNG0111デフォルトの名無しさん
NGNGmain(){
char *a = "(^^";
char *b = ")";
printf("%s,%s",aa,b);
}
011252
NGNG「木とはなにか」という問いだと、
「木とは〜である」という一文に収まる程度の答えをするのが普通で、
詳しい説明を期待していない問いだと思う。
それだから、>>107 は「とは〜である」というように書いている。
残念ながら >>52 は「とは〜である」というようには書いていないが、
それでも短くまとめた。
>>105
前スレの316はその三要素を構造体を格納するプログラムでもある。
レスを無視したりせず、レスに不満があるならその旨を書いてくれ。
そうしてくれないと対応し辛い。
0113デフォルトの名無しさん
NGNG#pragma warning(disable : 4305 4309)
#include <stdio.h>
int main(void)
{
  char str[256] = {
    0x20, 0x20, 0x81, 0xc8, 0x81, 0x51,
    0x81, 0xc8, 0x0a, 0x20, 0x28, 0x20,
    0x81, 0x4c, 0x81, 0xCD, 0x81, 0x4d,
    0x29, 0x81, 0x83, 0x20, 0x20, 0x82,
    0xca, 0x82, 0xe9, 0x82, 0xdb, 0x0a
  };
  printf("%s\n", str);
  return(0);
}
0114デフォルトの名無しさん
NGNG突っ込みどころ満載だな。
0115デフォルトの名無しさん
NGNG0116デフォルトの名無しさん
NGNGnbspのあとにセミコロンをつけろと何度言えば分かるんだこの馬鹿!!!
0117デフォルトの名無しさん
NGNGという問題がでて作ってみたんですがどうでしょうか?
0118デフォルトの名無しさん
NGNGint main()
{
float l,h; //区間の設定
float y_l,y_h,y_m; //x=l,x=hのときのyの値
float x; //答えを代入
float p; //ループに使用する
float m; //中点
printf("2*x*x*x+x*x-1=0の解を求める\n");
printf("区間を指定して下さい\n");
printf("l=");scanf("%f",&l);
printf("h=");scanf("%f",&h);
y_l=2*l*l*l+l*l-1; //f(l)を計算
y_h=2*h*h*h+h*h-1; //f(h)を計算
p=1;
0119デフォルトの名無しさん
NGNG{
if(y_l*y_h<0) //二分法を使える条件を満たしているとき
{
y_l=2*l*l*l+l*l-1; //f(l)を計算
y_h=2*h*h*h+h*h-1; //f(h)を計算
m=(l+h)/2; //区間lとhの中点を求める
y_m=2*m*m*m+m*m-1; //f(m)を計算
if((y_m>0&&y_l>0)||(y_m<0&&y_l<0)) //f(m)とf(l)が同符号の時
{
l=m;
h=h;
}
else //f(m)とf(l)が異符号の時
{
l=l;
h=m;
}
p=p-0.00001; //カウンタ変数を少しずつ減らしていく
}
0120デフォルトの名無しさん
NGNG{
printf("区間[%f,%f]において解が存在しません\n",l,h);
break;
}
}
x=(l+m)/2; //解となる区間の中点を求める
printf("x=%f\n",x);
return 0;
}
0121デフォルトの名無しさん
NGNG何が?
0122デフォルトの名無しさん
NGNG・なぜfloatを使う
・pの使い方が?
0123デフォルトの名無しさん
NGNGなにかアドバイスあったらお願いします
0124デフォルトの名無しさん
NGNG言語仕様からはずしちゃえ。
0125デフォルトの名無しさん
NGNG0126デフォルトの名無しさん
NGNG0127デフォルトの名無しさん
NGNG教えてください
0128デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1054390397/
タダで最強!フリーC/C++コンパイラ
http://pc2.2ch.net/test/read.cgi/tech/1035882599/
0129デフォルトの名無しさん
NGNGマルチ死ね
0130デフォルトの名無しさん
NGNGSIMD, GPUで顔出すから何で使うのがダメなの?
0131デフォルトの名無しさん
NGNG0132デフォルトの名無しさん
NGNG�ALU分解する [L][U]
�BA=LUとなることを確認する。(掛け算)
�C右辺bを与え、LとUをもちいて、AX=bの解であるxを求める[x]
�DAX=bが正しく計算できているか確認。
以上のようなプログラムを作成せよ。
どなたかおねがいします。
0133デフォルトの名無しさん
NGNG0134デフォルトの名無しさん
NGNG0135デフォルトの名無しさん
NGNGつーわけで、>>132は、がんばってスレを延ばしてね
0136デフォルトの名無しさん
NGNGおい。ちんたらやってんじゃねえぞ
0137デフォルトの名無しさん
NGNG0138デフォルトの名無しさん
NGNGちなみに、俺は分からないから。
0139デフォルトの名無しさん
NGNG俺だってわかるもんか!
0140デフォルトの名無しさん
NGNG| ∧
|∀`) / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
|⊂ ) < まったくバカばっかりだな!
| | \_________________
|_)
|
|
| サッ
|) 彡
|
|
|
0141デフォルトの名無しさん
NGNGこの時点でアウト
0142デフォルトの名無しさん
NGNG「LU分解」
この時点でアウト
0143デフォルトの名無しさん
NGNG「132 :デフォルトの名無しさん :03/06/20 22:19」
この時点でアウト
0144デフォルトの名無しさん
NGNG有限要素法とかやれば使いまくるだろう。
でも忘れたんだよね(´・ω・`)
0145デフォルトの名無しさん
NGNG「Internet Explorer起動」
この時点でアウト
0146デフォルトの名無しさん
NGNG0147デフォルトの名無しさん
NGNG「WINDOWSを起動しています・・・」
この時点でアウト
0148デフォルトの名無しさん
NGNG「夜遅くに家に帰り、妻に遅かったのねってにらまれた」
この時点でアウト
0149デフォルトの名無しさん
NGNGオギャー
この時点でログアウト
0150デフォルトの名無しさん
NGNG「ドピュッ」
この時点で・・・もういいって!!
0151デフォルトの名無しさん
NGNGわんさか出ているからわざわざやる気がしない
0152デフォルトの名無しさん
NGNGLU分解はここに貼るような長さじゃないので例えば
ttp://www.library.cornell.edu/nr/bookcpdf/c2-3.pdf を参照。
46頁のludcmpがLU分解を行なう関数。コンパイルには
ttp://www.library.cornell.edu/nr/bookcpdf/c21-1.pdf にあるファイルが必要だが
必要な定義だけコピペすれば済む。
目次は ttp://www.library.cornell.edu/nr/bookcpdf.html にある。
0153デフォルトの名無しさん
NGNG(麻布第一小学校 入試問題)
0154デフォルトの名無しさん
NGNG小学校でプログラミングか。時代が変わったな。
0155デフォルトの名無しさん
NGNG違う。入試問題と言う事は小学校に入る前だから幼稚園でってことか。
0156デフォルトの名無しさん
NGNG0157デフォルトの名無しさん
NGNG0158デフォルトの名無しさん
NGNG(麻布第一小学校 追試問題)
0159デフォルトの名無しさん
NGNG0160デフォルトの名無しさん
NGNG0161デフォルトの名無しさん
NGNGKen Thompson was once asked what he would do differently if he were
redesigning the UNIX System. His reply: "I'd spell creat with an e."
- Brian Kernighan and Rob Pike
0162デフォルトの名無しさん
NGNGこれどーなった?
0163デフォルトの名無しさん
NGNG名前とIDのやつだっけ?
以前C++のコードをラウンジにはっつけといたよ。
その後もう少しきれいに表示するコードも作ったけどUPしないでおわった。
0164デフォルトの名無しさん
NGNGあれは「プログラムを作れ」なんて依頼じゃなくて、
大まかな方針が知りたいだけだったんだから、
本人が何も言ってこない限りもう終了でしょう。
0165デフォルトの名無しさん
NGNGポインタを使って作成せよ。
例 与えた文字列→ABCDE 出力結果→EDCBA
C言語です。よろしくお願いします。
0166デフォルトの名無しさん
NGNG本当に問題にそう書いてあるんだろうか?
0167デフォルトの名無しさん
NGNGそう書いていないと「どうやって文字列を与えるんだ?」と聞きまくる香具師が
以前大発生した為と思われ
0168デフォルトの名無しさん
NGNGBIOSシステムコールくらい基本中の基本だ
0169964
NGNGまだできていなく、再度お伺いしたく思います。
結局、
tree(配列Array){
配列Arrayを2つの配列array1とarray2に分けて、全ての分け方に対して、{
tree1=tree(array1);
tree2=tree(array2);
全てのtree1の要素t1とtree2の要素t2に対して{
配列Treeに"(t1, t2)"を加える
}
}
return Tree;
}
と考えているのですが、関数の配列の受け渡しがうまくいきません。
まだちゃんと書いていませんが、これだと、
再帰で呼び出した関数内部で呼び出しもとのTreeを書き換えてしまうようです。
どなたか、こんな感じで(でなくてもいいので)
書いていただけたら助かります。
よろしくお願いします。
0170デフォルトの名無しさん
NGNG0171デフォルトの名無しさん
NGNG#include <stdio.h>
int reverseline(FILE* fp)
{
char buf[BUFSIZ], *p;
int ret = 0;
if (fgets(buf, sizeof buf, fp) != NULL) {
for (p = buf; *p && *p != '\n'; ++p);
if (!(ret = *p == '\n'))
ret = reverseline(fp);
for (--p; p >= buf; --p)
putchar(*p);
}
return ret;
}
int main(void)
{
while (reverseline(stdin))
putchar('\n');
return 0;
}
0172デフォルトの名無しさん
NGNG全然やり方違うけど
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=94
>>9のこれは実現してない(ていうか、これは意味がわからん)
> ((((ab)c)d)e) と (((ab)c)(de)) は同じとみなさなくてはいけないのですよ。
0173デフォルトの名無しさん
NGNG下記のプログラムを改良して、盤面を文字を用いて表示させてください。
たとえば、1行目と2行目を描くと・・・
- - - - Q - - -
- - - - - - Q -
このような感じです。
よろしくお願いします。
0174デフォルトの名無しさん
NGNGint flag_a[8];/* 各行に王妃が配置済みか */
int flag_b[15];/* /対角線に王妃が配置済みか */
int flag_c[15];/* \対角線に王妃が配置済みか */
int pos[8];/* 各列の王妃の位置 */
/*--- 盤面(各列の王妃の位置)を出力 ---*/
void print(void)
{
int i;
for (i = 0; i < 8; i++)
printf("%2d", pos[i]);
putchar('\n');
}
0175173
NGNGvoid set(int i)
{
int j;
for (j = 0; j < 8; j++) {
if (!flag_a[j] && !flag_b[i + j] && !flag_c[i - j + 7]) {
pos[i] = j;
if (i == 7)/* 全列に配置終了 */
print();
else {
flag_a[j] = flag_b[i + j] = flag_c[i - j + 7] = 1;
set(i + 1);
flag_a[j] = flag_b[i + j] = flag_c[i - j + 7] = 0;
}
}
}
}
int main(void)
{
int i;
for (i = 0; i < 8; i++)
flag_a[i] = 0;
for (i = 0; i < 15; i++)
flag_b[i] = flag_c[i] = 0;
set(0);
return (0);
}
0176デフォルトの名無しさん
NGNGvoid print(void)
{
for (int row = 0; row < 8; row++) {
for (int col = 0; col < 8; col++) {
putchar(pos[row] == col ? 'Q' : '-');
}
putchar('\n');
}
}
0177173
NGNGさっそく print関数を入れ替えてコンパイルしてみました。
ですが、
エラー E2188 5-7.c 15: 式の構文エラー(関数 print )
エラー E2451 5-7.c 15: 未定義のシンボル row(関数 print )
エラー E2379 5-7.c 15: ステートメントにセミコロン(;)がない(関数 print )
とエラーがでてしまいます。
15行目は
for (int row = 0; row < 8; row++) {
この行です。解決方法をよろしくお願いします。
0178デフォルトの名無しさん
NGNG0179173
NGNGそれらしい結果は出力されますが、
8行目で区切りが無く、正しいのか分かりません。
さらなる改良をよろしくお願いします。
void print(void)
{
int row,col;
for (row=0; row < 8; row++) {
for (col=0; col < 8; col++) {
putchar(pos[row] == col ? 'Q' : '-');
}
putchar('\n');
}
}
0180173
NGNGvoid print(void)
{
int row,col;
for (row=0; row < 8; row++) {
for (col=0; col < 8; col++) {
putchar(pos[row] == col ? 'Q' : '-');
}
putchar('\n');
}
putchar('\n');
}
0181デフォルトの名無しさん
NGNG#include <stdio.h>
#define swap(type, x, y)do {type t = x; x = y; y = t; } while (0)
/*--- 単純交換ソート ---*/
void bubble(int a[], int n)
{
int i, j;
for (i = 0; i < n - 1; i++) {
for (j = n - 1; j > i; j--)
if (a[j - 1] > a[j])
swap(int, a[j - 1], a[j]);
}
}
int main(void)
{
int i;
int x[7];
int nx = sizeof(x) / sizeof(x[0]);
printf("%d個の整数を入力せよ。\n", nx);
for (i = 0; i < nx; i++) {
printf("x[%d] : ", i);
scanf("%d", &x[i]);
}
bubble(x, nx);/* 配列xを単純交換ソート */
puts("昇順にソートしました。");
for (i = 0; i < nx; i++)
printf("x[%d] = %d\n", i, x[i]);
return (0);
}
0182181
NGNG比較、交換を先頭側から行いたいです。最大要素が、末尾側に移動するようにします。
void bubble(int a[], int n)
{
int i, j;
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - 1 - i; j++)
if (a[j] > a[j++])
swap(int, a[j], a[j + 1]);
}
}
0183デフォルトの名無しさん
NGNG整数の場合に限り
#define swap(a,b) a^=b^=a^=b
が使える。
0185183
NGNGvoid bubble(int a[], int n)
{
int i,j;
for(i=0;i<n;i++){
for(j=i+1;j<n;j++){
if(a[i] > a[j]) swap(a[i],a[j]);
}
}
}
0186デフォルトの名無しさん
NGNG普通バブルソートって↑みたいにやるんでない?
0187181
NGNGですが、
#define swap(a,b) a^=b^=a^=b
は使わない方法が知りたいです。講義で習っていないので。
説明が足りなくて、お手数を掛けてしまいすいません。
よろしくお願いします。
0188181
NGNG異なった方法で求めさせる問題が多いのです。
0189デフォルトの名無しさん
NGNG応用汁!
0190デフォルトの名無しさん
NGNG未定義
0191デフォルトの名無しさん
NGNG0192デフォルトの名無しさん
NGNGどこら辺が未定義なのか
サンプルのコード出して解説きぼん。
0193デフォルトの名無しさん
NGNG俺もこんな言い訳したいよ。
0194_
NGNG0195デフォルトの名無しさん
NGNGないんだがなー。
0196デフォルトの名無しさん
NGNG副作用完了点は不定
ビット演算の結果は常に処理系依存
一つの評価単位で変数が二度以上変更されると未定義
不定、処理系依存、未定義。トリプル役満
0197デフォルトの名無しさん
NGNG0198デフォルトの名無しさん
NGNGdefine の後に()が付いてないのは頂けないし
swap(a,b++)とかしたら、どうすんだ?とも思うし
前の副作用完了点から次の副作用完了点までの間に
同一の変数が二度以上変更されると未定義だが
ビット演算の結果は常に処理系依存って言うのは、この場合関係ないだろ
0199デフォルトの名無しさん
NGNG0200デフォルトの名無しさん
NGNG#define swap(a,b) a^=b^=a^=b
こういうのって、なかなか思いつかないんだよな〜。
0201デフォルトの名無しさん
NGNGどうも。
>ビット演算の結果は常に処理系依存
>> or << のことと混同してない?
XOR演算が処理系依存なわけがないと思われ。
>一つの評価単位で変数が二度以上変更されると未定義
^= は右結合性だから、まともな処理系・コンパイラなら
(a^=(b^=(a^=b)))
と解釈されて大丈夫なはず。
とりあえず、ググって調べてみます。
0202デフォルトの名無しさん
NGNGだから、↓みたいにしないと駄目だって
#define swap(a,b) (a^=b^=a^=b)
>>201
まともであろうと、なかろうと、規格で未定義のものは使ったらアカンて
0203デフォルトの名無しさん
NGNGビット演算の結果は常に処理系依存って言うのは
-1&1, -1|1, -1^1 …のように、
数値をビット演算した結果の数値が処理系依存って事だと思う
(ビット演算なんだから、当然な訳で…)
まぁ、この場合、全く関係ない事ですけどね
0204デフォルトの名無しさん
NGNG>> or <<のことと・・・
orも処理系依存?とか思ってしまった俺ってバカ?
0205デフォルトの名無しさん
NGNG>>> or << のことと混同してない?
>>や<<は2^nの乗除と同等と定められている
&,|,^などの動作は処理系依存として何も規定されていない。
(数値的にだけでなく、ビット列についても全く何も規定していない)
我々が数学的に想像する結果はISO規格としては保証しないということ。
>^= は右結合性だから、まともな処理系・コンパイラなら(a^=(b^=(a^=b)))
ISOの規格上で未定義。もちろん動作する処理系があっても何もおかしくない
不定は三回の代入の順番を決められないところ。最後のa^=のときにまだ
最初のa^=bの代入が終わっていないかもしれない。
必ずISO準拠な訳でもないし、処理系で保証しているならそれもいいんだが
そんなわけでa-=b,b+=a,a=b-aに一票
0206デフォルトの名無しさん
NGNG・2つを足した場合
./tasizan 10 20
30
・3つ足した場合
./tasizan 10 20 30
2つにしてください
(2行目は出力結果)
と表示させるにはどうしたらいいですか?
0207デフォルトの名無しさん
NGNG負の>>は処理系依存。
> そんなわけでa-=b,b+=a,a=b-aに一票
オーバーフローはどうする?
0208デフォルトの名無しさん
NGNG>ビット列についても全く何も規定していない
それは、聞いた事が無いけど、普通ビット演算と言ったら
0&0 -> 0, 0&1 -> 0, 1&0 ->0, 1&1 -> 1
0|0 -> 0, 0|1 -> 1, 1|0 ->1, 1|1 -> 1
0^0 -> 0, 0^1 -> 1, 1^0 ->1, 1^1 -> 0
なのだから、
1+0 -> 1, 1-1 -> 0, 1*1 ->1
規定するまでもなく、ビットの列は保証されてるんじゃないの?
0209208
NGNG1+0 -> 1, 1-1 -> 0, 1*1 ->1
等と同様に、規定するまでもなく、ビットの列は保証されてるんじゃないの?
0210デフォルトの名無しさん
NGNG>負の>>は処理系依存。
ついでに負数回およびbit幅以上のシフトは未定義
>オーバーフローはどうする?
自分で気をつける。まあ遊びだよ
>>208
ちょっと混同していた。Cではそうなってるね
何も書かれていないのはC++のほうだった。見落としかもしれないけど
0211デフォルトの名無しさん
NGNG0212デフォルトの名無しさん
NGNGinline void swap(int &a, int &b){ a^=b^=a^=b;}
がマクロの罠回避で最強ということでよろしいか?
0213デフォルトの名無しさん
NGNG0は全てのビットが0である事が保証されている
また、0&1のビット演算に使用される型と==0の比較に使用される型は
等しいはすなので、その結果は0になると思われるけど…間違ってたらスマソ
0214デフォルトの名無しさん
NGNGいやそれは処理系依存だろうと思う。単に
each bit in the result is set if and only if each of the corresponding bits
in the converted operands is set
となっているだけだから。
ていうかお前らISO+IEC+9899-1999.pdf持ってないのか?
俺が超絶探査能力で見つけてやったぞ。有り難く思え
honors.tntech.edu/~will/iso_9899:1999.pdf
いいのかなあ?しーらないっと。
>>212
だから未定義だといっとるだろうが!!!!
>>213
探すの疲れたから代わりにやってくれ
0215デフォルトの名無しさん
NGNGStandard C ttp://www-ccs.ucsd.edu/c/ では
Each bit of the result is set if the corresponding bits in both X and Y are set.
となってるわけだが、
>>213
> 0は全てのビットが0である事が保証されている
こっちを見つけることが出来なかった。
もちろん普段はプラットフォームが分かってるから仮定して書いてるけど、
仕様がどうなってるかは知っておきたいなあ。
0216デフォルトの名無しさん
NGNG単純にソースレベルでの整数の'0'は保証されてたはず…
ただ、-0が存在する処理系で例えば
((a-a)&1==0)
が、どうなるのかは分からない…
0217デフォルトの名無しさん
NGNG#include<stdio.h>
int main(int argc, char **argv){
int i,j;
if(!(argc==3)){
printf("二つにしてください\n");
return 0 ;
}
sscanf(argv[1],"%d",&i);
sscanf(argv[2],"%d",&j);
printf("%d\n",i+j);
return 0;
}
0218デフォルトの名無しさん
NGNGありがとうございます
0219デフォルトの名無しさん
NGNG0220デフォルトの名無しさん
NGNG多倍長計算でマチンの公式あたりで。
0221デフォルトの名無しさん
NGNG電気通信大学の方ですか?
0222デフォルトの名無しさん
NGNGちゃうで
なんとなく多倍長のやりかた知りたかったんで
0223デフォルトの名無しさん
NGNG0224デフォルトの名無しさん
NGNG0225デフォルトの名無しさん
NGNG0226デフォルトの名無しさん
NGNGそのネタ飽きた
0227206
NGNG変数使用不可、標準ライブラリー関数3種類(4箇所で使う)でした
217さんごめんなさい
0228デフォルトの名無しさん
NGNG0229デフォルトの名無しさん
NGNG0230デフォルトの名無しさん
NGNG>変数使用不可
無理!!
以上
0231デフォルトの名無しさん
NGNG0232デフォルトの名無しさん
NGNG0233デフォルトの名無しさん
NGNG"文字列"も変数やて
それに、>>206はコマンドラインから入力を受け取ると思うのだが
argc と argv が使えないから、俺の頭では不可能
0234デフォルトの名無しさん
NGNG./a.out < input.txt
0235デフォルトの名無しさん
NGNG面倒やね…
0236デフォルトの名無しさん
NGNG0237デフォルトの名無しさん
NGNG30
0238デフォルトの名無しさん
NGNG>>206には、こう書いてあるのだが
>./tasizan 10 20
>./tasizan 10 20 30
確かに、>>227に入力方法を変えてはいけないと言う条件は無いな…
0239デフォルトの名無しさん
NGNG変数じゃなくて定数・・・
ダメ?
0240デフォルトの名無しさん
NGNGグッジョブ
そのネタ、今日一番おもろかった
0241206
NGNG…できませんTT
皆さんありがとうございました
0242デフォルトの名無しさん
NGNGちょっと待て、
変数使用不可と言う条件が不可能なだけで
恐らく、この課題を出された時に、
無条件に全ての変数の使用不可とは言われてないはずだ
つーわけで、もう少し詳しい条件は無いのか?
0244206
NGNG引数以外に変数を使わないこと。
って書いてあります。
0245デフォルトの名無しさん
NGNGif(!(argc==3)){
printf("二つにしてください\n");
return 0 ;
}
printf("%d\n",atoi(argv[1])+atoi(argv[2]));
return 0;
}
0246デフォルトの名無しさん
NGNG#include <stdlib.h>
int main(int argc, char** argv)
{
if (argc != 3) {
fputs("2つにしてください\n", stderr);
return 1;
}
printf("%d\n", atoi(argv[1]) + atoi(argv[2]));
return 0;
}
0247デフォルトの名無しさん
NGNGstderrは微妙に変数のような…
0248デフォルトの名無しさん
NGNGputs("2つにしてください");
0249デフォルトの名無しさん
NGNGマクロかもしれない
0250206
NGNGだんだん分かってきました
自分まだまだ勉強不足です。もっと勉強します
0251デフォルトの名無しさん
NGNGstdinもstdoutもstderrも
全部freopen()出来なかったっけ?
0252デフォルトの名無しさん
NGNG「問題文は出されたそのままを書きやがれ。
てめえの足りねえ頭で解釈した内容を書くんじゃねえぞゴルァ」
ってかいといたほうがよくない? ま、それでも不毛なやり取りはなくならんだろうけど。
0253デフォルトの名無しさん
NGNG全文が長すぎる場合に、そのまま全て書かせるのもどうかと…
0254デフォルトの名無しさん
NGNG読み込んだ文章と、その文中にある、
単語数、行数、段落数を出力するプログラムの宿題ですが、
途中までやって行き詰まっています。
誰か助けてください。
条件は、文頭にあるvoidの5種類の関数と、whileを使うことです。
自分で途中まで書いた分へのリンクを貼っておきます。↓
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=96
0255デフォルトの名無しさん
NGNGスマン
話の流れは読んでいないんだ。>>247しか見ていない。
0256デフォルトの名無しさん
NGNG問題の意味がわからん。ファイアーエムブレムなどで移動できる位置が明青化する
けど、あれの事?
0257デフォルトの名無しさん
NGNG> if(!(argc==3))
なぜif(argc!=3)と書かないの?
0258デフォルトの名無しさん
NGNGA*アルゴリズムを使って、最短距離探索プログラムを
組んでくれって言ってるんじゃない?
0259デフォルトの名無しさん
NGNGされないみたいだから、調べられないし。ファイアーエムブレムだと、
スタート:0,0 ゴール:4,0 コスト 草:1 森:2 山:4
\01234
0草草草草草
1山山山山草
2山草山森森
3山山森森草
4草草草草草
最短の道順は 0,1 1,1 2,1 3,1 4,1 4,0==12見たいにやるのですが。
惜しいのは、真下に行く==13、大きく回りこむ==13。
0260デフォルトの名無しさん
NGNGそのデータを配列に格納したいのですが、
データがいくつ入力されるのか分からないので、
配列をどのくらいの大きさで宣言すればよいのか分かりません。
そこでmallocでまずメモリを動的に確保して、
データが入力されるたびにreallocでメモリを増やすことを考えたのですが、
1回1回データが入力されるたびにreallocを呼び出すので、
なんだか効率が悪そうで気分が良くありません。
これを解決する何かよいアルゴリズムはありませんでしょうか。
それとも諦めて、多少メモリの無駄遣いにはなりますが、
最初から大きめに配列の大きさを宣言しておくのが良いのでしょうか。
C言語でお願いします。
0261デフォルトの名無しさん
NGNG256バイトずつ確保する
0262261
NGNG0263デフォルトの名無しさん
NGNG「エースター」で検索。
0264デフォルトの名無しさん
NGNGよく使われるのは足りなくなった時に現在の2倍reallocする方法
128,256,512,1024,...などなど
0266デフォルトの名無しさん
NGNGa-star で google
0267デフォルトの名無しさん
NGNGありがとうございます。ありました。
http://izariuo.s12.xrea.com/developing/findpath/
あらゆるパターンを調べていくという事だったので、ゲームで使っているのと
同じだった。遅くなるというのも同じだった。ただ、斜め移動とかどうなって
いるのかよく分からないのですが。
0268デフォルトの名無しさん
NGNG問題自体はよくある西暦・月・日を入力し、
その日の曜日を出力しなさいというプログラムなのですが、
配列や関数などは使わずにif・for・swich-case(breakを使って抜けてはいけない)
と、言う制限がついています。
宜しければ、どなたかヒントをご教授いただけないでしょうか。
ちなみに言語はCです。
宜しくお願いします。
0269132のクラスメート(おそらく)
NGNG関連ホームページみてもさっぱりです。
どなたか ば〜〜〜ん と答えお願いします。
0270デフォルトの名無しさん
NGNGすごいな
0271デフォルトの名無しさん
NGNG文字列定数はarray of charだがどうするんだ。
printfもscanfも使えないぞ。あっそれ以前に関数が使えないんだった
0272デフォルトの名無しさん
NGNG関数が使えないのだからprintfは最初っからつかえないのでokとか。
入出力どーすんだろね。
0273デフォルトの名無しさん
NGNG0274デフォルトの名無しさん
NGNG0275デフォルトの名無しさん
NGNGオマエニマカセタ
0276デフォルトの名無しさん
NGNG0277デフォルトの名無しさん
NGNG0278デフォルトの名無しさん
NGNGgotoは聞いた事がないので使ってはダメだと思います(^^;
0279デフォルトの名無しさん
NGNGならswitchは使うな。
0280デフォルトの名無しさん
NGNG0281デフォルトの名無しさん
NGNG#include<stdio.h>
#include<ctype.h>
#include<locale.h>
#include<wchar.h>
int main(){
int c,y=0,m=0,d=0,day;
wchar_t wc=0;
setlocale(LC_ALL, "japanese");/*ここだけは駄目だった*/
for(;c=getchar(),isdigit(c);y*=10,y+=c-'0');
for(;c=getchar(),isdigit(c);m*=10,m+=c-'0');
for(;c=getchar(),isdigit(c);d*=10,d+=c-'0');
if(m<3) m+=12,y--;
day=(y+y/4-y/100+y/400+(13*m+8)/5+d)%7;
switch(day){
case 0: wc+=L'日'-L'月';
case 1: wc+=L'月'-L'火';
case 2: wc+=L'火'-L'水';
case 3: wc+=L'水'-L'木';
case 4: wc+=L'木'-L'金';
case 5: wc+=L'金'-L'土';
case 6: wc+=L'土';
}
putwchar(wc);
return 0;
}
0282デフォルトの名無しさん
NGNG0283デフォルトの名無しさん
NGNGおぉ…ありがとうございますm(_ _)m
しかし、最初の#include部分はstidio.hまでしか使ったことがないのですが大丈夫でしょうか(汗
ちなみに教科書は
ttp://www.amazon.co.jp/exec/obidos/ASIN/4407023058/qid=1056272941/sr=1-11/ref=sr_1_0_11/250-3896315-5368237
を使っており、ここの3章までの内容で作れとの事でした…。
やはりこれだけで作るのはかなり面倒なんでしょうか?
0284デフォルトの名無しさん
NGNGそんなことやったって意味無いだろうに。ご愁傷様。
0285デフォルトの名無しさん
NGNGmain関数を「使って」いることにはならんのかな。
呼び出さなければ定義するのは問題ないのか?
0286デフォルトの名無しさん
NGNG今までやってきた問題では、最初は
#include<stdio.h>
int main (void)
{
}
return 0;
と、言った感じでした。
って、これが質問の答えになっているかどうかわからないですが(汗
0287デフォルトの名無しさん
NGNG0288デフォルトの名無しさん
NGNG曜日を表示したあとにreturnじゃだめなの?
0289デフォルトの名無しさん
NGNG0290デフォルトの名無しさん
NGNG0291デフォルトの名無しさん
NGNG#include<ctype.h>
int main(){
int c,y=0,m=0,d=0,day;
for(;c=getchar(),isdigit(c);y*=10,y+=c-'0');
for(;c=getchar(),isdigit(c);m*=10,m+=c-'0');
for(;c=getchar(),isdigit(c);d*=10,d+=c-'0');
if(m<3) m+=12,y--;
day=(y+y/4-y/100+y/400+(13*m+8)/5+d)%7;
switch(day){
case 0: putchar('S');putchar('U');putchar('N');return 0;
case 1: putchar('M');putchar('O');putchar('N');return 0;
case 2: putchar('T');putchar('U');putchar('E');return 0;
case 3: putchar('W');putchar('E');putchar('D');return 0;
case 4: putchar('T');putchar('H');putchar('U');return 0;
case 5: putchar('F');putchar('R');putchar('I');return 0;
case 6: putchar('S');putchar('A');putchar('T');return 0;
}
return 0;
}
0292デフォルトの名無しさん
NGNGswich-case-breakはOKなんだから、returnしなくてもいいし。
0293デフォルトの名無しさん
NGNG0294デフォルトの名無しさん
NGNG>>268 breakで抜けてはならない。
文字列定数は配列だから使用不可ということで。
0295デフォルトの名無しさん
NGNG0296デフォルトの名無しさん
NGNG0297デフォルトの名無しさん
NGNG同意。いくらなんでも〜の感が、おそらく釣りでしょう。
0298デフォルトの名無しさん
NGNG>>278でswich-case-breakはOKと書いてある。
0299デフォルトの名無しさん
NGNG「絶対使うな」ではなく出来れば使うなでした…。
話をややこしくしてしまったすみませんでした(汗
0300デフォルトの名無しさん
NGNGやはり無理でしょうか…。
0301デフォルトの名無しさん
NGNG0302デフォルトの名無しさん
NGNGおまいには >>281 や >>291 は見えないのか?
0303デフォルトの名無しさん
NGNGスレ汚しすみませんでした。
0304デフォルトの名無しさん
NGNGアッタマワルイデスネー
0305デフォルトの名無しさん
NGNG「西暦・月・日を入力し、
その日の曜日を出力しなさいというプログラムを
配列を使わずに、組め。」
だろ?違うのか?だったら>291でいいじゃん。
気に入らなきゃ、さっさと問題を直せ。
0306デフォルトの名無しさん
NGNG#include <stdio.h>
int main(){
int y,m,d,day;
printf("year/month/date>");
scanf("%d/%d/%d",&y,&m,&d);
day=(y+y/4-y/100+y/400+(13*m+8)/5+d)%7;
switch(day){
case 0:printf("日曜日\n");
break;
case 1:printf("月曜日\n");
break;
case 2:printf("火曜日\n");
break;
case 3:printf("水曜日\n");
break;
case 4:printf("木曜日\n");
break;
case 5:printf("金曜日\n");
break;
case 6:printf("土曜日\n");
break;
}
return 0;
}
0307デフォルトの名無しさん
NGNG0308デフォルトの名無しさん
NGNGがんばって、配列を使わずにテーブルを作ってね
0309デフォルトの名無しさん
NGNG名前とIDのやつね。
だれか教えてくれ。
0310デフォルトの名無しさん
NGNGchar* sun;
char* mon;
char* tue;
char* wed;
char* th;
char* fri;
char* sat;
}TABLE;
TABLE t = {"月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"};
/* dayに0-6が入ってる */
char* p;
p = (char*)&t + (day*sizeof(char*))
printf("%s"p);
0311310
NGNG0312デフォルトの名無しさん
NGNG316 名前:デフォルトの名無しさん[sage] 投稿日:03/06/11 03:15
>>238
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=87
0314デフォルトの名無しさん
NGNGアライメントの関係で動作は処理系依存
0315デフォルトの名無しさん
NGNGどこが?
0316デフォルトの名無しさん
NGNG0317デフォルトの名無しさん
NGNG使ってくれ
#include <stdio.h>
int main(void)
{
int y,m,day,d;
scanf("%d/%d/%d",&y,&m,&day);
if (m == 1 || m == 2) {
y--;
m += 12;
}
d = (y + y/4 - y/100 + y/400 + (13*m+8)/5 + day) % 7;
switch(d){
case 0:
puts("日");
case 1:
if(d) puts("月"); d = 0;
case 2:
if(d) puts("火"); d = 0;
case 3:
if(d) puts("水"); d = 0;
case 4:
if(d) puts("木"); d = 0;
case 5:
if(d) puts("金"); d = 0;
case 6:
if(d) puts("土"); d = 0;
}
return 0;
}
0318デフォルトの名無しさん
NGNG0319デフォルトの名無しさん
NGNG関数使いたいプログラムって何?
0320デフォルトの名無しさん
NGNG0321デフォルトの名無しさん
NGNG0322デフォルトの名無しさん
NGNG0323デフォルトの名無しさん
NGNG0324デフォルトの名無しさん
NGNG0325デフォルトの名無しさん
NGNGありがとうございます。
とても助かりましたー。
これで課題1はなんとかなりそうです。
0326デフォルトの名無しさん
NGNG↓なんですけど教えていただけませんか?
ttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=97
0327デフォルトの名無しさん
NGNG0328デフォルトの名無しさん
NGNG出力する宿題が出たのですが途中で改行が入っていて、うまく読み込むことができません。
どうすればいいのでしょうか?
どなたか教えてください。
0329デフォルトの名無しさん
NGNG>>252
0330デフォルトの名無しさん
NGNG0331デフォルトの名無しさん
NGNG「コマンドラインから与えられた文字列を読み込み」ならわかるんだが・・・
与えられた文字列ってどこから与えられた文字列?標準入力でいいの?
0332デフォルトの名無しさん
NGNG文字列の長さに制限はないの?
0334デフォルトの名無しさん
NGNG0335デフォルトの名無しさん
NGNG?
0336デフォルトの名無しさん
NGNGパイプから与えられるという意味では…
# 多分曲解
0337328
NGNG説明が悪かったです。
12345 67890
absde fghij
klmno pqrst
uvwxy z
↑をコマンドラインで読み込ませたいのですが、
うまくいきません。
どうしたらいいのでしょうか?
0338デフォルトの名無しさん
NGNGどういう結果になったの?
0339デフォルトの名無しさん
NGNG0340デフォルトの名無しさん
NGNGしかし君だけわかっていてもわしらにわかるわけないぞ。
0341デフォルトの名無しさん
NGNG4回実行する
0342328
NGNG#include<stdio.h>
int main(int argc,char *argv[])
{
int i;
for(i=0;i<argc;i++)
printf("%s\n",argv[i]);
return 0;
}
実行結果は
% comandline 12345 67890
comandline
12345
67890
% absde fghij
absde: Command not found.
% klmno pqrst
klmno: Command not found.
% uvwxy z
と、なりました。
0343デフォルトの名無しさん
NGNG12345 67890
absde fghij
klmno pqrst
uvwxy z
を
data.txt
っていうテキストファイルにして
プログラムと同じディレクトリに置いて
%commandline < data.txt
と実行して味噌
0344343
NGNGどーも、問題の理解の仕方がおかしいよ。
宿題の問題を全文書いて味噌。
0345デフォルトの名無しさん
NGNG% ./commandline '12345 67890
absde fghij
klmno pqrst
uvwxy z'
commandline
12345 67890
absde fghij
klmno pqrst
uvwxy z
%
0346328
NGNG% comandline < data.txt
commandline
%
と、なりました。
0347デフォルトの名無しさん
NGNG0348デフォルトの名無しさん
NGNG0349デフォルトの名無しさん
NGNG0350デフォルトの名無しさん
NGNG#include <stdlib.h>
#include <io.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#pragma pack(push,1)
typedef struct BITMAPFILEHEADE{
unsigned shortFileHeader;
unsigned intFileSize;
unsigned shortReserved1;
unsigned shortReserved2;
unsigned intOffset;
}BITMAPFILEHEADER;
typedef struct BITMAPINFOHEADER{
unsigned intStructureSize;
signed intImageWidth;
signed intImageHeight;
unsigned shortPlaneCount;
unsigned shortBitPerPixel;
unsigned intCompression;
unsigned intImageSize;
signed intXPixelPerMeter;
signed intYPixelPerMeter;
unsigned intColorTable;
unsigned intImportantColor;
}BITMAPINFOHEADER;
0351デフォルトの名無しさん
NGNGunsigned charBlue;
unsigned charGreen;
unsigned charRed;
unsigned charReserved;
}RGBQUAD;
typedef struct BITMAP{
BITMAPFILEHEADERBitmapFileHeader;
BITMAPINFOHEADERBitmapInfoHeader;
RGBQUAD*RGBQuad;
}BITMAP;
#pragma pack(pop)
0352デフォルトの名無しさん
NGNG先ず何がしたいのか書けよ。
0353デフォルトの名無しさん
NGNGBITMAP*Bitmap,
char*FileName)
{intFileHandle,X,Y,Index;
RGBQUAD*Pallete;
FileHandle= open(FileName,O_BINARY | O_RDONLY);
read(FileHandle,&Bitmap->BitmapFileHeader,sizeof(BITMAPFILEHEADER));
read(FileHandle,&Bitmap->BitmapInfoHeader,sizeof(BITMAPINFOHEADER));
Bitmap->RGBQuad= (RGBQUAD*)malloc(sizeof(RGBQUAD) * Bitmap->BitmapInfoHeader.ImageWidth * Bitmap->BitmapInfoHeader.ImageHeight);
switch (Bitmap->BitmapInfoHeader.BitPerPixel) {
case 32:
for (Y = 0; Y < Bitmap->BitmapInfoHeader.ImageHeight; Y ++)
for (X = 0; X < Bitmap->BitmapInfoHeader.ImageWidth; X ++)
read(FileHandle,&Bitmap->RGBQuad[Bitmap->BitmapInfoHeader.ImageWidth * Y + X],sizeof(RGBQUAD));
break;
case 24:
for (Y = 0; Y < Bitmap->BitmapInfoHeader.ImageHeight; Y ++)
for (X = 0; X < Bitmap->BitmapInfoHeader.ImageWidth; X ++) {
read(FileHandle,&Bitmap->RGBQuad[Bitmap->BitmapInfoHeader.ImageWidth * Y + X].Blue,sizeof(unsigned char));
read(FileHandle,&Bitmap->RGBQuad[Bitmap->BitmapInfoHeader.ImageWidth * Y + X].Green,sizeof(unsigned char));
read(FileHandle,&Bitmap->RGBQuad[Bitmap->BitmapInfoHeader.ImageWidth * Y + X].Red,sizeof(unsigned char));
Bitmap->RGBQuad[Bitmap->BitmapInfoHeader.ImageWidth * Y + X].Reserved= 0;
if (X == Bitmap->BitmapInfoHeader.ImageWidth - 1 && Bitmap->BitmapInfoHeader.ImageWidth % 4) {
switch (Bitmap->BitmapInfoHeader.ImageWidth % 4) {
case 3: lseek(FileHandle,1,SEEK_CUR);
case 2: lseek(FileHandle,1,SEEK_CUR);
case 1: lseek(FileHandle,1,SEEK_CUR);}}}
break;}
close(FileHandle);
free(Pallete);
return true;
}
0354デフォルトの名無しさん
NGNG0355デフォルトの名無しさん
NGNGintArgCount,
char*Argument[])
{
BITMAPBitmap;
if (ArgCount != 2) return 0;
LoadBitmapFile(&Bitmap,Argument[1]);
return 0;
}
やっぱりこっちに貼っておきます。
BMP画像を読み込もうとしていますが、動きません。
コンパイルはできるのですが・・・。
できるだけこれに近い状態で作りたいです。
>>327
ハイレベルでもC言語なら問題ないです。
>>352
申し訳ないです。
0356デフォルトの名無しさん
NGNG0357デフォルトの名無しさん
NGNGいえ、質問のほうです。
すいません。
0358デフォルトの名無しさん
NGNGこのプログラムの実行結果はどうなるの?
0359デフォルトの名無しさん
NGNG問題が発生したためTest.exeを終了します。って出ます。
0360デフォルトの名無しさん
NGNG読み込むだけなら、いろいろ計算せずに、こんな感じでいけると思うんだけど。
BITMAPFILEHEADER fileHeader;
char *buff;
int bodySize;
BITMAPINFO* bitmapInfo;
RGBQUAD*rgbuad;
char* data;
// とりあえずヘッダーだけ読む
read(fh, &fileHeader, sizeof(fileHeader));
// 残りを読み込むバッファを確保
bodySize = fileHeader.FileSize - sizeof(BITMAPFILEHEADER);
buff = (char*) malloc(bodySize);
// 残りを一気に読み込む
read(fh, buff, bodySize);
// BITMAPINFO の開始位置を計算
bitmapInfo = (BITMAPINFO*) buff;
// RGBQUAD の開始位置は計算
rgpQuad = (RGBQUAD*) (buff + sizeof(BITMAPINFOHEADER));
// ビットマップデータの開始位置を計算
data = buff + fileHeader.Offset - sizeof(BITMAPFILEHEADER);
// あとは、bitmapInfo, rgbQuad, data を利用して好きに料理する
0361デフォルトの名無しさん
NGNGPalleteを何も使ってないのにfree()に渡しているのが異常終了の原因。
#ふっ、出勤前の貴重な仮眠時間を消費しちまったぜ。
0362デフォルトの名無しさん
NGNGはい。 でも、読み込んで一次元のポインタで二次元配列みたいに使えるようにして
BitmapFileHeader+BitmapInfoHeader+RGBQuad*というメイン関数で宣言されている
構造体に格納したいんです。
ポインタではなく配列を使ってなら読み込めるのですが、
配列では必要なだけメモリを確保ということができないので・・・
(できる処理系が有ると聞いたことがあるのですが・・・本当かな?)
あと、このようにした場合確保したメモリはどこで開放すればよいのでしょうか?
>>361
本当だ。 ありがとうございます。
以上終了はしなくなりました。 でも・・・うまく読み込めてないです・・・。
全文↓
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=98
0363デフォルトの名無しさん
NGNGGaussの消去法を用いて解くCの宿題を教えてくれないか
tu-ka自力じゃ全くワカンネ
0364デフォルトの名無しさん
NGNG>うまく読み込めてないです
とはどういう状態だ?
小さ目の画像でテストするとして、例えばLoadBitmapFile()内の
YとXのループがちゃんと必要な回数回っているか、
ループから抜けた時点でファイルポジションが予想通り進んでいるか、
などなど自分でチェックできることは山ほどあるだろ?
0365デフォルトの名無しさん
NGNG0366デフォルトの名無しさん
NGNG何一つ文句の付けようのない完璧な答を出しましょう。
さもないと粘着される恐れがあります。
皆さん気をつけましょう。
0367デフォルトの名無しさん
NGNGくだらねえことで雰囲気悪くしてんじゃね('`)
0368デフォルトの名無しさん
NGNGhttp://216.239.39.100/search?q=cache:oS3E95qSqeMJ:fukunm12.nucl.kyushu-u.ac.jp/~akasaka/memo/c/simuleq.html+Pivot%E9%81%B8%E6%8A%9E+Gauss%E3%81%AE%E6%B6%88%E5%8E%BB%E6%B3%95
これ以上の要望には答える気はないので、粘着しないでねw
0369デフォルトの名無しさん
NGNGキミもね。
0370デフォルトの名無しさん
NGNG君もね
0371デフォルトの名無しさん
NGNG363に該当する例題文を教えてあげれば( ̄ー ̄)
0372デフォルトの名無しさん
NGNG---
次のような宿題が出されたのですが、どうしてもやりかたが解りません。
もし良かったら、助けてもらえませんか?
・任意の3x3(X)と1x3(Y)の実数行列を与える。
・これを、Pivot選択を考慮して、Gaussの消去法による連立方程式のプログラムを作成せよ。
・なお使用する言語は、C言語(Machine C除く)とする。
よろしくおねがいします。
---
これでいいでしょーか?
0373デフォルトの名無しさん
NGNG0374デフォルトの名無しさん
NGNGttp://fukunm12.nucl.kyushu-u.ac.jp/~akasaka/memo/download/gauss.pdf
0375デフォルトの名無しさん
NGNGを受け取り、そのデータの平均値を返す関数average(a, n)を作れ。
また、average()を用い、データの分散を返す関数variance(a, n)を作れ。
更にvariance()を用い、データの標準偏差(standard deviation)を計算する関数SD(a, n)を作り、
まず
1. データの個数(10以下)
次に
2. 各データの値(実数値)
を入力すると、そのデータの平均値、分散、標準偏差を表示するprogramを作りなさい。
Cでお願いします。
0376デフォルトの名無しさん
NGNGdouble s = 0;
int i;
for (i = 0; i < n; i++) {
s += a[i];
}
s /= n;
return s;
}
めんどくせ
0377デフォルトの名無しさん
NGNG#include <stdio.h>
#include <math.h>
double average(double *a, int n)
{
double sum; int i;
for(sum=0,i=0;i<n;i++) sum+=a[i];
return sum/n;
}
double variance(double *a, int n)
{
double ave,sum; int i;
ave = average(a,n);
for(sum=0,i=0;i<n;i++) sum+=(a[i]-ave)*(a[i]-ave);
return sum/(n-1);
}
double SD(double *a, int n) { return sqrt(variance(a,n)); }
int main()
{
int n,i;
double *a;
printf("データの個数(10以下)>");
scanf("%d",&n);
a=malloc(n*sizeof(double));
for(i=0;i<n;i++){
printf("各データの値(実数値) [%d]>",i+1);
scanf("%lf",a+i);
}
printf("平均値:%f 分散:%f 標準偏差:%f\n",average(a, n),variance(a, n),SD(a, n));
return 0;
}
0378デフォルトの名無しさん
NGNGデータの例
001,太郎,tarou/xxxx(xxxx)\n
002,次郎,jirou/xxxx(xxxx)\n
003,一郎,ichirou/xxxx(xxxx)\n
004,三郎,saburou/xxxx(xxxx)[EOF]
データを格納した構造体を節点とする2分木を作成するプログラムをかけ.新しいデータを
一行ずつ構造体に読み込んで,木に追加していくこと.必ずポインタを使って木を実現し,
データが増えても対処できるようにすること.
また,すべての節点をなぞりながら,データ(ID,姓名,読み)を出力できるようにもせよ.
その際できるだけ見やすい形に表示するよう工夫すること.
0379デフォルトの名無しさん
NGNGを教えてください。
0380デフォルトの名無しさん
NGNGint test(int x,int y)
{
int t = x+y , j = x*y;
return t<j ? j : t;
}
0381デフォルトの名無しさん
NGNG乱数を返す関数を作るには時間を利用するしか手はないのでしょうか?
0382デフォルトの名無しさん
NGNGint main(void){
int hensuu1,hensuu2,i,j;
printf("整数を入力しやがれ\n");
scanf("%d",&hensuu1);
scanf("%d",&hensuu2);
i=hensuu1+hensuu2;
j=hensuu1*hensuu2;
if(i<j){
printf("%d",j);
}
else if(j<i){
printf("%d",i);
}
else{
printf("和も積も同じ値です");
}
}
0383383
NGNG例えば、main関数内で16進数字をscanfの形式で標準入力させ(A5と入力したとする)、
conv16(char str[])を実行するとその戻り値が165となる。
お願いします
0384デフォルトの名無しさん
NGNGをお願いします。
0385デフォルトの名無しさん
NGNG死ね
0386デフォルトの名無しさん
NGNG#include <stdlib.h>
int conv16(char str[])
{
return strtol(str, NULL, 16);
}
0387デフォルトの名無しさん
NGNGseedをどう決めるかという話なら、時間なり好きなものを使えばいい。
randの代替物がほしいなら、自分で線形合同法なりMTなりを
実装すればよろし。
0389デフォルトの名無しさん
NGNG#include <stdio.h>
main(){printf("%d\n", 3025 % 9);}
0390デフォルトの名無しさん
NGNG#include <stdio.h>
main(){return printf("%d\n", 3025 % 9);}
0391デフォルトの名無しさん
NGNGもっとも大きい値を出力するプログラムを作れ。ただしif文を使うこと。
お願いします。
0392デフォルトの名無しさん
NGNGmain(){}
0393デフォルトの名無しさん
NGNG0394391
NGNG0395デフォルトの名無しさん
NGNGprintf("%d", maxof(maxof(a,b),c)); // (・∀・)イイ!!
0396デフォルトの名無しさん
NGNG/::::::::::::::::::::/ \:::::::::::::::::::::::
/:::::::::::::::::::/ \::::::::::::::::::::
/::::::::::::::::::/ ,,,,-―''`\::::::::::::::::::
|:::::::::::::::::/,,,,,, '' _ ヽ:::::::::::::::::
. |::::::::::::::::/ ヽ ∠'-' ` \:::::::::::::
|:::::::::::::::/ ,-、-、 l ヽ |:::::::::::::::
. |::::::::::::::| `´ | |::::::::::::::::
ヽ,-―_| | __,- ) |:::::::::::_/
// ̄ヽ /⌒ リ \ |:::::::/ ̄\
/ /:::糸工::\ _ _ ) /::::::/ /
>'つ:::::::イ::::::::ヽ ヽ/,ー―-ヽ /::::/ /
( < \:::モ::/~~\(::::::::::_/ / ̄ /
) ̄ ̄ヽ:::/:::::::::::::::\⌒ / /
\ ̄ ̄\ if文使いなさいよ♥
0397デフォルトの名無しさん
NGNGif (1) printf("%d", maxof(maxof(a,b),c));
0398デフォルトの名無しさん
NGNG入力された積分範囲で積分してその値を
返すプログラムを作れとのことです。
エキスパートの皆様お願いします。
提出が明日なので、なるべくはやいとうれしいのですが。
0399デフォルトの名無しさん
NGNGsine
0400デフォルトの名無しさん
NGNGmathematica使え
0401デフォルトの名無しさん
NGNG0402デフォルトの名無しさん
NGNG入力された式を解析して、関数として呼び出せるようにするプログラムを用意してくれたら作ってやる。
0403デフォルトの名無しさん
NGNG0404391デフォルトの名無しさん
NGNG0405375
NGNG0406デフォルトの名無しさん
NGNG実行時に式を入力するなら難。
そうでなければ
#include <iostream>
#include <math.h>
using namespace std;
double func(double x)
{
return x; // y = x
}
int main()
{
double sum = 0.0;
double a, b, dx; cin >> a >> b >> dx; // 入力のチェックはご自分でどうぞ。
for(double i = a;i<b;i+=dx)
sum += dx * func(i);
cout << "integral=" << sum << endl;
return 0;
}
0407デフォルトの名無しさん
NGNGそれは数値積分
0408132
NGNG�ALU分解する [L][U]
�BA=LUとなることを確認する。(掛け算)
�C右辺bを与え、LとUをもちいて、AX=bの解であるxを求める[x]
�DAX=bが正しく計算できているか確認。
以上のようなプログラムを作成せよ。
どなたかおねがいします。
0409デフォルトの名無しさん
NGNG式のまんまふつーに積分できるプログラムが
出来たら特許が取れると思われ。
0410デフォルトの名無しさん
NGNG公式にはめればできるよ。
0411デフォルトの名無しさん
NGNGmathematica知らんの?
0412デフォルトの名無しさん
NGNG和暦,年,正・散,役職,正・従,位, ,公家名,家格,元家,名前,年齢,天皇,備考
天正,18,散,前権大納言,正,2, ,庭田,羽林家,源,重保,66,後陽成,按察使。
慶長,2,正,権中納言,正,2, ,水無瀬,羽林家,藤原,兼成,84,後陽成,
文禄,5,正,参議,従,3, ,高倉,半家,藤原,永孝,37,後陽成,
文禄,3,散,前左大臣,従,1, ,二条,摂家,藤原,昭実,39,後陽成,前関白。
文禄,3,正,権中納言,従,2, ,広橋,名家,藤原,兼勝,37,後陽成,
天正,15,正,権大納言,正,3, ,徳川,武家,源,家康,0,正親町,八月八日任同日従二位。
天正,15,散,非参議,従,3, ,大中,分類外,大中,時宣,84,正親町,春日社神主。
慶長,12,正,参議,正,3, ,六条,羽林家,源,有広,44,後陽成,
慶長,14,正,権大納言,正,2, ,花山院,清華,藤原,家熈,52,後陽成,
0413デフォルトの名無しさん
NGNGhttp://www.k-514.com/html/erolink.html
0414デフォルトの名無しさん
NGNG和暦を西暦に変換するテーブルをつくる
んで西暦をキーにしてソート
0415デフォルトの名無しさん
NGNG三角関数(sin, cos, tan)とか、指数・対数関数(log, ln, exp)が出てきても公式に当てはめるだけで
できるわけだな。
>>411
調べてみる。
0416デフォルトの名無しさん
NGNG0417デフォルトの名無しさん
NGNG0418デフォルトの名無しさん
NGNG0419デフォルトの名無しさん
NGNG#include <memory.h>
// LU分解のみを行う 結果を am に統合して出力
void LU44(double * am/* 4*4 */, double * m/* 4*4 */)
{
inti,j,k;
memcpy(m, am, sizeof(double)*16);
for(i=0; i<r-1; i++) for(j=i+1; j<4; j++){
am[j*4+i]=am[j*4+i]/am[i*4+i];
for(k=i+1; k<4; k++){
am[j*4+k]=am[j*4+k]-am[j*4+i]*am[i*4+k];
}
}
}
//LU分解され統合された行列 m と右辺列ベクトルである cm から連立一次方程式を解く
void mLUse(double * am/* 1*4 */, double * bm/* 4*4 */, double * cm/* 1*4 */)
{
inti, j;
memcpy(am, cm, sizeof(double)*4);// L*y=b: calc y
for(i=1; i<r; i++) for(j=0; j<i; j++){
am[i]=am[i]-m[i*4+j]*am[j];
}
for(i=r-1; i>=0; i--){
for(j=4-1; j>i; j--){
am[i]=am[i]-m[i*4+j]*am[j];
}
am[i]=am[i]/m[i*4+j];
}
}
0420前スレ316
NGNG前スレにも同じ問題があった。
ただそれには少しバグがあったんで修正したのと、少し手直しした。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=99
0421419
NGNGまた張りなおす。
じゃ、また。
0423デフォルトの名無しさん
NGNG二週間前から同じ問題書きつづけて420まであるのに分からないとは
もうだめぽ
0424419
NGNG// LU分解のみを行う 結果を am に統合して出力
void LU44split(double * am/* 4*4 */, double * m/* 4*4 */)
{
int i,j,k;
memcpy(m, am, sizeof(double)*16);
for(i=0; i<4-1; i++) for(j=i+1; j<4; j++){
am[j*4+i]=am[j*4+i]/am[i*4+i];
for(k=i+1; k<4; k++) am[j*4+k]=am[j*4+k]-am[j*4+i]*am[i*4+k];
}
}
//LU分解され統合された行列 bm と右辺列ベクトルである cm から連立一次方程式を解く
void LU44solve(double * am/* 1*4 */, double * bm/* 4*4 */, double * cm/* 1*4 */)
{
int i, j;
memcpy(am, cm, sizeof(double)*4);
for(i=1; i<4; i++) for(j=0; j<i; j++){// L*y=b: calc y
am[i]=am[i]-bm[i*4+j]*am[j];
}
for(i=r-1; i>=0; i--){ // U*x=y: calc x
for(j=4-1; j>i; j--) am[i]=am[i]-bm[i*4+j]*am[j];
am[i]=am[i]/bm[i*4+j];
}
}
多分これでいい(確認はしてない)。まえ〜に作った任意の行列用のものを適当に4*4にしたから
間違ってる可能性も高い。そこは何とかしてくれ。ちなみに上位三角行列と
下位三角行列(対角要素が1になるようにしている)で後者の対角要素が1なもんで
これを一つにして am に出力している。ってことでL*U=Aの確認とかは適当にやってね。
0425419
NGNGあと行列は行を1行目から4行目まで連ねてdoubleの配列にしているからね。
なんか俺、ちょろっと書いて済まそうと思ったのにずいぶん必死だよ〜
0426420
NGNGどう表示されない?
確かに%sの精度指定にバグがあった。
でも修正してからは、期待した通りに表示できてるぞ。
こちらが実行結果を書き込んだからといって、解決する問題じゃないと思うが…
それともソースを書き込んであるサイトが表示できんのか?
--R--とかいうのは横にのびすぎて見やすくないと思うからやらんぞ。
0427デフォルトの名無しさん
NGNGはやさしいな
アルゴリズムの本買えば例題として載ってるような問題なのに
0429デフォルトの名無しさん
NGNG--------------------------------
1 sapporo
2 tokyo
3 osaka
4 fukuoka
-1
1 2 894
1 3 1161
2 3 514
2 4 1041
-1 -1 0
-----------------------
このとき出力が
sapporo→tokyo : 894
sapporo→osaka : 1161
tokyo→osaka : 514
tokyo→fukuoka : 1041
となるようなプログラムを作れ。
この問題が分かりません。誰か教えて下さい。
0430デフォルトの名無しさん
NGNG0431デフォルトの名無しさん
NGNG-1
と
-1 -1 0
の意味が分かりません。>>429教えて下さい
0432デフォルトの名無しさん
NGNG0433デフォルトの名無しさん
NGNGどうしようもないな。
0434デフォルトの名無しさん
NGNG2 サブ関数に配列を使う
3 サブサブ関数を使う。
この3つに対してべつべつに組むか、一つにまとめるかは任意。
関数の中身は自由。
よろしくおねがいします
0435デフォルトの名無しさん
NGNG0436デフォルトの名無しさん
NGNGサブ関数とサブサブ(?)関数を1つにまとめたら
サブ関数の1つしか無くなるから、明らかに>3に反するだろ
0437デフォルトの名無しさん
NGNG0438デフォルトの名無しさん
NGNGサブ関数と言うのは関数名や変数名が
なにやら妖しげな単語に…コレ以上恐ろしいので勘弁
0439434
NGNGでは、別々に組むしかないというわけですね。
>>437
おそらくそうだと思います。
講義中にはmain以外に、int subとか void subという文章が出現していたので。
では、別々に1つずつお願いします。
0440デフォルトの名無しさん
NGNGやらないか?("ウホッ!いい男");
0441デフォルトの名無しさん
NGNG標準C/C++じゃ無理な課題だな。
0442434
NGNGint sub ( )
{
return 1;
}
int main ( )
{
printf("sub()= %d\n",sub());
return 0;
}
自分なりにやってみました、これは434の1をみたしてますか?
これを基準に他の二つを作れないでしょうか…?
0444デフォルトの名無しさん
NGNGええ、それは、もう、標準なC等では無いです
何しろ、相手は…
0446434
NGNGこっちでした #include<stdio.h>
int sub (int *x)
{
*x=10;
return *x;
}
int main ( )
{
int a=5;
printf("a=%d,sub(a)=%d \n",a,sub(&a));
return 0;
}
0447デフォルトの名無しさん
NGNG何か人間不信に陥りそうなソースやね
0448デフォルトの名無しさん
NGNG0450お願い厨
NGNG作っていただけますか?
あと、参考プログラムの説明をするために、一行一行説明文を入れなきゃいけないんですよ。
で、それって、どこでお願いすればやっていただけるでしょうか?
昼までなんですけど。。。
0451デフォルトの名無しさん
NGNGどこかは知らないが、ここじゃないのは確か。
0452お願い厨
NGNG両方ともですか?
0453デフォルトの名無しさん
NGNG0454お願い厨
NGNGマルチじゃないですよ。ではありがとうございました。
0455デフォルトの名無しさん
NGNGていうか画像を読んで表示なんて今時のクラスライブラリなら一発でできるかと
0457デフォルトの名無しさん
NGNG0458デフォルトの名無しさん
NGNGそれぞれ第2、第3引数(アドレス渡し)に返す関数を作成せよ。
この関数を用い、いくつかの整数を入力し、それぞれの10と1の位の数を表示する。
入力データの終わりは0または負の数が現れたことで判定する。
0459デフォルトの名無しさん
NGNGCには値渡ししかありませんが
#include <stdio.h>
void f(int n,int *a,int *b)
{
*a=n%100/10;
*b=n%10;
}
int main()
{
int n,a,b;
for(;;){
printf("正数を入力しる>");
scanf("%d",&n);
if(n<=0) break;
f(n,&a,&b);
printf("%d=[%d %d]\n",n,a,b);
}
return 0;
}
0460デフォルトの名無しさん
NGNGポインタのコピーが渡るだけなんだが
0461デフォルトの名無しさん
NGNG0462デフォルトの名無しさん
NGNGCでは「データのあるアドレス」の「値渡し」だ。
0463デフォルトの名無しさん
NGNG0464デフォルトの名無しさん
NGNG459,460,462は頓珍漢
0465デフォルトの名無しさん
NGNG記憶違いだったらスマソ。
0466デフォルトの名無しさん
NGNGfortranとかだと常にアドレス渡し。逆に値渡しはできない。
コンピュータ言語の歴史をしらないと >>464 みたいになる。
0467436
NGNGFORTRANしらんのでどーもよく分からんのですが。
Cではポインタ引数にアドレスをコピーする。
FORTRANではどうやって渡すの?
「FORTRANではアドレス渡しだった」といわれても、C言語のような渡しかたしか思い浮かばないんだけど。
0468デフォルトの名無しさん
NGNGコンピュータ言語を知らないと>>466みたいになる。
0469436
NGNGCのポインタ渡しと、FORTRANの引数渡しは、どう違うの?
0470デフォルトの名無しさん
NGNG普通は call by value, call by reference, call by name だろう。
call by name ってのはあんまり見ないけどね。
ISO/IEC 9899:1999 には call by value しかのってない。
ま、元凶は >>458 に問題を出したやつってことで。釣りだったのかもしれん。
ちなみにFORTRAN77に call by reference しかないというのは本当。
当然ながら実引数の値が変化しないことは期待できない。例をあげると
x=2
y=f(x)
write(6,*) x,y
end
function f(x)
f=x*x
x=3
return
end
これの実行結果は
3. 4.
つまり2行目で f(x) を読んだあと x は 3.0 に、 y は 4.0 になっている。
0471436
NGNGそれなら分かる。
0472デフォルトの名無しさん
NGNG他に整数渡し、浮動小数点渡し、構造体渡しなどがある
0473デフォルトの名無しさん
NGNGまあそうかも。上の function f だけコンパイルしてCから呼ぶ場合はこうなる。
float x,y;
extern float f_(float*);
x = 2;
y = f_(&x);
なお参照呼びといっても C++ の dereferene operator & のように
参照そのものを扱う方法はFORTRAN77には一切ない。
参照という概念はFORTRAN77ユーザーから隠されている。
またFORTRAN77ではメインルーチンが領域確保に関する一切の責任を持つ。
>>472
ちなみにその言葉はどの教科書に載っているの?なかなか興味深いのだが。
0474デフォルトの名無しさん
NGNG十分通じる。実際459にも通じている
0475デフォルトの名無しさん
NGNG0476デフォルトの名無しさん
NGNG参照渡:伝統的にPascalの世界のVar渡という用語も良く使われている。
参照渡の引数には変数しか使用出来ない。定数は不可である。
関数・手続き内部で引数変数に与えた処理はすべて呼び出し側で引数と
して与えた変数に施される。
一定以上の大きさを持った変数は、通常参照渡でしか渡せないことが普通。
値渡:それほど大きな変数でないプリミティブ型の変数・定数は関数の
引数に値渡で渡すことが出来る。
引数変数を引数で与えた定数・変数の値複製で初期化して関数を実行する
ことになる。Pascalのようにstring型のように「大きな」変数も値渡が
出来るような例もある。値渡は、引数として与えるダミー変数の作成を
呼び出し側に義務付けることを強要させることの多い参照渡に較べ
呼び出し側の記述をコンパクトにすることが出来る。
C:引数へのポインタ渡=参照渡と意図的に混同して使われているが
あくまでもポインタの値渡なので、取り扱いには通常の意味での参照渡に
加えて留意しなければならない点が増える。(初心者はポインタの演算と、
ポインタが指している内容の演算を混同し正常に動作しないプログラムを
作りがちである。)
C++:参照渡(&渡)が存在し利用されている。この場合ポインタ渡と
区別されなければならない。通常の言語の参照渡とほぼ同じ意味になる。
しかしポインタ渡と参照渡では、結果的に生成コードは殆ど違いが無い。
0477デフォルトの名無しさん
NGNGアドレス渡し(ポインタ渡し)は引数受け渡し方式の事ではなくて
文字通りの意味なんだってば
0478デフォルトの名無しさん
NGNG0479デフォルトの名無しさん
NGNG0480デフォルトの名無しさん
NGNGアドレス渡し・構造体渡しは通じるが整数渡し・浮動小数点数渡しは微妙。
アドレスや構造体は特定の型に制限する名前じゃなくて引数に渡すときの方法を現してるが、
整数渡しと浮動小数点数渡しは引数の型に着目してるだけだからなぁ。
整数にキャストしたポインタを受け取る関数があったらポインタの整数渡しみたいな表現は出来るかも知れんが。
稀中の稀だし、前二つとは本質的に意味が異なる。
>>477同意
日本語として、引数にアドレスを渡すからアドレス渡しと呼んで何が悪いって感じだな、
無理に専門用語として解釈する必要もあるまい。
0481デフォルトの名無しさん
NGNG> 参照渡の引数には変数しか使用出来ない。定数は不可である。
C++は定数でも渡せる場合があるけどね。
0482482
NGNGをカウントするプログラムを作成しなさい。
ただし、入力の終了はCtrl+Dによる。
0483デフォルトの名無しさん
NGNGその数だけ、BEEP音でも鳴らすんかな
0484デフォルトの名無しさん
NGNG0485デフォルトの名無しさん
NGNG口の利き方がえらそうだから教えない。
0486デフォルトの名無しさん
NGNG問題文丸写しだと思われ
0487482
NGNG'0'=1,'1'=2,・・・・こういう風にです。
0488デフォルトの名無しさん
NGNG文字毎の回数を出力するとは思わんかったぞ(w
0489482
NGNG>'0':0,'1':2,'2':1.....こうですね
0490デフォルトの名無しさん
NGNG0491デフォルトの名無しさん
NGNG0492デフォルトの名無しさん
NGNG#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[10]={0},s;
char d[2]={0};
int f;
while((s=getchar())!=EOF){
switch(s){
case '0': case '1':
case '2': case '3':
case '4': case '5':
case '6': case '7':
case '8': case '9':
d[0]=s;
a[atoi(d)]++;
}
}
for(f=0;f<10;f++)
printf("\'%d\'=%d,",f,a[f]);
putchar('\n');
}
0493492
NGNG0494492
NGNG0495デフォルトの名無しさん
NGNGCtrl+Dで終了してください
0496デフォルトの名無しさん
NGNGint main()
{
int c;
size_t count[10]={0};
while( ( c = getchar() ) != EOF ) if( '0' <= c && c <= '9' ) ++count[ c - '0' ];
for( c = '0' ; c <= '9' ; ++c ) printf( "'%c':%u " , c , count[ c - '0' ] );
printf( "\n" );
return 0;
}
'0'から'9'までの並びって保証されてなかったっけ?
あと、size_tをprintfで出すのは%uで大丈夫だっけ?
0497デフォルトの名無しさん
NGNGなんでまたsize_tを選んだの?
0499デフォルトの名無しさん
NGNGsize_tは配列の大きさなんかを表すときに使うんじゃないか?
(unsigned long) intでいいと思う。
0500デフォルトの名無しさん
NGNG> '0'から'9'までの並びって保証されてなかったっけ?
文字セットに依存する。が、プログラミング言語C第2版によると、
「幸いこれは通常の文字セットすべてに当てはまる。」
そうだ。
0501デフォルトの名無しさん
NGNGhttp://www.lo-po.com/owner/?3425
http://www.adultshoping.com/addclickport.cgi?pid=1055777477
試しにやってみれば?
0502デフォルトの名無しさん
NGNG処理系依存でよければ・・・(Ctrl+Dの部分)
#include <stdio.h>
int main(void)
{
int count[10] = {0};
int c;
int i;
do
{
c = getchar();
if((c >= '0') && (c <= '9'))
count[c-'0']++;
}
while(c != 0x00000004);
for(i = 0; i < 10; i++)
printf("'%d':%d,", i, count[i]);
putchar('\n');
return(0);
}
0503
NGNG関数int conv16(char str[])を作成しなさい。
例えば、main関数内で16進数字をscanfの形式で標準入力
させ(A5と入力したとする)、conv16(char str[])を実行
するとその戻り値が165となる。
お願いします
0504デフォルトの名無しさん
NGNG#include <stdlib.h>
int conv16(char str[])
{
return strtol(str,NULL,16);
}
0505496
NGNGってことで、496のプログラムには不適切、と。
0506デフォルトの名無しさん
NGNGなぜ、こいつ(>>479)とかこいつ(>>503)はそれをしないのだろうか
0507デフォルトの名無しさん
NGNG>>479はともかく、>>503は>>504が回答してから、
時間が経っていないので見ていない可能性がある。
0508デフォルトの名無しさん
NGNG>>383>>386
0509デフォルトの名無しさん
NGNG2つ(以上)の jpeg 画像ファイルを入力とし、
横に連結した1つの jpeg 画像ファイルを出力するプログラムを書け。
また、指定した位置に連結できるようにもせよ。
なお、perl で書いてもよい。
0510507
NGNG0511デフォルトの名無しさん
NGNGどこまでが宿題の範囲だ?
まさかjpegの圧縮展開まで宿題だったら笑うぞ。
0512デフォルトの名無しさん
NGNG> なお、perl で書いてもよい。
は無いだろ禿(w
0513デフォルトの名無しさん
NGNG0514デフォルトの名無しさん
NGNG(1)問題文を全て丸写ししてアップせよ。問題が長い時は>>1のラウンジを使う。どれが自分の考えや解釈で、どれが提示された文章なのかハッキリさせろ。
(2)自分の程度を示せ。バカと利口では教え方もかえなきゃならない。てっとりばやいのは自分の書いたソースをアップすることだ。
(3)何をどうしたいのか明確に。入力や出力のイメージをハッキリさせろ。
(4)データがあるならそれを書け。テキストファイルから読み込んで、とかいう曖昧なことを言わずに、そのテキストファイルの内容を晒せ。
(5)制限事項は明確にしろ。(1)を守れば問題ないはずだ。プログラムを書いてもらってからあーだこーだとリテイクさせるな。
0515デフォルトの名無しさん
NGNG0516デフォルトの名無しさん
NGNGこの方程式を、ニュートン法を用いて解け。
精度は0.001より小さくなるまででよい。
初期値は10とする。
Cです。お願いします。
0517デフォルトの名無しさん
NGNG#include <math.h>
#include <stdlib.h>
#include <stdio.h>
double
newton(double (*f)(double), double (*df)(double), double x, double h, int imax)
{
int c;
while (fabs(f(x))>h && c<imax){x -= f(x)/df(x); c++;}
return c>=imax ? 0.0/0.0 : x;
}
#define IMAX 1000000000
double f(double x){return 3*x*x*x - 2*x*x + x - 11;}
double df(double x){return 9*x*x - 4*x + 1;}
int
main(int argc, char **argv)
{
double x,y,h;
int i;
x = argc>1 ? atof(argv[1]) : 10;
h = argc>2 ? atof(argv[2]) : 0.001;
i = argc>3 ? atoi(argv[3]) : IMAX;
printf("x0 = %g; delta = %g; iter_max = %d;\n", x,h,i);
y = newton(f, df, x, h, i);
if (y == y) printf("%.10e\n", y); else printf("failed\n");
return 0;
}
0518509
NGNG任意のライブラリを用いてよいそうです。
>>512
perl でもよい、という課題だったのでそのまま書きました。
perl のプログラム板はないようですし。
よろしくお願いします。
0519デフォルトの名無しさん
NGNG>>517お疲れ様です。
0520デフォルトの名無しさん
NGNGおいおい誰にきいてんの。
0521デフォルトの名無しさん
NGNGhttp://endou.kir.jp/yuminet/link.html
0522デフォルトの名無しさん
NGNGいやあ、この方程式のいやらしさが分かったので儲けものだとしておこう。
重解にえらく近いから1億回のiterationでは許容誤差に到達できないんだな。
コードはこぴぺだが。
0523デフォルトの名無しさん
NGNGただし、 *(100)=200 *(200)=300 とする。
int *p, **q;
p = 100;
q = 100;
という問題がありました。問題自体は解けましたが、
「この問題の解答確認プログラムを作れ」
といわれました。
**qの部分や、アドレス値の指定の仕方がよくわからないので、
どなたか御願いします。
0524デフォルトの名無しさん
NGNG0525とも
NGNGhttp://www1.free-city.net/home/s-rf9/page005.html
0526デフォルトの名無しさん
NGNGそれは何の冗談でつか? (((( ;゚д゚)))アワワワワ
0527デフォルトの名無しさん
NGNG動作環境は?
0529デフォルトの名無しさん
NGNGint o=300;
int *p = &o;
int **q = &p;
でいいような気もする。
0530デフォルトの名無しさん
NGNG警告でるけど気にしないで
int ret(int x)
{
return x + 100;
}
int test()
{
int x;
int *p,*q;
scanf("%d",x);
p = q = 100;
printf("%u ",p);
printf("%u ",ret(p));
printf("%u ",ret(ret(q)));
}
0531デフォルトの名無しさん
NGNG0532デフォルトの名無しさん
NGNG0533デフォルトの名無しさん
NGNGもっとも大きい値を出力するプログラムを作れ。ただしif文を使うこと。
お願いします。
0534デフォルトの名無しさん
NGNG外出。
#define maxof(a,b) ((a)>(b)?(a):(b))
if (1) printf("%d", maxof(maxof(a,b),c));
0535デフォルトの名無しさん
NGNG#include <stdio.h>
int main(void)
{
int a, b, c;
int max;
scanf("%d%d%d", &a, &b, &c);
max = a;
if(b > max) max = b;
if(c > max) max = c;
printf("%d\n", max);
return(0);
}
0536533じゃない人
NGNG…if文の使い方がすばらしいね。
教授に殴られるかもね
0537デフォルトの名無しさん
NGNGネタをネタと(略
0538デフォルトの名無しさん
NGNG0539デフォルトの名無しさん
NGNG#include<iostream>
main(){
int a,b,c;
std::cin>>a>>b>>c;
if(std::cout<<std::max(std::max(a,b),c));
}
0540デフォルトの名無しさん
NGNGワロタ
0541533じゃない人
NGNGいやいや分かってますって
0542533
NGNGありがとうございます。
でもまだリターンをならってないのでできればリターンなしの文をお願いします。
0543注意
NGNG富山大に感謝汁
ttp://www.math.toyama-u.ac.jp/~yoshiki-o/seki.html
とだけおながいします。
1 1
∫ _________ dx
0 Xの二乗+1
この近似値を次の3つの方法で求めてください。
(1)長方形公式
(2)台形公式
(3)シンプソンの公式
きざみ幅 N=60でよろしくおねがいします。
0545デフォルトの名無しさん
NGNG富山大に感謝汁
ttp://www.math.toyama-u.ac.jp/~yoshiki-o/seki.html
0546デフォルトの名無しさん
NGNGここにツッコミ入れるのもダメ?
0547デフォルトの名無しさん
NGNG素数を求めるプログラムを
エラトステネスのふるいを用いて配列を使った時と、
配列を使わないで作成した時との
コンピューターが必要とする変数の数、計算のかかる手間等の
違いはどのようなものですか?
0548デフォルトの名無しさん
NGNGcin >> sei;
if(sei%4 == 0 && ( sei%100 != 0 || sei %400 == 0 ) )
{
printf("閏年です\n");
}
何か?
0549デフォルトの名無しさん
NGNGどうかお願いします
0550デフォルトの名無しさん
NGNG1から順にその数まで剰余が0かどうかを調べる
0551デフォルトの名無しさん
NGNGint main(void){
int a,b,c;
printf("整数を入力して。\n");
scanf("%d",&b);
for(a=1;a<=b;a++){
c=a+c;
}
printf("1から%dまでの和は%dです。",b,c);
}
このソースおかしいっすか?
あと、retorn文の使い道が分かりません
0552551
NGNGで表現する関数void bindump(float num)を作りなさい。
ヒント:共用体を使えと言うことです。
お願いします
#include<stdio.h>
#include "bindump.h"
void bindump(float num)
{
int i;
int bits=sizeof(float)*8;
for(i=bits-1;i>=0;i--){
printf("%d",(num & (1<<i))?1:0);
if(i%8==0)printf(" ");
}
printf("\n");
}
0553デフォルトの名無しさん
NGNG0554デフォルトの名無しさん
NGNGint main(void) {
int n;
printf("整数を入力して。\n");
scanf("%d", &n);
printf("1から%dまでの和は%dです。", n, n * (1 + n) / 2);
return 0;
}
0555デフォルトの名無しさん
NGNG523と同じにおいを感じる
0556デフォルトの名無しさん
NGNGその作ったプログラムとやらを晒さない限り、
誰にも比較は出来ないと思われ
0557デフォルトの名無しさん
NGNG0558デフォルトの名無しさん
NGNGその数の半分(余り切り捨て)まででいいだろう。
0559初心者
NGNG例えば、char ten[0]="abcde", ten[1]="123abc567", ten[2]="789";
として、それぞれのポインターを放り込むと、ten[1]とten[2]はprintf("数値じゃないです")、
ten[3]はprintf("789")と帰ってくるような。
0560デフォルトの名無しさん
NGNG>>552ざけんな
0561デフォルトの名無しさん
NGNG?
二乗根ならわかるが。
0562552
NGNGお前がな。
こんなやつらに聞いた俺がバカだった。
0563デフォルトの名無しさん
NGNGint isdigit(const char *str){
for(int i=0;str[i]!=0;i++)
{
if('0' <=str[i] && str[i] <= '9') continue;
else return 1;
}
return 0;
}
0564初心者
NGNGどんなソースになるの?
0565初心者
NGNG0566デフォルトの名無しさん
NGNGうぜ
#include <stdio.h>
int main(void) {
int n;
for (n = 0; n;) {
printf("整数を入力して。\n");
scanf("%d", &n);
printf("1から%dまでの和は%dです。", n, n * (1 + n) / 2);
}
return 0;
}
0570デフォルトの名無しさん
NGNGこのように宣言されている場合
a[0]のappleのleとa[1],a[2],a[3],a[4]それぞれの頭2文字と比較したいんですが
どうしたらいいですか?
0571デフォルトの名無しさん
NGNGどうしたらいいですか?一部分を指定して消すのは可能ですか?
0572デフォルトの名無しさん
NGNGstrncmpを使う
0573デフォルトの名無しさん
NGNGどうやって時間を計るんですか?
time.hをインクルードっすか?
詳しい記述方法をお願いします
0574570
NGNGappleの後ろ2文字、比較対照の頭2文字をどうやって指定したらいいんでしょ?
0575デフォルトの名無しさん
NGNG環境依存じゃない?
Winの窓アプリならSetTimer & OnTimerだが
他はしらね。
0576573
NGNGそうですか。
どうもありがとうございます。
0577デフォルトの名無しさん
NGNG#include<stdio.h>
#include <string.h>
int main(void)
{
char *a[5] = {"apple", "lemmon", "net", "online", "neap"};
int i;
for(i=1;i<5;i++) {
if(strncmp(&a[0][3], a[i], 2) == 0) {
printf("%s\n", a[i]);
}
}
return 0;
}
0578デフォルトの名無しさん
NGNGUNIX/Cを10年以上やりつづけて最近プログラミングなんてしてなかったけど、
新しい仕事がWin/C++。これが久しぶりにプログラミングしたら面白いのよ!
自分好みのクラス作って華やかな画面で動かして。感動したね。
カーナビのソフト作ってるんすけど、新しい開発環境に慣れるより、
測量などの算術式とか出てきてわけわからん。文系の俺にはチト辛い。
0579デフォルトの名無しさん
NGNG0580デフォルトの名無しさん
NGNG0581デフォルトの名無しさん
NGNG#include <stdio.h>
int main(void){
int a,b,c=0;
printf("整数を入力して。\n");
scanf("%d",&b);
for(a=1;a<=b;a++){
c+=a;
}
printf("1から%dまでの和は%dです。",b,c);
return 0;
}
とりあえずcを初期化しろってこった
0582デフォルトの名無しさん
NGNG0583570
NGNG有難うございます。
申し訳ないですが、もう一つだけお願いします。
すべてに対してapple同様比較をしたいので以下のように考えたんですが
c = strlen(a[i]);のところで強制終了受けるんですが何がまずいんでしょう?
int i, t, c;
for(i = 0; i < 5; i++){
c = strlen(a[i]);
for(t = 0; t < 5; t++){
if(strncmp(&a[i][c - 2], a[t],2) == 0)
}
}
0584571
NGNG確か、system....だったような。
よく覚えてないんです
0585デフォルトの名無しさん
NGNGsystem("cls");で全部消せるよ
0586デフォルトの名無しさん
NGNG氏ね
0587デフォルトの名無しさん
NGNGそれであってる訳だが。VCとBCCでやったけど落ちなかったよ
0589デフォルトの名無しさん
NGNG失礼なやつだなー
0590デフォルトの名無しさん
NGNGすべて前に来るように並び替え、結果のリストを返す関数partitionを書け。mallocなどの
メモリ割り当て関数を使ってはいけない。
typedef
struct node{
int val;
struct node* next;
} *list;
よろしくお願いします。
どういう風に並び替えていくのか、考え方も教えてください。
0591デフォルトの名無しさん
NGNG#include <stdio.h>
#include <limits.h>
#define LITTLEENDIAN 1
#define BIGENDIAN (!LITTLEENDIAN)
void bindump(float num)
{
int i, j = CHAR_BIT, endian = LITTLEENDIAN;
union {unsigned char c[sizeof(float)]; float f;} x;
x.f = num;
if (*(char*)&endian == 0) endian = BIGENDIAN;
for (i = 0; i < sizeof(float); i++, j = CHAR_BIT) {
unsigned char c = x.c[endian == BIGENDIAN ? i : sizeof(float)-i-1];
while (j--) putchar('0' + ((c >> j) & 1));
}
puts("");
}
0592デフォルトの名無しさん
NGNG連結リストpの型がlistなのか?
0593デフォルトの名無しさん
NGNGlist partition(list p, int x) {
list head, tail, t;
if (p == NULL) return NULL;
head = tail = p;
p = p->next;
while (p != NULL) {
t = p;
p = p->next;
if (t->val <= x) {
t->next = head;
head = t;
} else {
tail->next = t;
tail = t;
}
}
tail->next = NULL;
return head;
}
pの頭から要素を取り出し、x以下であれば新しく作るリストの頭へ、
そうでなければ尻尾へ加える。
0594デフォルトの名無しさん
NGNGnode *partition( node *p, int x )
{
node *p_first = p;
if(!p) return 0;
while( p->next )
{
if( p->next->val <= x ){
node *move_p = p->next;
p->next = p->next->next;
move_p->next = p_first;
p_first = move_p;
}else
p = p->next;
}
}
return p_first;
}
0596デフォルトの名無しさん
NGNG初心者なのでなるべく簡単なわかりやすいプログラムがいいです。
0597デフォルトの名無しさん
NGNG多分いままでにでてきたと思う。
0598デフォルトの名無しさん
NGNGexp(1);
0599デフォルトの名無しさん
NGNG宿題じゃないとやらない
0600_
NGNG0601667
NGNG0602デフォルトの名無しさん
NGNG0603603
NGNGその回数だけ文章を次のように表示させるプログラムを作成せよ
回数を入力>3
おはよう
こんにちは
こんばんわ
おはよう
こんにちは
こんばんわ
おはよう
こんにちは
こんばんわ
0604GEX▲&rlo;XEG&rle; ◆GEXGEXdRO6
NGNG僕のソースです
#include <stdio.h>
void r(int);
void main(void)
{
int val;
printf("回数を入力>") ;scanf("%d",&val) ;
r(val);
}
void r(int val)
{
printf("おはよう\nこんにちわ\nこんばんわ\n\n") * val ;
}
0606603
NGNG0607デフォルトの名無しさん
NGNGなぜか8をGETすることに固執していた固定。
ギコ、しぃのエビフリャAAを好んで使い、エロゲーの曲を8GETの替え歌にして貼る。
最近はGETしていない模様。同じヲタのシャリバーンと仲がいいようだ。
0608デフォルトの名無しさん
NGNG貴重な時間をそんなことに使っちゃだめですよ
0609デフォルトの名無しさん
NGNGStrCnvで渡された文字列に含まれている改行コードをIntCRLFで指定された改行コードへ
変換し、変換された文字列を返す
char Cnv_CRLF(StrCnv , IntCRLF)
StrCnv : 変換対象の文字列
IntCRLF : 変換する改行コード
0=CR
1=LF
2=CRLF
という課題です
できればサンプルコードみたいに答えていただくとありがたいです
よろしくお願いします
0610デフォルトの名無しさん
NGNGという課題が出されたのですが、わからないです(;´Д`)
教えていただけませんか?
0611デフォルトの名無しさん
NGNG0612509
NGNG0613デフォルトの名無しさん
NGNG0614デフォルトの名無しさん
NGNG画像をつなげるの?
ファイルをバイナリモードで読んでそれをつなげれば!
0615デフォルトの名無しさん
NGNG0616509
NGNGそんなもの使ったら再提出確実です
0617デフォルトの名無しさん
NGNG>>518これは嘘か?
0618509
NGNGどうすればいいんでしょうか??全く分からないので。
>>616
616 は私じゃないです。
ライブラリは適宜使ってよいということなので、
それを使って構わないと思います。
できそうですか?よろしくお願いします。
0619デフォルトの名無しさん
NGNG0620デフォルトの名無しさん
NGNGEND
0621デフォルトの名無しさん
NGNG横に連結しないから駄目
0622デフォルトの名無しさん
NGNG繰り返せば。
0623デフォルトの名無しさん
NGNGこれでどうよ
0624デフォルトの名無しさん
NGNGその案て。結局ヘッダのjpegしか表示できないのでは。
0625デフォルトの名無しさん
NGNGせめて使うライブラリを指定してくれ。
0626509
NGNG具体的にどういうふうにするのですか?
バイナリをつなげるだけで、指定した位置にまで
連結できるようになるのでしょうか?
0627デフォルトの名無しさん
NGNG0628デフォルトの名無しさん
NGNGバイナリストリームといってどんなデータでも読み出すことができるのです。
16進数で出てくるのでそれを画像1のピクセル分読んでその後に画像2を足して
と続けるとか・・・
fopenかopen関数のどちらでも使えたと思うが調べて勝手に作ってくれ
0629デフォルトの名無しさん
NGNGそんなに素直に配置されてるわけないだろ
0630デフォルトの名無しさん
NGNG0631デフォルトの名無しさん
NGNGMCUを復号だ
0632デフォルトの名無しさん
NGNG0633デフォルトの名無しさん
NGNGしつこくマルチか?
それとも同じ学校なのか?
0634デフォルトの名無しさん
NGNGマルチじゃないです
この質問したの初めてです
0635デフォルトの名無しさん
NGNGlibjpeg使っていいなら、xvのソースを入手してじっくり検討し給え。
0636デフォルトの名無しさん
NGNGHuffman圧縮など。
0637632
NGNG同じ学校と思われます…。ちょっとビックリ(゚д゚)
ホントわからないんですよ…。
0638デフォルトの名無しさん
NGNGこれで、jpeg->bmp にして、bmp連結しないか?
0639デフォルトの名無しさん
NGNGこの質問見るの今日で4回目なんだけど相当へたれの集まった学校なんだな・・
Cスレに答えが出てるぜ
0640デフォルトの名無しさん
NGNG・libjpegなどを使って画像イメージをメモリ上に展開する。
・メモリ空間上で連結(合成?)処理を行う。
・然るべきフォーマットでファイルに書き出す。
件の課題は、画像処理が主目的なのかCプログラミングが主目的なのか
はっきりしない辺り課題としての評価は低いと言わざるを得ない。
0641デフォルトの名無しさん
NGNGPerlでも良い事からCプログラミングが目的で無いことは明らか
目的のために手段は選ばんあたりからより実践向けの講義なのだろう・・・
すでにあるプログラムを拝借していっても評価してくれそうだ
0642632
NGNG4回ですか!?ちょいとワロタよ…。
へたれ学校っすね…。精進しまふ…。
Cスレどれだろ?探してみまつ…。ありがとうございましたm(__)m
0643デフォルトの名無しさん
NGNG0644603
NGNG0645デフォルトの名無しさん
NGNGvoid r(int val)
{
while ( val-- ) printf("おはよう\nこんにちわ\nこんばんわ\n\n") ;
}
0646603
NGNG即レスありがとうございます。
質問ですが、while( val-- )の部分が具体的にどのような処理を行っているのかがわかりません。
ループ条件を( )にいれると習ったのですが、。
理解したいのでよろしければ教えていただけませんか?
0647デフォルトの名無しさん
NGNGwhile ( val-- ) は while ( val-- != 0 ) と同じ
while ( ) や if ( ) で使われる条件は 0 以外が真で 0 だけが偽
0649デフォルトの名無しさん
NGNG0650デフォルトの名無しさん
NGNGreplace (char *dest, char *str)
という関数を定義して作成しなければならないんですが、
replaceの中身をどうすればいいのか、なかなか思い付きません。
どなたか御教授お願いします
0651デフォルトの名無しさん
NGNGchar *replace (char *dest, char *str)
{
char *save = dest;
for (; *str; ++str) {
if (islower(*str)) {
*dest++ = toupper(*str);
}
else {
*dest++ = tolower(*str);
}
}
return save;
}
0653デフォルトの名無しさん
NGNG'\0'文字が追加されてなかったりして。
0654デフォルトの名無しさん
NGNG0656デフォルトの名無しさん
NGNGclass B{
public:
int operator=(int n){
c = n;
return 0;
}
private:
int c;
};
class C{
public:
int Set(int n){
c = n;
return 0;
}
private:
int c;
};
class B2 : public B{;};
class C2 : public C{;};
0657デフォルトの名無しさん
NGNGclass A{
public:
B Left;
B2 Right;
C Top;
C2 Bottom;
};
int main(int argc, char **argv){
A a;
a.Left = 3;
a.Right = 3; <--ここだけコンパイルとおらない
a.Top.Set(3);
a.Bottom.Set(3);
return 0;
}
なんでですか?誰か教えてえらいひと!
0658デフォルトの名無しさん
NGNG0659デフォルトの名無しさん
NGNG>命中率1%の戦車100台対
>命中率100%の戦車10台で打ち合ったら
>どちらが勝ち残るの?
1ターンごとに同時に撃ち合い、どちらかが全滅するまで続けます。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/file/1055933323_2/tanksim.lzh
0660デフォルトの名無しさん
NGNGそりゃおめぇ後者だろ
0661デフォルトの名無しさん
NGNG2
2
2
2
2
2
2
2
2
2
2
2
出力
合計
2 2 2 6
2 2 2 6
2 2 2 6
2 2 2 6
6 6 6 24 合計
2 2 2 2 平均
0662デフォルトの名無しさん
NGNG??
0663デフォルトの名無しさん
NGNG0664デフォルトの名無しさん
NGNG実行結果は後者の勝率が約59%になったんですけど(引き分けはほとんど無い)
プログラムに間違いがあるかもしれないんで、指摘してもらおうと思ったんです。
0665デフォルトの名無しさん
NGNGそのソースで動くのか?
無限ループの予感。
0666デフォルトの名無しさん
NGNGソース見てないけど普通に考えれば前者だよな。
0667659
NGNG0668デフォルトの名無しさん
NGNG人工知能プログラムでも作らないとその問題を
プログラム化するのは無理
0669デフォルトの名無しさん
NGNG濡れのPCがしょぼ過ぎて100000回ループに時間がかかっただけだった
スマソ
回線切っ(ry
0671デフォルトの名無しさん
NGNGそれを下のような形式で出力するプログラムをお願いします。
ただ今の時刻はa時b分c秒です
0672デフォルトの名無しさん
NGNG{
char *str_org = "ただいま%2d年%d月%2d日の%2d時%2d分%2d秒です";
time_t long_time;
struct tm *now_time;
time(&long_time);
now_time = localtime(&long_time);
sprintf(time_str, str_org,
now_time->tm_year, now_time->tm_mon + 1,
now_time->tm_mday, now_time->tm_hour,
now_time->tm_min, now_time->tm_sec);
return 0;
}
0673デフォルトの名無しさん
NGNGランダムでなくて確実に100回目に命中とかにしたら
int judge_hit_a(int num_attack) //命中判定
{
static int g_hit_a = 0 ;
int hit=0;
while(num_attack--){
g_hit_a ++ ;
if(g_hit_a >= 100){
hit ++ ;
g_hit_a -= 100 ;
}
}
return hit;
}
こんな感じ
0674デフォルトの名無しさん
NGNG#include <stdio.h>
#include <time.h>
int main(void)
{
struct tm *newtime;
time_t long_time;
time(&long_time);
newtime = localtime(&long_time);
printf("ただ今の時刻は%d時%d分%d秒です\n",
newtime->tm_hour, newtime->tm_min, newtime->tm_sec);
return(0);
}
0675デフォルトの名無しさん
NGNGありがとうございます
0676デフォルトの名無しさん
NGNGいつも同時に打ち合うとしてBの打ち方は同じになるけど
Aは打つたびに打ち方に戦略を持ち込むことができるのに
このプログラムにそれがはない。
0677デフォルトの名無しさん
NGNG> if(rand() < percent_hit * (RAND_MAX+1))
ここの1を足しているところがまずそうだが…
0678677
NGNG0679デフォルトの名無しさん
NGNGいや、確実にまずい。
RAND_MAXがINT_MAXな場合オーバーフローする。
オーバーフローした時の動作は未定義だけど、負になる処理系だと
hitすることがないから、永久に外し続ける。
0680659
NGNGならいいですか?
>>676
敵全体に均等に攻撃して、出来るだけ命中のダブりを避けるという戦略なんですけど
一応自分ではこれが一番いいやり方だと思ってます。
0681デフォルトの名無しさん
NGNGint main(void){
double a,b;
printf("データを入れてちょうだいな");
scanf("%lf%lf",&a,&b);
printf("和は%lf\n",a+b);
printf("差は%lf\n",a-b);
printf("積は%lf\n",a*b);
printf("商は%lf\n",a/b);
retorn 0;
}
0682デフォルトの名無しさん
NGNG全く同じにやってもエラーになります。
どこが違いますか?
0683681@682
NGNG0685デフォルトの名無しさん
NGNG0686デフォルトの名無しさん
NGNG声が違う 年が違う 夢が違う ほくろが違う
0687デフォルトの名無しさん
NGNG0688デフォルトの名無しさん
NGNG#define retorn return
を追加
0689デフォルトの名無しさん
NGNGだめでした
#include <stdio.h>
int main(void){
double a,b;
printf("データを入れてちょうだいな");
scanf("%lf%lf",&a,&b);
printf("和は%lf\n",a+b);
printf("差は%lf\n",a-b);
printf("積は%lf\n",a*b);
printf("商は%lf\n",a/b);
retorn 0;
}
#define retorn return
0690デフォルトの名無しさん
NGNGワラタ
0691デフォルトの名無しさん
NGNGint main(void){
double a,b;
printf("データを入れてちょうだいな");
scanf("%lf%lf",&a,&b);
printf("和は%lf\n",a+b);
printf("差は%lf\n",a-b);
printf("積は%lf\n",a*b);
printf("商は%lf\n",a/b);
return 0;
}
0692デフォルトの名無しさん
NGNG0693デフォルトの名無しさん
NGNG0694デフォルトの名無しさん
NGNG0695デフォルトの名無しさん
NGNG#include <math.h>
#define N 1000
int readarray(int n[]);
void calculate(int n[], int i, float *sum, float *a, float *v, float *s);
void printresult(float sum, float a, float v, float s);
int main(void)
{
int i, n[N];
float sum, a, v, s;
i = readarray(n);
calculate(n, i, &sum, &a, &v, &s);
printresult(sum, a, v, s);
return 0;
}
0696デフォルトの名無しさん
NGNG{
int i = 0, x;
printf("input integer (0=end):");
scanf("%d", &x);
while(x != 0 && i <= N)
{
n[i] = x;
i++;
printf("input integer (0=end):");
scanf("%d", &x);
}
return i;
}
0697デフォルトの名無しさん
NGNG{
int j;
float sum1 = 0.0, sum2 = 0.0;
for (j = 0; j < i; j++)
{
sum1 += (n[j]);
sum2 += (n[j]) * (n[j]);
}
*sum = sum1;
*a = (*sum) / i;
*v = sum2 / i - (*a) * (*a);
*s = sqrt(*v);
}
void printresult(float sum, float a, float v, float s)
{
printf("---------------------------\n");
printf("sum = %7.3f, average = %7.3f, variance = %7.3f, stddev = %7.3f\n", sum, a, v, s);
}
0698デフォルトの名無しさん
NGNG??
0699デフォルトの名無しさん
NGNG0700デフォルトの名無しさん
NGNGダウト!
0701デフォルトの名無しさん
NGNGsystem("C:/Program Files/Internet Explorer/iexplore.exe");
としたんですが、空白があるため起動出来ませんでした。
systemではこういう場合無理なのでしょうか?
また、他に方法があればご教授お願いします。
0702デフォルトの名無しさん
NGNGなんで?おせーて
0703デフォルトの名無しさん
NGNGsystem("C:/Program\\ Files/Internet\\ Explorer/iexplore.exe");
0704デフォルトの名無しさん
NGNGwhile(x != 0 && i < N)
かな?
0705デフォルトの名無しさん
NGNGsystem("\"C:\\Program Files\\Internet Explorer\\iexplore.exe\"");
0706C初心者
NGNG部分をつくって下さいm(_)m
どうぞ、お願いします。
ソース↓
ttp://acechannel.hp.infoseek.co.jp/wakaranai.c
実行結果↓
ttp://acechannel.hp.infoseek.co.jp/result.txt
0707デフォルトの名無しさん
NGNGCの掲示板はこちらへ移動しました。
雑談・質問なんでもこちらへどうぞ
0708( ゚∀゚)ノ ィョ―ゥ
NGNG1.整数aを受け取り、その階乗a!を返す
関数を作成せよ。
2.整数引数の2乗を返す関数をつくり
それを用いて1〜20までの2乗の
総和を返す関数を作成せよ。
3.1つのアルファベット(a,・・・z)
と整数iを受け取り、そのアルファベット
よりi個の後ろのアルファベットを返す
関数を作成せよ。ただし2の後ろはaであるものと
する。
[例]
・cと4を受け取ったならgを返す
・yと5を受け取ったならdを返す
多いですがこの3つがどうもわからんのです
どうぞお願いします
0709デフォルトの名無しさん
NGNGzの後ろはaだろ、問題すら理解出来て無いのかよ
0710( ゚∀゚)ノ ィョ―ゥ
NGNGスマソ。。。
問題の写し間違えですた
ご指摘の通りzの後ろはaであるものとするに
訂正させていただきます
0711デフォルトの名無しさん
NGNGって*は必要なんですか?
よく分かりません。お願します
0712デフォルトの名無しさん
NGNG必要です。
わかりましたか?お願します
0713711
NGNG0714デフォルトの名無しさん
NGNG0715711
NGNGとは違うのでしょうか
0716デフォルトの名無しさん
NGNG0717デフォルトの名無しさん
NGNGよーし、釣りだと分かっていてもマジレスしちゃうぞ。
char *str="ABC";はchar型へのポインタを定義して文字列定数ABCの先頭アドレスで初期化する。
char str[]="ABC";はABC+'\0'が丁度よくはいる大きさのchar配列を定義し、要素を"ABC"のそれぞれの文字で初期化する。
0718デフォルトの名無しさん
NGNGC FAQ嫁
0719717
NGNG0720773
NGNG0721デフォルトの名無しさん
NGNG0722デフォルトの名無しさん
NGNG後者は(char *)ポインタの領域が確保されない。だから、
str = "DEF";
出来ない。だろ?
0723773
NGNG0724773
NGNG0725デフォルトの名無しさん
NGNG前者は配列用の領域が確保されない。だから、
str[0] = 'D';
出来ない。だろ?
0726773
NGNG0727デフォルトの名無しさん
NGNG構文としては問題ない。
でも何が起こるか分からない。
0728773
NGNG?
0729デフォルトの名無しさん
NGNGconstがついていないから書き換えようとすることは可能。
でも文字列定数を書き換えようとしたら何が起こるか分からないということ。
とにかくやっちゃだめ
0730デフォルトの名無しさん
NGNG問題1
int kaijou(int a)
{
return(a > 0 ? a*kaijou(a-1) : 1);
}
0731デフォルトの名無しさん
NGNG問題2
int nijou(int a)
{
return(a*a);
}
int nijou_souwa(void)
{
int i;
int total = 0;
for(i = 1; i <= 20; i++)
total = total + nijou(i);
return(total);
}
0732デフォルトの名無しさん
NGNG問題3
char arufa(char c, int a)
{
const char *str = "abcdefghijklmnopqrstuvwxyz";
const char *p = str;
int i;
for(i = 0; i < 26; i++){
if(*str++ == c)
break;
}
i = (a + i) % 26;
return(*(p+i));
}
0733デフォルトの名無しさん
NGNG0735デフォルトの名無しさん
NGNGなるほど
0736デフォルトの名無しさん
NGNG0737デフォルトの名無しさん
NGNG(゚Д゚)ハァ??
0738デフォルトの名無しさん
NGNG構文上は問題ないという意味
0739738
NGNG0740デフォルトの名無しさん
NGNG今回は携帯電話の料金で1分10円
基本使用料金は2000円の設定で
お願いします。scanfで時間を入力した結果
実行結果で料金が表示される形です。
0741デフォルトの名無しさん
NGNGint main(){
int min,yen;
printf("携帯の使用時間を分単位で入力してください。\n");
scanf("%d",&min);
yen=min*10+2000;
printf("料金は%d円です。",yen);
}
0742741
NGNG0743C初心者
NGNGお願いしますm(_)m
0744デフォルトの名無しさん
NGNGstr[0] = 'D';
なぜこれがだめなんでしか?
0745デフォルトの名無しさん
NGNG誰がそんなこと言ったの?(^-^=)♪
0746744
NGNG>729が言った。・゚・(ノД`)・゚・。
0747デフォルトの名無しさん
NGNGchar *str="ABC";
str[0]='D';
これのことですが(^-^#)
0748デフォルトの名無しさん
NGNG596にも似たのがあるんですけど、桁数の増やし方が
わからないのでおねがいします。
0749デフォルトの名無しさん
NGNG時刻要素が複数あるけどarrival_timeでいいの?
Node *DeleteMin(Node *top)
{
/* 最小時刻を持つデータを線形リストより探して削除する */
Node *p,*q;
double arrival_time=top->arrival_time;;
for(p=top;p!=NULL;p=p->next){
q=p->next;
if((q != NULL) && (q->arrival_time < arrival_time))
arrival_time = q->arrival_time;
}
for(p=top;p!=NULL;p=p->next){
q=p->next;
if((q != NULL) && (q->arrival_time <= arrival_time)){
p->next = q->next;
free(q);
}
}
if(top->arrival_time <= arrival_time){
q=top->next;
free(top);
top=q;
}
return top;
}
0750デフォルトの名無しさん
NGNGと言われましても・・・
0751744
NGNGじゃぁこれはだめなのん?
*str = 'D';
str[0] = 'D';
同じじゃないの?コンパイラが勝手に領域を確保してくれてないのー?
0752デフォルトの名無しさん
NGNG0753>>744
NGNGhttp://www.catnet.ne.jp/kouno/c_faq/c1.html#32
をみてください。
0754>>751
NGNG0755744
NGNGそしてゴメソ(´・ω・`)
0756>>749
NGNG本当に、ありがとうございましたm(_)m
0757デフォルトの名無しさん
NGNG生まれた歳から現在までの年月日数の求め方と
現在までの総日数教えて下さい。
0758デフォルトの名無しさん
NGNGhttp://nuts.free-city.net/index.html
0759デフォルトの名無しさん
NGNGその前に、間違っていてもいいから、自分で作った
プログラムを晒して下さい。
0760デフォルトの名無しさん
NGNG生まれた歳から現在までの年月日数って何やんねん?
0761デフォルトの名無しさん
NGNGスーパークラスでメソッドをfinal指定して、サブクラスでオーバーライドできない
ようにしたいのですが・・・
JAVAのスーパークラスでの記入例はこんな感じです↓
public final void hogehoge();
0762デフォルトの名無しさん
NGNGhttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=100
過去にpi1万桁を求めるものがあったので流用しました。
pi を求めるよりは易しいようです。
0763長文スマソ
NGNG以下のコードをコンパイラオプションでコードサイズを最小にする場合と
特に最適化をしない場合で実行して比べてみ。
ただし、ものすごく環境(コンパイラ)に依るからうまくいかない人もいるかも。
ちなみに、VC++6.0のProfessionalでのコンパイラならcl /O1 "ソース名"でサイズの最適化
これの実行結果の違いがなぜかも分からんヤシはもっと勉強しませう。
#include "stdio.h"
void fn(char*);
int main()
{
char* s1 = "abc";
char* s2 = "abc";
char d1[] = "abc";
char d2[] = "abc";
fn(s1);
fn(d1);
printf("s1 = %s,s2 = %s\n",s1,s2);
printf("d1 = %s,d2 = %s\n",d1,d2);
return 0;
}
void fn(char* lpsz)
{
lpsz[0] = '!';
}
0764続き
NGNG最適化なし
s1 = !bc,s2 = abc
d1 = !bc,d2 = abc
コードサイズ最適化
s1 = !bc,s2 = !bc
d1 = !bc,d2 = abc
0765デフォルトの名無しさん
NGNG0766デフォルトの名無しさん
NGNG定数を書き換えたらアカンぜよ
0767デフォルトの名無しさん
NGNGはされているが、定数リテラルの記憶クラスがデータ領域なのかコード
領域なのかは、環境に依存する。コード領域の場合その領域に対するポ
インタ変数媒介の操作はコード自己書き換えによる保護エラーを起す可
能性が高い。
コードの自己書き換えは禁止されなければならない必然性は無いがCPU
アーキテクチャの単純化からそのようになっている場合が多い。
0768デフォルトの名無しさん
NGNG0769デフォルトの名無しさん
NGNG0770763
NGNGんなわけで少しでも変更する可能性のあるデータの場合は、
char* s1 = "abc";
じゃなくて
char d1[] = "abc";
のように書きましょうってことで。
こっちなら、きちんとデータ領域に確保してくれます。(あってるよな?)
1個目の場合でのメモリオーバランのエラーはものすごく怖いよ〜。
何のことか分からん人もとりあえず下のほうを使ったほうがいいと思います。
0771デフォルトの名無しさん
NGNGと、思う恭子の頃。
0772デフォルトの名無しさん
NGNG>こっちなら、きちんとデータ領域に確保してくれます。(あってるよな?)
合ってます。auto記憶クラスのときはスタック(とは限らんけど)にその大きさの
配列をとって、そこに文字列をコピーして初期化してくれます。
# だからループから呼ばれる関数のときは気をつけないと性能ががた落ちになる
関数内のstatic記憶クラスのときはスコープが関数内部に限定されるだけで、
あとはグローバル変数とおんなじ。
0773デフォルトの名無しさん
NGNG0774デフォルトの名無しさん
NGNG定数リテラル"abc"(これをddと命名)はコード領域にあるか、データ領域
にあるかに関わらずコンパイラはその長さ(終端入れて)4を認識し、
char d[4]と解釈。初期化ルーチンにmemcpy相当のルーチンを挿入し、
dをddで初期化します。すなわちdは"abc"で初期化された状態であることが
保証される長さ4の文字変数の配列になります。
0775デフォルトの名無しさん
NGNG0776デフォルトの名無しさん
NGNGchar *s="どこの馬の骨かわからない文字列";
は、コード領域にあるかデータ領域にあるかわからない、謎の文字列で
sはそこへのポインタです。この場合注意が必要です。
strcpy(s,"短い文字列");
の場合でも、保護エラーで停止することもあります。
strcpy(s,"非常に長い文字列を複写するとはみ出して周囲のデータを破壊する");
などは環境に関わらず、ほぼ確実にシビアな事態を招くでしょう。
char *s2="どこの馬の骨かわからない文字列";
とし、「重複文字を纏める」最適化オプションでコンパイルした場合
s==s2
となったりすることがあります。
s!=s2を前提としてプログラムしていた人には、不可解な挙動と映り
かなり悩ませることになるでしょう。
0777デフォルトの名無しさん
NGNG>保護エラーで停止することもあります。
例えば、どんな環境でなります?
0778デフォルトの名無しさん
NGNG#include <stdio.h>
#define M 10000 //求めたい桁数
#define N 10000 //10000もあれば恐らく十分
int a[N];
int main(){
int i,c,pc=0;
for(i=0;i<10000;i++)
a[i]=1;
a[1]+=a[0];
a[0]=0;
printf("%u.\n",a[1]);
do{
c=0;a[1]=0;
for(i=10000-1;i>=1;i--){
a[i]*=10;
a[i]+=c;
c=a[i]/i;
if(i!=1)
a[i]%=i;
}
printf("%u",a[1]);
pc++;
if(pc%50==0)
printf("(%u)\n",pc);
}while(pc<M);
return 0;
}
階乗進法で検索
0779デフォルトの名無しさん
NGNGfor(i=N-1;i>=1;i--){
に訂正
0780デフォルトの名無しさん
NGNG%uname -sr
FreeBSD 4.8-STABLE
%cat baka.c
int main(int argc, char * argv[])
{
char *s = "string";
*s = 'a';
return 0;
}
%gcc baka.c
%./a.out
zsh: bus error (core dumped) ./a.out
0781デフォルトの名無しさん
NGNGint strfnd(s,t)
char *s /*与えられた文字列の先頭アドレス*/
char *t /*指定された文字列の先頭アドレス*/
戻り値は存在するときはその文字位置、存在しない時は-1とする。
例:"abcde"、"cd"と入力すると、関数は2を返して、存在しましたと出力する。
お願いします・・・。
0782デフォルトの名無しさん
NGNG#include <stdio.h>
#include <string.h>
int strfnd(char *s, char *t)
{
size_t i = strlen(s);
size_t j = strlen(t);
size_t k;
for(k = 0; k <= i-j; k++){
if(strncmp(s, t, j) == 0)
return(j);
s++;
}
return(-1);
}
int main(void)
{
char s[256];
char t[256];
scanf("%s", s);
scanf("%s", t);
if(strfnd(s, t) > 0)
puts("存在しました。");
else
puts("ありませんでした。");
return(0);
}
0783デフォルトの名無しさん
NGNG質問する時はあげた方が良いかも・・・
0784デフォルトの名無しさん
NGNGvector.hを使ってお願いします
0785デフォルトの名無しさん
NGNG0787デフォルトの名無しさん
NGNGC++のvectorクラスの事かな?
多分・・・
0788デフォルトの名無しさん
NGNGSTLの<Vecotr>ではないようだ。
三次元ベクトル数のクラス
class vector{...}
のヘッダだろう。
0789デフォルトの名無しさん
NGNG今日が生まれてから何日目か出力するプログラムを作りたいんですが
どうもエラーがでてしまうんですが、なにがいけないんでしょうか?
ttp://tokyo.cool.ne.jp/skoop_on/youbi.txt
0790デフォルトの名無しさん
NGNGとでるプログラムを教えて下さい。
0791デフォルトの名無しさん
NGNGやってみよう。
0792791
NGNG#include <stdio.h>
#include <string.h>
#include <time.h>
int main()
{
struct tm bd,td;
memset(&bd,0,sizeof bd);
memset(&td,0,sizeof td);
printf("YYYY/MM/DD形式で誕生年月日を入力してください : ");
scanf("%d/%d/%d",&bd.tm_year,&bd.tm_mon,&bd.tm_mday);
printf("YYYY/MM/DD形式で今日の日付を入力してください : ");
scanf("%d/%d/%d",&td.tm_year,&td.tm_mon,&td.tm_mday);
bd.tm_year-=1900;
bd.tm_mon--;
td.tm_year-=1900;
td.tm_mon--;
printf("誕生日から今日までの日数は%ld日です。\n",(long)((mktime(&td)-mkt
ime(&bd))/86400));
return 0;
}
0793792
NGNG#include <stdio.h>
#include <string.h>
#include <time.h>
int main()
{
struct tm bd,td;
memset(&bd,0,sizeof bd);
memset(&td,0,sizeof td);
printf("YYYY/MM/DD形式で誕生年月日を入力してください : ");
scanf("%d/%d/%d",&bd.tm_year,&bd.tm_mon,&bd.tm_mday);
printf("YYYY/MM/DD形式で今日の日付を入力してください : ");
scanf("%d/%d/%d",&td.tm_year,&td.tm_mon,&td.tm_mday);
bd.tm_year-=1900;
bd.tm_mon--;
td.tm_year-=1900;
td.tm_mon--;
printf("誕生日から今日までの日数は%ld日です。\n",(long)((mktime(&td)-mktime(&bd))/86400));
return 0;
}
0794デフォルトの名無しさん
NGNGツェラーの公式より。
#include <stdio.h>
int main(void)
{
int y, m, d;
char* week[7] = {"日", "月", "火", "水", "木", "金", "土"};
printf("年 : "); scanf("%d", &y);
printf("月 : "); scanf("%d", &m);
printf("日 : "); scanf("%d", &d);
if((m == 1) || (m == 2))
{
y--;
m = m + 12;
}
printf("今日は%s曜日です。\n",
week[(y + y/4 - y/100 + y/400 + (13*m+8)/5 + d) % 7]);
return(0);
}
0795デフォルトの名無しさん
NGNG0796デフォルトの名無しさん
NGNG0797デフォルトの名無しさん
NGNG0798デフォルトの名無しさん
NGNGこれはCプログラマーには必須?
0799706
NGNGをつくったのですが、下のではなぜいけないのでしょうか?
よろしければ、訂正お願いいたします。
==program==
Queue *q;
for(q=top;q->next!=NULL;q=q->next);
free(q);
return top;
==result==
p
c_id:3 a_time:4.000000
c_id:2 a_time:3.000000
c_id:1 a_time:1.000000
d
p
c_id:3 a_time:4.000000
c_id:2 a_time:3.000000
c_id:9437360 a_time:0.000000
c_id:9447552 a_time:0.000000
c_id:9437352 a_time:0.000000
とc_id:1の部分は消えるのですが、
余計なものがくっついて来ます。
僕の考えでは、forを使って、
qをリストの最後尾まで動かし、
qをfreeすれば、最後尾が消えるのではと思ったのですが。
ソース↓
ttp://acechannel.hp.infoseek.co.jp/wakaranai.c
実行結果↓
ttp://acechannel.hp.infoseek.co.jp/result.txt
0800デフォルトの名無しさん
NGNG適当なものにしなければ狂うわな。
0801706
NGNGけれど、どうすればいいのでしょうか…。
もう少し具体的に説明していただけると幸いです。
0802706
NGNGqの指すポインタじゃなくて、qを指していたポインタでした。
0803デフォルトの名無しさん
NGNGfree(void *q)
で qが指している領域を解放しmalloc等で再利用可能にする関数。
q自身を変更するわけではないことを考えると
リストの最後のnextをfreeしても、その一つ前のリスト内のnext
の値はそのままでfreeした結果無効な領域を指しているポインタ
になっているね。
0804デフォルトの名無しさん
NGNGうーん・・・
0805デフォルトの名無しさん
NGNGまちがった。こうだ。
0806706
NGNG0807デフォルトの名無しさん
NGNGQueue *q,*r;
for(q=top;q->next!=NULL;(),q=q->next);
free(q);r->next=NULL;
()内にあるコードを埋め込めば良いがそれは考えましょう。
0808706
NGNGなるほど!!!
ありがとうございましたm(_)m
0809デフォルトの名無しさん
NGNG再帰的に変換はされないから
#define free(p) ((void)(free(p),(p)=NULL))
でいいんじゃないかな・・・・と、テストもせずに適当行ってみるテスト。
0810デフォルトの名無しさん
NGNGそして誰にも反応してもらえない・・・
0811デフォルトの名無しさん
NGNG恭子さん、その後いかがですか。
0812706
NGNGやってみましたが、うまくいきませんよ?
どうしてかは分からないのですが…。。
0813デフォルトの名無しさん
NGNG>for(q=top;q->next!=NULL;q=q->next);
>free(q);
おいおいNULL値フリー?
0814デフォルトの名無しさん
NGNG( ゚д゚)ポカーン
0815デフォルトの名無しさん
NGNG( ゚д゚)ポカーン
q->nextがNULLなだけであって、qは非NULL
0816デフォルトの名無しさん
NGNGposixではfree()はNULLを引数としても特に問題ない
0817デフォルトの名無しさん
NGNGANSI Cでも
0818デフォルトの名無しさん
NGNGすまぬ。そのとおりでつ。
0819貧乏脱出!これであなたはお金持ち
NGNG本当にお金持ちになるにはやはり「副収入」が必要!
一日30分 おうちでコピペ、コピペ!
嘘だと思うんならランキング見てみてくださいよ↓↓
(直リン不可)
http://www.adultshoping.com/addclickport.cgi?pid=1053353765(直リン不可)
....///...
0820デフォルトの名無しさん
NGNG0821デフォルトの名無しさん
NGNGdataの内容は G01B123/456 のという文字列です。
このデータを出力させる際
[G01B123/456] → [G01B 123/456]
[G14A23/45] → [G14A 23/45]
[B11C2/3] → [B11C 2/3]
[G01B123:456] → [G01B 123:456]
[G14A23:45] → [G14A 23:45]
[B11C2:3] → [B11C 2:3]
[B12G12345] → [B12G 123]
[B12G12] → [B12G 12]
のように、 頭4文字以降に半角スペースを入れ
'/' または':'の前の数字を桁あわせをして
表示させるプログラムを作りたいんですが
最後の2例は、'/'も':'もない場合で、
この場合は、元のデータから7桁表示させ、
頭4桁+半角スペース+残り3桁となります。
ソース教えてください よろしくお願いします。
0822デフォルトの名無しさん
NGNG頭4文字以降+半角スペースから'/' または ':'の 前のデータを
3桁に桁あわせして 頭うめとして 半角スペースを入れてください。
0823デフォルトの名無しさん
NGNG最後の例がこの文章と矛盾してる
>最後の2例は、'/'も':'もない場合で、
>この場合は、元のデータから7桁表示させ、
>頭4桁+半角スペース+残り3桁となります。
0824sage
NGNG0825デフォルトの名無しさん
NGNG[B12G12] → [B12G 12]
の例は省きます。すみません。
0826デフォルトの名無しさん
NGNG第2フィールドの / や : で桁あわせについて、桁の最大の長さが
決まっているのといないので実装の考え方が変わるんですが。
0827デフォルトの名無しさん
NGNG第一フィールド?での、最大の桁数は13桁です。
第二フィールドでは、決まってません。
’/’または’:’以下は、そのまま表示させてください。
本来は’/’または’:’以下は、5桁に桁そろえしたいのですが。
0828デフォルトの名無しさん
NGNG0829デフォルトの名無しさん
NGNGint main(){
int *a b;
b=12:
a=&b;
printf("%d",*a);
}
0830デフォルトの名無しさん
NGNGmain を void にしろ
俺はreturn を書くのがめんどいといつもvoidでした。
自作はOKだがな!
0831デフォルトの名無しさん
NGNGint main(){
int *a b;
b=12:
a=&b;
return printf("%d",*a);
}
0832デフォルトの名無しさん
NGNGこれでコンパイルされますが?
0833デフォルトの名無しさん
NGNG0834あぼーん
NGNG0835デフォルトの名無しさん
NGNGttp://www2.realint.com/cgi-bin/tarticles.cgi?pointc+7843
0836デフォルトの名無しさん
NGNG0837デフォルトの名無しさん
NGNG0838デフォルトの名無しさん
NGNG0839デフォルトの名無しさん
NGNG難しいっす
まったくわかりません・・・
0840デフォルトの名無しさん
NGNGな〜んか、質問がよく分からんからテキトウに作ってみたよ。
#include <stdio.h>
int main(void)
{
char *data[7] = {
"G01B123/456", "G14A23/45", "B11C2/3",
"G01B123:456", "G14A23:45", "B11C2:3",
"B12G12345"
};
int flags[7] = {0};
char *p;
int i, j;
for(i = 0; i < 7; i++){
p = data[i];
while(*p++ != '\0'){
if((*p == '/') || (*p == ':'))
flags[i] = 1;
}
}
続く・・・
0841デフォルトの名無しさん
NGNGウホッ!まだ頑張ってたんだね!
0842840
NGNG続き
for(i = 0; i < 7; i++){
p = data[i];
for(j = 0; j < 4; j++)
putchar(*p++);
putchar(' ');
if(flags[i] == 1)
puts(p);
else
{
for(j = 0; j < 3; j++)
putchar(*p++);
putchar('\n');
}
}
return(0);
}
0843デフォルトの名無しさん
NGNGmain で返り値を返さず、return を書かないからといって、void main()
と書いていいというものでもないと思うのですが。
あくまでも返り値の型は呼び出し側のつくりに依存するのではないでしょうか。
ttp://www.catnet.ne.jp/kouno/c_faq/c11.html#14
0844デフォルトの名無しさん
NGNGウホッ!おれも。>>821にささげる。
const char* addsp(char *l,const char *r)
{
const char *t = l;
const char *re = r;
while(r != re+4) *l++ = *r++;
*l++ = ' ';
for(re = r;r != re+3;) *l++ = *r++;
for(re = r; *r && *r != '/' && *r != ':'; ++r);
if(*r == '/' || *r == ':'){
r = re;
while(*r) *l++ = *r++;
}
*l = '\0';
return t;
}
void test(void)
{
char s[]="G01E1234/5678";
char s1[] = "G01E123456";
char r[256];
printf("%s\n%s\n",addsp(r,s),addsp(r+80,s1));
}
0845デフォルトの名無しさん
NGNG0846デフォルトの名無しさん
NGNGみなさんありがとぉ〜
(ノ△・。)
0847デフォルトの名無しさん
NGNG#include <stdio.h>
#include <string.h>
int main(void) {
char *data[7] = { "G01B123/456", "G14A23/45", "B11C2/3",
"G01B123:456", "G14A23:45", "B11C2:3", "B12G12345"};
char str[256],str2[256],str3[256];
int i;
for(i=0;i<7;i++) {
memset(str, 0, 256); memset(str2, 0, 256); memset(str3, 0, 256);
strncpy(str, data[i], 4);
if(strlen(data[i]) == strcspn(data[i], "/:"))
strncpy(str2, &data[i][4], 3);
else
strcpy(str2, &data[i][4]);
sprintf(str3, "%s %s", str, str2);
printf("%s\n", str3);
}
return 0;
}
0848デフォルトの名無しさん
NGNG3.プログラムのソースファイルを開いて、/* */で囲まれたコメント部分を
別のファイルにかき出すプログラムを作成せよ。
考えたんですけど何をどうすればいいのか分かりません。教えてください。m(_ _)m
0849デフォルトの名無しさん
NGNGでもまあ、ただ書き出すだけでなくて行番号やその前後に
明らかにコメントの示す内容があるならそれも出力する位はしたい
0850デフォルトの名無しさん
NGNGそして、そこから見つけたら*/までをファイルに書き込む。
・・・・・おわり。・・・・・・・
0851デフォルトの名無しさん
NGNGそれじゃたりんぞ。"/*"なんかは無視しなくちゃならん。
0852デフォルトの名無しさん
NGNG0853デフォルトの名無しさん
NGNGうん。難しい。というかややこしい。
単純に"が出たら"まで読み飛ばせばいいかというとさにあらず、
"\""なんてのもあるしね。
0854デフォルトの名無しさん
NGNGで、結論としてはプリプロセッサのソース…モガモガ
となるので、スレタイどおり宿題程度の回答でいいんではない?
0857デフォルトの名無しさん
NGNGdo {
while(ch != '*') ch = nextChar();
ch = nextChar();
}while(ch != '/');
コメントの読み捨てで、コンパイラの本のパクリでつ。
これを参考にすると出来るだろうか。
0858853
NGNG頭いいなあこのコード。おれが作ったのは何のひらめきも感じられないw
#include <stdio.h>
#include <string.h>
int main(int argc, char * argv[]) {
char line[1024], *p, *start;
int in_comment = 0;
while (fgets(line, sizeof(line), stdin)) {
if (!in_comment) {
if ((p = strstr(line, "/*")) != NULL) {
p += 2;
memmove(line, p, strlen(p) + 1);
in_comment = 1;
}
}
if (in_comment) {
if ((p = strstr(line, "*/")) != NULL) {
*p ='\0';
in_comment = 0;
}
fputs(line, stdout);
}
}
return 0;
}
0859853
NGNG文字列中に/*が出てきてもコメントと見なす。
puts("/*");なんてのもコメントと思う。
同じ行にコメントが二度現れても最初しかコメントと思わない。
/* イイ */ /* ダメ */
なんてのはイイしか出ない。
0860デフォルトの名無しさん
NGNGfor文を使ってprintf("%d",n)とやるしか無いのですか?
0861デフォルトの名無しさん
NGNG質問の意図がよくわからんが、多分そうだよ。
printf("%d %d %d %d", a[0], a[1], a[2], a[3]);はダメなんだろ?
0862デフォルトの名無しさん
NGNG47 :デフォルトの名無しさん :03/06/29 22:17
問A 自分自身と同じソースコードを出力するソースコード
まちがっている例)
int main() {
printf("int main() {\n printf(\"ウホッ\");\n return 0;\n}\n");
return 0;
}
環境依存になっちゃうと思うけどデバッグ情報があればソースパスも
拾えるはずだから可能だと思うんだけど…
0863デフォルトの名無しさん
NGNG#include <iostream>
#include <fstream>
int main()
{
std::copy(
std::istreambuf_iterator<char>(std::ifstream(__FILE__)),
std::istreambuf_iterator<char>(),
std::ostreambuf_iterator<char>(std::cout));
return 0;
}
こういう奴か?
0864デフォルトの名無しさん
NGNG古典
char*s="char*s=%c%s%c;main(){printf(s,34,s,34);}";main(){printf(s,34,s,34);}
0865デフォルトの名無しさん
NGNG0866デフォルトの名無しさん
NGNG1. 一クラス分の得点を繰り返し入力する。(最大20回)
2. 入力の終了は得点に999が入力されたときとする。
3. 得点は以下のような形式で入力する。
得点=入力[Enter]
得点=入力[Enter]
:
:
得点=999[Enter] ←入力の終了
4. 得点を入力するたびに0〜100の範囲の値かをチェックする。ただし999は範囲外エラーから除く。
5. チェックの結果、範囲外の時は、以下のメッセージを表示して、再入力する。
「得点が範囲(0〜100)外である。再入力してください。」
6.入力終了後、以下のように得点、順位の一覧を表示する。
得点 順位
1人目 90 2
2人目 70 5
3人目 95 1
4人目 80 3
5人目 80 3
7. 以下の処理を関数にする。
順位付けの処理
関数の定義 order01(ten,ten[i],n)
戻り値:順位
引数ten:得点が入っている配列の配列名
引数ten[i]:順位を求めたい得点
引数n:最後の得点が入っている配列要素の添字番号
0867866の続き
NGNG/* 表示処理 */
puts(" 得点 順位");
for(i=0;i<=n;i++) { printf("%2d人目",i+1);
printf("%5d%5d\n",ten[i],order01(ten,ten[i],n)); }
return (0);
『関数について』
関数名は、「order1」とする
表示処理プログラムのようにorder1関数を使用する
order01関数の定義はmain関数より前で行う
↑この問題よろしくお願いします。
0868デフォルトの名無しさん
NGNG#include <iostream>
#include <fstream>
int main()
{
std::cout << std::ifstream( __FILE__ ).rdbuf();
return 0;
}
0869デフォルトの名無しさん
NGNGgcc -Wall -o self1 self1.c
self1.c:1:22: algorithm: No such file or directory
self1.c:2:21: iostream: No such file or directory
self1.c:3:20: fstream: No such file or directory
self1.c: In function `main':
self1.c:7: parse error before ':' token
self1.c:7: warning: label `std' defined but not used
ひょっとして環境依存?
0870デフォルトの名無しさん
NGNG0871デフォルトの名無しさん
NGNGネタだよね??(T_T)
0872866
NGNG0873デフォルトの名無しさん
NGNG得点=入力のうち、入力の部分だけでいいんだよな?(T_T)
つまりprintf("得点="); scanf("%d",pts+i);みたいな感じでいいんだよな?(T_T)
0874873
NGNG○ユーザーが入力するのは入力の部分だけで
(T_T)
0875デフォルトの名無しさん
NGNGなんだ、C++か。間違ったプログラムがCで記述されてて、
俺、C++知らないから、これも何か特殊なCかと思いますた。
いや、マジで間違えた。スマソ。
0876866
NGNGそうです(T_T)
0877デフォルトの名無しさん
NGNGちょっとやってみよう(T_T)
0878866
NGNGありがとうございます神様(T_T)
0879デフォルトの名無しさん
NGNG得点入力時に数字以外が入力された場合はどうすればいいの?(T_T)
0880866
NGNGwhile(a < 0 || a > 100 && a!=999){
puts("得点が範囲(0〜100)外である。再入力してください");
scanf("%d",&a);}
たぶんすべてこんな感じで
0881866
NGNG「得点が範囲(0〜100)外である。再入力してください」
これで。
0882デフォルトの名無しさん
NGNGコンパイルエラーにならないのはどうしてでしょうか。
普通はstrncpyとかを使うのではないでしょうか。
また、配列の大きさが指定されていないので、
このソースはやばいと思うのですがどうでしょうか。
#include <stdio.h>
typedef struct {
char *name;
} NAME;
int main(void)
{
NAME test;
test.name = "abcdefghijklmn";
printf("%s\n", test.name);
return 0;
}
0883デフォルトの名無しさん
NGNGここで聞くべきじゃないね。
文字列定数("abc....n")はメモリ上のどこかに置かれ、その先頭アドレスをtest.nameに代入しているので問題ない。
もしもstrncpyを使ったらtest.nameが指す領域を確保していないので何が起こるか分からない。
0884デフォルトの名無しさん
NGNGあい、すいません。ここは宿題スレでしたね。間違えました。
別のスレで尋ねなおします。
0885883
NGNG答えたのに(T_T)
0886デフォルトの名無しさん
NGNGいえ、まだ別に尋ねたいことがあったのですが、
それは別のスレでということです。
どうもすいませんでした。
0887866
NGNGエラー起こってても途中まででもいいので見せてください。
0888デフォルトの名無しさん
NGNG今できた。
0889888
NGNG#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int order01(int *ten,int tensu,int n)
{
int i;
for(i=0;i<=n;i++)
if(ten[i]==tensu)
break;
return i+1;
}
static int cmp(const void *xp,const void *yp)
{
const int *x=xp;
const int *y=yp;
return (*x==*y)?0:(*x<*y)?1:-1;
}
0890888
NGNGint main()
{
int tensu[20]={0},ten[20];
int i,j,fail;
char buf[1024];
for(i=0;i<20;i++){
do{
printf("得点=");
fgets(buf,sizeof buf,stdin);
if(sscanf(buf,"%d",tensu+i)!=1)
fail=1;
else if((tensu[i]<0||tensu[i]>100)&&tensu[i]!=999)
fail=1;
else
fail=0;
}while(fail&&printf("得点が範囲(0〜100)外である。再入力してください。\n"));
if(tensu[i]==999)
break;
}
memcpy(ten,tensu,sizeof(int)*i);
qsort(ten,i,sizeof(int),cmp);
printf("\n\n");
for(j=0;j<i;j++)
printf("%2d人目 %5d%5d\n",j+1,tensu[j],order01(ten,tensu[j],i-1));
return 0;
}
0891866
NGNGサンクス!見せてください!
0892866
NGNG0893888
NGNG多分ソートしてから順位付けするのが一番だから。
0894デフォルトの名無しさん
NGNG−−−−−−−−−−−−−−−−−−−
一辺10の立方体の内部に整数値を座標にした点を4つランダムに生成し、その4点を
頂点にした4面体の体積および4面体が立方体の中心を含むか含まないかを表示する
プログラムを作成しなさい。
−−−−−−−−−−−−−−−−−
と言う課題なのですが・・
0895デフォルトの名無しさん
NGNGchar gazou[20];
float Longitude;
float Latitude;
float Height;
float Range;
float Angle;
}csv[80];
struct HELI *sp;
sp=csv;
このような構造体を作って、次のようにして、CSVファイルからデータを読み込もうとしたところ。
gazouという配列に一行全部読み込まれてしまいました。
fscanf(fp,"%s,%f,%f,%f,%f,%f",sp->gazou,sp->Longitude,sp->Latitude,sp->Height,sp->Range,sp->Angle)
なにがいけなかったのでしょうか?どうか教えてください。よろしく願いします。
ちなみに、読み込みたっかたCSVは次のようなものです。
CRW_7536.jpg,145.302718,-34.389002,140.7,30.96,0
CRW_7537.jpg,145.302723,-34.388943,140.5,31.53,0
0896デフォルトの名無しさん
NGNGプログラムを実装せよ。ただし、出現回数が-nオプションで指定した回数
以上の単語だけを表示する(デフォルトで1回以上)
-----------------------------------------------------
お願いします。
0897デフォルトの名無しさん
NGNG単語って?
0898デフォルトの名無しさん
NGNG0899デフォルトの名無しさん
NGNG0900デフォルトの名無しさん
NGNG0901899
NGNGサンクス
0902デフォルトの名無しさん
NGNGfscanfの区切り文字で有効なのはスペース、タブ、改行文字だけなのでカンマだとできません
char buf[1024];
int i;
fgets(buf, sizeof(buf), fp);
for(i=0;i<(int)strlen(buf);i++)
if(buf[i]==',') buf[i]=' ';
sscanf(buf,"%s %f %f %f %f %f",sp->gazou,&sp->Longitude,&sp->Latitude,&sp->Height,&sp->Range,&sp->Angle);
で、こんな感じでやればできるんだけど、構造体の中のfloatは精度の高いdoubleにしたほうがいいでしょう
0903デフォルトの名無しさん
NGNG構造体内のfloatをdoubleにする。
×fscanf(fp,"%s,%f,%f,%f,%f,%f",...);
○fscanf(fp,"%s%lf%lf%lf%lf%lf"...);
×CRW_7536.jpg,145.302718,-34.389002,140.7,30.96,0
○CRW_7536.jpg 145.302718 -34.389002 140.7 30.96 0
0904デフォルトの名無しさん
NGNG中心を含むかは俺のレベルじゃ無理。つーかめんどそう。
簡単なのかな?
それと正しい結果かはわかりませんからあしからず。
#include <math.h>
/* 法線ベクトル*/
void HV(int *p,int *q,int *r)
{
int i,t1,t2;
for(i=0; i<3; ++i){
t1 = (i+1) % 3;
t2 = (t1+1) % 3;
r[i] = p[t1]*q[t2]-p[t2]*q[t1];
}
}
double V(int *h,int *a,int *A)
{
double f=0,d=0;
int i;
for(i=0; i<3; ++i){
d += h[i]*A[i];
f += h[i]*a[i];
}
/*a→平面へのLと面積Sの打ち消しがある*/
return fabs(f-d) / (2*3);
}
0905デフォルトの名無しさん
NGNG{
int k[4][3],m[2][3];
int h[3];
int i,j;
for(i=0; i<4; ++i){
if(scanf("%d,%d,%d",&k[i][0],&k[i][1],&k[i][2]) != 3)
return ;
}
for(i=0; i<2; ++i){
for(j=0; j<3; ++j){
m[i][j] = k[i+1][j] - k[0][j];
}
}
HV(m[0],m[1],h);
printf("%f",V(h,k[3],k[0]));
return 0;
}
0906デフォルトの名無しさん
NGNGfscanf(fp,"%[^,],%f,%f,%f,%f,%f",sp->gazou,sp->Longitude,sp->Latitude,sp->Height,sp->Range,sp->Angle);
どっちかと言えば、fgets()してからばらした方がいいかもね。
0907895
NGNGありがとうございます!
出来ました!
0908デフォルトの名無しさん
NGNGプログラムをSDKで作りたいんですがどうすれば良いんですか?
方法としてはOSからカーソルを変更させる命令信号が出ると思うので
それを監視すればいいのでは。と考えているんですが、考え方からして
間違っていますか?OSを監視してその信号をキャッチするAPIとか
あるんでしょうか?
教えてください。よろしくおねがいします。
0909デフォルトの名無しさん
NGNGおまえはまず電波で信号をキャッチする方法から覚えたほうがいい。
マジレスするとスレ違い。
0910デフォルトの名無しさん
NGNG追加した要素が 集合の新しい要素の場合1、既に存在していた場合0を返すとする。
int addset(Set &set,char a)
わかりましぇん(;´Д`)
0911デフォルトの名無しさん
NGNGそれだけじゃ、わかりましぇん(;´Д`)
0912デフォルトの名無しさん
NGNGその集合は配列で実装するの?
0913デフォルトの名無しさん
NGNG私もこれだけの情報した与えられてないので・・・
質問は受けないってゆうじじい教授でして・・・。(;´Д`)
0914デフォルトの名無しさん
NGNGC++なのか?
0915(;´Д`)
NGNG0916デフォルトの名無しさん
NGNG0917デフォルトの名無しさん
NGNG【プログラム内容】
おみくじプログラム(大吉、中吉、小吉、吉、末吉、凶、大凶)とその改良型を選んで実行できるプログラム
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void main (void)
{
int a;
int b, su1, su2;
printf("以下の三種類から選べ\n");
printf("1:普通のおみくじ\n");
printf("2:改良型\n");
rintf("3:おみくじプログラムを実行しない\n");
scanf("%d",&a);
switch(a)
0918917のつづき
NGNGcase 1:
printf("おみくじプログラムを実行しますか?y:YES n:NO");
scanf("%d",&b);
rewind(stdin);
if((b == 'Y') || (b == 'y'));
{
srand((unsigned int)time(NULL));
su1 = rand();
su2 = su1 % 16;
switch(su2)
{
case 0:printf("今日のおみくじは大吉です\n");
break;
case 1:
case 2:printf("今日のおみくじは中吉です\n");
break;
case 3:
case 4:
case 5:printf("今日のおみくじは小吉です\n");
break;
0919917のつづき
NGNGcase 7:
case 8:
case 9:printf("今日のおみくじは吉です\n");
break;
case 10:
case 11:
case 12:printf("今日のおみくじは末吉です\n");
break;
case 13:
case 14:printf("今日のおみくじは凶です\n\n");
break;
case 15:printf("今日のおみくじは大凶です\n");
}
}
else
{
printf("おみくじプログラム実行しませんでした");
}
break;
case 2:
以下省略(ってか未完成)
0920デフォルトの名無しさん
NGNG0921917のつづき
NGNG「else文とif文が一致しません」とでてしまうのですが、どこがどう間違えてるのかさっぱり解からないので
間違えてる所を教えてください。おねがいします
0922デフォルトの名無しさん
NGNG0923917のつづき
NGNGはい。そうです。
明日が提出日なのでかなり焦ってしまってます。
プログラム板独自のマナーとか無視して書いてしまったのならごめんなさい。
C++です。
ソフトは、マイクロソフトのビジュアルC++6.0を使ってます。
0924デフォルトの名無しさん
NGNGCとC++の違いも解かってない。
全然駄目じゃん。
0925917のつづき
NGNGえ…?
Cですか?
0926デフォルトの名無しさん
NGNG0927917のつづき
NGNG省略の先は
case2:
printf("おみくじ(改良型)プログラムを実行しますか?y/n");
scanf("%d",&c);
}
}
までしか出来てません…。やべぇ
0928デフォルトの名無しさん
NGNG0929デフォルトの名無しさん
NGNGcase2:
printf("おみくじ(改良型)プログラムを実行しますか?y/n");
scanf("%d",&c);
}
0930デフォルトの名無しさん
NGNG0931917
NGNG削除しましたがエラーは変わりません。
case1の
普通のおみくじの中で何か間違えてるのかなと思うのですが…
なんで、y or Y 以外を入力した場合は実行しませんでしたとメッセージが出るという風にしたはずなのに…
0932917のつづき
NGNG0933デフォルトの名無しさん
NGNG#include <string>
#include <iostream>
using namespace std;
struct Set{
char ch[256];
string str[256];
};
int addset(Set *set,char a);
int main(){
char a='k';
Set set;
int i;
cout<<"要素操作みたいな・・・\n";
i=addset(&set,a);
cout<<"要素"<<i;
return 0;
}
int addset(Set set,char a){
int i=0;
while(set->ch[i]!='null'){
i++;
}
return i;
}
このままじゃえらー出るよ
後は自分で!
俺は風呂に入ってくる!
0934デフォルトの名無しさん
NGNG複数の文字列を読み込み、これをリストに格納し、出力するプログラムを作成しなさい。
ここで入力とは逆の順序のリストと入力順のリストの2通りを作成しなさい。
0935デフォルトの名無しさん
NGNGswitch(a)
{
case 1:
/* ここから
printf("おみくじプログラムを実行しますか?y:YES n:NO");
printf("おみくじプログラム実行しませんでした");
} ここまで*/
break;
case2:
printf("おみくじ(改良型)プログラムを実行しますか?y/n");
scanf("%d",&c);
}
ここからここまでコメント入れてコンパイル通ったら、一行ずつコメント外して繰り返せ
0936917
NGNGふつうのおみくじにループをつけてdo while文使おうと思ってます。
y、n、Y、N以外はエラー表示でまた入力の所に戻るってのをしようと思ってます
0937デフォルトの名無しさん
NGNGそれはリストと言うよりスタックとキューだね。
0938デフォルトの名無しさん
NGNGこれかな?
0940デフォルトの名無しさん
NGNG双方向リスト1本作れば?
0941デフォルトの名無しさん
NGNG#include <stdio.h>
struct Set{
char ch[256][256];
};
int search(char *ch);
int main(){
char ch[256];
int i;
printf("なんな入力すれば・・・\n");
gets(ch);
i=search(&ch);
printf("%d",i);
}
int search(char *ch){
int i=0;
struct Set set;
while(set.ch[i][0]=='NULL'){
i++;
}
/*引数chをなんかする*/
return i;
}
あと、よろしく!
0942917
NGNGあ、すいません。それはこのスレへの記載ミスです。ごめんなさい。
今一文一文やり直してるのですがcase15まではなんの問題も起きませんでした。
if文って文末に「;」いるんですか?
0943917
NGNGあ、すいません。それはこのスレへの記載ミスです。ごめんなさい。
今一文一文やり直してるのですがcase15まではなんの問題も起きませんでした。
if文って文末に「;」いるんですか?
0944デフォルトの名無しさん
NGNG0945デフォルトの名無しさん
NGNG誰かわかる人お願いします。
http://www.laser.ee.kansai-u.ac.jp/lecture/kisopro/report11.htm
0947デフォルトの名無しさん
NGNG11-2とか簡単だろ
ヒントという名の答えがかいてあるし
0948917
NGNGけど、Y押してもy押しても「おみくじプログラムを実行しませんでした」と表示されます。
なんで???
0949とも
NGNGhttp://s-rf9.free-city.net/page008.html
0950デフォルトの名無しさん
NGNG猫でもわかる・・・は一応読破しました。
他にもあればお願いします。
0951デフォルトの名無しさん
NGNG0952デフォルトの名無しさん
NGNG0953デフォルトの名無しさん
NGNG知りたいです。でも、猫なんとかってのはまだ難しすぎました。
基本的なことからやりたいので、超初歩的なことから書いてある
サイトを知らないでしょうか?
0954デフォルトの名無しさん
NGNGCやC++は理解したのかな?ぼうや。
0955953
NGNGC++もAPIを使う以前に必須ですか?
0956デフォルトの名無しさん
NGNG0957953
NGNGCでWinアプリを作るっていうのも
要するにWIN32APIを使うってことなんですかね
0958デフォルトの名無しさん
NGNGコードを短くするのに悩みそうなのでアイデアだけ。
以下では3次元ベクトル u, v の内積と外積を i(u,v), o(u,v) で表す。
またPを任意の点とする。四点A,B,C,Dに対し、
a0,a1,a2,a3,b0,b1,b2,b3 をそれぞれベクトル
AP,AB,AC,AD,BP,BC,BD,BA とし、
s1 = o(a2,a3), s2 = o(a3,a1), s3 = o(a1,a2), t1 = o(b2,b3)
とするとき、四面体ABCDの体積を vol は vol = fabs(i(s1,a1))/6 で求まる。
そして点Pが四面体ABCDの内部にあることは次と必要十分。
vol != 0 &&
i(s1,a1)*i(s1,a0) >= 0 &&
i(s2,a2)*i(s2,a0) >= 0 &&
i(s3,a3)*i(s3,a0) >= 0 &&
i(t1,b1)*i(s0,b0) >= 0
なぜなら、s1 = o(a2,a3) は△ACDを含む平面の法線ベクトルなので
この平面に関して点Pと点Bが同じ側にある場合に限り、
内積 i(s1,a1) と i(s1,a0) の正負は一致する、
つまり i(s1,a1)*i(s1,a0) >= 0 となる。ただし、等号は
vol == 0 の場合か△ACDを含む平面上に点Pが存在する場合に成立。
同様の検査が4つの面について合格し、なおかつ体積 vol が 0 でない場合、
そしてその場合に限り、点Pは四面体ABCDの内部にあるといえる。
0959デフォルトの名無しさん
NGNGC&API直打ちでプログラムを作るのは骨が折れるぞ。
そこそこのプログラムを作りたいならC++とオブジェクト指向に
関する理解は必須。
0960デフォルトの名無しさん
NGNG0961デフォルトの名無しさん
NGNG10桁までの整数を読み込み1桁ずつchar型配列ketaに格納するには
どうすれば良いですか?
例えば3254と入力されたら
keta[0]=3,keta[1]=2,keta[2]=5,keta[3]=4という具合に。
スキャンを使ってもうまくいきません。
どうかお願いします。
0962デフォルトの名無しさん
NGNGchar keta[1024];
int n;
scanf("%d",&n);
sprintf(keta,"%d",n);
こうやる
つーか単に
char keta[1024];
fgets(keta,sizeof keta,stdin);
でいいと思うが。10桁以内か、数字列かどうかの判断はその後するということで。
0963C++
NGNG複数個の整数データを読み込むものとする.
その和が 107 を超えるか,または,読み込んだデータの個数が 8 個になった時点で
データの読み込みを中止し,読み込んだデータの和と個数を出力するプログラムを書け.
結果は,和と個数を1つ以上のスペースで区切って出力すること.
0964デフォルトの名無しさん
NGNGあと最後に
for(i=0 ;i<10 ;i++)
keta[i] -= '0';
0965デフォルトの名無しさん
NGNGint main()
{
int const max_num = 8;
int const end_threshold = 107;
int num = 0;
int sum = 0;
while( sum <= end_threshold && num < max_num )
{
int n;
if( std::cin >> n )
{
sum += n;
++num;
}
else
{
return 1;
}
}
std::cout << sum << ' ' << num << std::endl;
return 0;
}
0966デフォルトの名無しさん
NGNGどうもありがとう。
0967デフォルトの名無しさん
NGNG>>962
10桁以内ではintが64bitでもないと
0969デフォルトの名無しさん
NGNGint i;
fgets(keta,11,stdin);
for( i=0; keta[i] && i<11; i++ )
keta[i] -= '0';
0972デフォルトの名無しさん
NGNGa0 = 0, a1=1, an+2 = an+1 + an (n は 0 以上)
で定まる数列 an を求める関数 int fibonacci(int n) を、
再帰を使って作成しなさい。
動作確認をするために、20項まで出力する main 関数も作成しなさい。
この数列は、Fibonacci(フィボナッチ)数列と呼ばれ、
a2 = 1, a3 = 2, a4 = 3, a5 = 5, a6 = 8, a7 = 13, ・・・となる。
0973ガイシュツ
NGNGint fibonacci(int n) {
if (n == 0) return 0;
else if (n == 1) return 1;
else return fibonacci(n - 1) + fibonacci(n - 2);
}
int main(void) {
printf("%d\n", fibonacci(20));
return 0;
}
0974972
NGNG本当に助かりました
0975デフォルトの名無しさん
NGNGきっつい再帰やなぁ。
0976デフォルトの名無しさん
NGNGa = x && y;
0977デフォルトの名無しさん
NGNG0978デフォルトの名無しさん
NGNGそんな977が好き。
0979デフォルトの名無しさん
NGNG削除して空いた場所に、最後のデータを移動するのと、
後のデータを1個ずつずらすものをつくりたいです。配列は順序よく並んでいません。
デリートを使ってお願いします
0980デフォルトの名無しさん
NGNGaの型にもよる
0981デフォルトの名無しさん
NGNG0982デフォルトの名無しさん
NGNG>>979は
配列を格納したリストがつくりたいのだと小宇宙が語っている
0983デフォルトの名無しさん
NGNG生成し、その4点を頂点にした四面体の体積および四面体が
立方体の中心を含むか含まないかを表示するプログラムを作成しなさい。
ヒント
点Pが四面体ABCDの内部にあるかどうかは、四面体ABCDの各面とPにより
形成される4つの四面体PABC,PBCD,PCBD,PDABの体積の和が、
の四面体の体積よりも大きい場合にはPは四面体の外部にある。
お願いします。
0984デフォルトの名無しさん
NGNG3次元ベクトルを扱う関数の定義ファイル "vector.h" を使ってお願いします。
お願いします
0985デフォルトの名無しさん
NGNGこのスレの住人には無理
0986デフォルトの名無しさん
NGNG0987デフォルトの名無しさん
NGNGvector なら使えるが。
0988デフォルトの名無しさん
NGNG0989デフォルトの名無しさん
NGNGvectorでお願いします
0990デフォルトの名無しさん
NGNG0991デフォルトの名無しさん
NGNG0992デフォルトの名無しさん
NGNG0993デフォルトの名無しさん
NGNG0994デフォルトの名無しさん
NGNG0996デフォルトの名無しさん
NGNG0997983
NGNG0998デフォルトの名無しさん
NGNG日本語は正しくな。
「しかし漏れはバカだから理解できません」
だろ?
0999デフォルトの名無しさん
NGNG依頼してくる
1000デフォルトの名無しさん
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。