C/C++の宿題は拙者が斬る! 29代目
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
NGNGわからない問題は次々と切捨御免。
【注意点】 -------------------------------------------------
・問題はしっかりと解いてもらう方にわかりやすいように
問題文などの省きはやめ、全文を書きましょう。
・使用する言語(C/C++)や環境(CUI/ANSIとか
GUI/Windows32bitAPI など)は必ず書きましょう。
・計算問題は必ず数式自体をあげ、どのような計算をするのか
くわしく説明してください。
・エラーは、その行とエラーの詳細を書きましょう。
エラーメッセージが出た場合はそのままコピーしてください。
・後になって問題につけたしをするのはやめましょう。
解いてもらっている方に失礼になってしまいます。
------------------------------------------------------------
【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
http://do.sakura.ne.jp/%7Ejunkroom/cgi-bin/megabbs/lounge/index.html
【歴代スレは>>2-10】
0002デフォルトの名無しさん
NGNG27代目: http://pc5.2ch.net/test/read.cgi/tech/1089448445/
26代目: http://pc5.2ch.net/test/read.cgi/tech/1088860889/
25代目: http://pc5.2ch.net/test/read.cgi/tech/1087929711/
24代目: http://pc5.2ch.net/test/read.cgi/tech/1086612317/
23代目: http://pc5.2ch.net/test/read.cgi/tech/1085149383/
22代目: http://pc5.2ch.net/test/read.cgi/tech/1083050221/
21代目: http://pc5.2ch.net/test/read.cgi/tech/1078157730/
20代目: http://pc5.2ch.net/test/read.cgi/tech/1075217631/
19代目: http://pc5.2ch.net/test/read.cgi/tech/1073566342/
18代目: http://pc5.2ch.net/test/read.cgi/tech/1071407728/
17代目: http://pc5.2ch.net/tech/kako/1070/10704/1070469896.html
16代目: http://pc5.2ch.net/tech/kako/1069/10698/1069837000.html
15代目: http://pc5.2ch.net/tech/kako/1068/10689/1068950713.html
14代目: http://pc5.2ch.net/tech/kako/1067/10671/1067175933.html
13代目: http://pc5.2ch.net/tech/kako/1064/10645/1064541405.html
12代目: http://pc5.2ch.net/tech/kako/1060/10607/1060706382.html
11代目: http://pc5.2ch.net/tech/kako/1058/10582/1058283913.html
10代目: http://pc5.2ch.net/tech/kako/1057/10570/1057070174.html
9代目: http://pc5.2ch.net/tech/kako/1055/10559/1055944101.html
8代目: http://pc5.2ch.net/tech/kako/1055/10550/1055056940.html
7代目: http://pc5.2ch.net/tech/kako/1053/10539/1053963794.html
6代目: http://pc5.2ch.net/tech/kako/1053/10530/1053045530.html
5代目: http://pc5.2ch.net/tech/kako/1051/10515/1051594046.html
4代目: http://pc5.2ch.net/tech/kako/1045/10450/1045074808.html
3代目: http://pc5.2ch.net/tech/kako/1041/10419/1041992392.html
2代目: http://pc3.2ch.net/tech/kako/1039/10397/1039772622.html
宿題手伝いますYO!!: http://pc3.2ch.net/tech/kako/1038/10380/1038024989.html
0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNG0005デフォルトの名無しさん
NGNGAA 無しか。もしかしてテンプレ増加により「改行が多すぎ」?
0006デフォルトの名無しさん
NGNG1様乙です。
テンプレの評判をみてからたてようかと思ってたんですが、
いつの間にか前スレが970までのびてて
拙者まにあわず…
それではごめんなすって…
0007デフォルトの名無しさん
NGNG0008デフォルトの名無しさん
NGNG0009デフォルトの名無しさん
NGNG0010デフォルトの名無しさん
NGNG\∧_ヘ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
/ \〇ノゝ∩ / C/C++道
/三√ ゚Д゚) / <
/三/| ゚C゚|\ | 壱 宿題を斬って斬って斬りまくれ!
U (::::::::::) | 弐〜拾 歴代スレである!
//三/|三|\ \ 参 誰もが侍になれるぞ!
∪ ∪ \________________
0011お願いします
NGNGそのC++のぷろぐらむを作成せよ。また、ライプニッツの公式との比較も行え。」
という宿題が出ました。どなたかこの問題が解け、プログラムを作れる、C++に
詳しい方教えてください。お願いします。
0012デフォルトの名無しさん
NGNGそれ最近見た。
0014デフォルトの名無しさん
NGNG0015デフォルトの名無しさん
NGNGhttp://www.google.com/search?hl=ja&lr=lang_ja&ie=sjis&q=%83%7d%81%5b%83%60%83%93%82%cc%8c%f6%8e%ae+2ch
0016デフォルトの名無しさん
NGNG0017デフォルトの名無しさん
NGNG懐かしいな、俺が去年解いた奴じゃん。
0020デフォルトの名無しさん
NGNGhttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=184
002120
NGNG20は>>11の問題に関連する物です。
0022デフォルトの名無しさん
NGNG/ `ゝ
/ ノノ'`'`'`'`ヽミ
.| Y \ / }i
| / / ヽ ミ
.!(6リ (__) ノ
リノト、 '/エェェェヺ
り| ヽ lーrー、/ 夏なんで宿題出ませんから!! 残念!!
ノノ ヽニニソ Θ / \
,...-'"::::|:| /'::::::::::::::ヽ、 Θ//\//Θ
,...-'":::::::::::::::|.| v /':::::::::::::::::::::::::::_____//\//Θ
. /::::::::::::::::::::::::::|.! /'::::::::::::::::::::::::::::::",.-、, \ //Θ
/:::::;┐::::::::::::::::::|,レ':::::::::::::::::::::::::::::: :(_.人 ヽ._ ヽ
. /:::::::∪::::::::::::::::::::::::::::::::::::::::::::::::::::::::::ハゝ. \ /
,( \ ノハ
0023デフォルトの名無しさん
NGNGMをメルセンヌ素数(2^n -1 の形の素数 3 7 31など)とするとき、
偶数の完全数は {M(M+1)}/2 で表されるという定理があるんだよ。
また、現在のところ奇数の完全数は見つかっていない。
これらの事実を使ってるから、1000 以下の完全数を求めるのに
主ループを 3,7,15,…,511 の 8 回しか回さずに済むので速い。
# 素数判定部はむしろ一般的に言えば遅いのを使ってる
0024デフォルトの名無しさん
NGNG>偶数の完全数は {M(M+1)}/2 で表されるという定理があるんだよ。
これって小さいのから順にもれなく出てくるんですか?
0026デフォルトの名無しさん
NGNG偶数の完全数ならば全部出てくることが分かってる。
ttp://ja.wikipedia.org/wiki/%E5%AE%8C%E5%85%A8%E6%95%B0
0027デフォルトの名無しさん
NGNGchar **p = c;
とする時、'e'にたどりつくポインタpを用いた表記を
考えられるだけ、列挙せよ。
例)
*(*(p+1)+2))
0028デフォルトの名無しさん
NGNG*(*(p+10/10)+2))
0029デフォルトの名無しさん
NGNGこんなの?
0030これで全部かな?
NGNG*(*(p+1)+2)
*(p+1))[2]
2[*(p+1)]
*(p[1]+2)
*(1[p]+2)
p[1][2]
1[p][2]
2[p[1]]
2[1[p]]
003130修正
NGNG(*(p+1))[2]
2[*(p+1)]
*(p[1]+2)
*(1[p]+2)
p[1][2]
1[p][2]
2[p[1]]
2[1[p]]
0032デフォルトの名無しさん
NGNG*(++(++(*(++p))))
0033デフォルトの名無しさん
NGNG0034デフォルトの名無しさん
NGNGそれ大丈夫なんかな
0035デフォルトの名無しさん
NGNGあるクラスに在籍している5人の出席番号と電話番号をポインタ配列を用いて画面に表示
するプログラムを作成せよ。
数値等は自由。
と言う問題が出たんですがちょっと分らないので模範解答を教えて下さい。
よろしくお願いします。
0036デフォルトの名無しさん
NGNG0037デフォルトの名無しさん
NGNGと言う問題が出ました。
全く分らないので教えて下さいm( )m
0038デフォルトの名無しさん
NGNG出席番号と電話番号はファイルから読み込むの?
それともキー入力?
それともソース埋め込み?
003927
NGNG多ければ多いほど、良いんで(点数的に)。
2,3個かと思ってたんですが、結構ありますね・・
助かりました!
0040デフォルトの名無しさん
NGNGキー入力です。
よろしくお願いします。
0041デフォルトの名無しさん
NGNGこんなんでいいのか?
#include <stdio.h>
static int f = 1;
int main(int)
{
int n=5; // ここにNを与える
int i;
for(i=1; i<=n; i++){
f *= i;
}
printf("%d\n", f);
return 0;
}
0042デフォルトの名無しさん
NGNG数がでかすぎて、格納できる型が無いんですが・・・
0043デフォルトの名無しさん
NGNGなければ作ればいい
0044デフォルトの名無しさん
NGNG004542
NGNG調べてみます。
0046デフォルトの名無しさん
NGNGかなりの初心者なので複雑なことは出来ません。
配列がかろうじて出来る程度です。その程度の技術でお答えくださればコレ幸いです。
オネガイします。
1、キーボードから入力した10個の実数データを配列xに格納し、その中の最大値と最小値を求め出力するプログラム
2、キーボードから入力した10個の実数データを配列xに格納し、そのデータを小さい順に出力するプログラム
3、文字型配列を、”OKINAWA”と初期値として宣言し、文字列を反転させて”AWANIKO”と表示するプログラム
4、要素の数が40の文字列配列str1、str2、str3を、初期値なしで宣言する。その後、str1に”Let's”を、str2に”Study”を、str3に”programming”を代入し、これらの文字をつなげて出力するプログラムをstrcat関数を使わない場合と使った場合の2種類のプログラム
いきなり大量の問題ですが(-m-)おねがいします
0047デフォルトの名無しさん
NGNG0048デフォルトの名無しさん
NGNG#include <stdio.h>
int main()
{
int i, nNum, nMin, nMax;
for(i = 1; i <= 10; i++){
for(;;){
printf("[%02d] ", i);
if(scanf("%d", &nNum)) break;
scanf("%*s");
}
if(i == 0 || nNum < nMin) nMin = nNum;
if(i == 0 || nNum > nMax) nMax = nNum;
}
printf("Max: %d\n", nMax);
printf("Min: %d\n", nMin);
return 0;
}
0049デフォルトの名無しさん
NGNG0050デフォルトの名無しさん
NGNG#include <stdio.h>
int main()
{
int i, x[10], nMin, nMax;
for(i = 0; i < 10; i++){
for(;;){
printf("[%02d] ", i+1);
if(scanf("%d", x+i)) break;
scanf("%*s");
}
}
for(i = 0; i < 10; i++){
if(i == 0 || x[i] < nMin) nMin = x[i];
if(i == 0 || x[i] > nMax) nMax = x[i];
}
printf("Max: %d\n", nMax);
printf("Min: %d\n", nMin);
return 0;
}
とりあえず、入力と最大・最小の判定は別口でやっておいた。
0051デフォルトの名無しさん
NGNG#include <stdlib.h>
int compare(const int *pSrc1, const int *pSrc2){
return *pSrc1 == *pSrc2 ? 0 : (*pSrc1 < *pSrc2 ? -1 : 1);
}
int main()
{
int i, x[10], nMin, nMax;
for(i = 0; i < 10; i++){
for(;;){
printf("[%02d] ", i+1);
if(scanf("%d", x+i)) break;
scanf("%*s");
}
}
qsort(x, 10, sizeof(int), compare);
printf("\n[Sorted]\n");
for(i = 0; i < 10; i++)
printf("%d\n", x[i]);
return 0;
}
0052デフォルトの名無しさん
NGNG0053デフォルトの名無しさん
NGNG3.
#include <stdio.h>
#include <string.h>
int main()
{
int i;
char *szSrc = "OKINAWA", szRes[8];
for(i = 0; i < 7; i++)
szRes[6-i] = szSrc[i];
szRes[7] = '\0';
printf("%s\n", szRes);
return 0;
}
0054デフォルトの名無しさん
NGNGミス多いな、俺。使うのやめたのに#include <string.h>残してるし。
char *szSrc = "OKINAWA", szRes[8];
:
printf("%s\n", szRes);
↓
char *szSrc = "OKINAWA";
for(i = strlen(szSrc)-1; i >= 0; i--)
putchar(szSrc[i]);
0055デフォルトの名無しさん
NGNG#include <stdio.h>
#include <string.h>
int main()
{
char str1[40], str2[40], str3[40], str4[120];
strcpy(str1, "Let's");
strcpy(str2, "Study");
strcpy(str3, "programming");
// 使った場合
*str4 = '\0';
strcat(str4, str1);
strcat(str4, str2);
strcat(str4, str3);
printf("%s\n", str4);
//使わない場合
printf("%s%s%s\n", str1, str2, str3);
return 0;
}
0056デフォルトの名無しさん
NGNG0057デフォルトの名無しさん
NGNG0058デフォルトの名無しさん
NGNG「 printf("[%02d] ", i);
if(scanf("%d", &nNum)) break;
scanf("%*s"); 」
のあたりがどうしてもわかりません・・。
#include <stdio.h>
int main(void)
{
double x[10], max,min;
int i,j;
for (i=0;i<10;i++){
scanf("%lf", &x[i]);
}
/*最大値*/
max = x[0];
for(i=1;i<=10;i++)
if (x[i] > max)
max = x[i];
/*最小値*/
min = x[0];
for(j=1;j<=10;j++)
if (x[j] <= min)
min = x[j];
printf("最大値は%.0lf\n", max);
printf("最小値は%.0lf\n", min);
return 0;
↑↑↑↑↑↑
のような感じで自力でやってみました。
どうしても最小値が「0」になってしまいます。
どうしてでしょうか?
オネガイします。
0059デフォルトの名無しさん
NGNG{} はつけろ
http://www.cmagazine.jp/src/kinjite/c/coding.html#index26
0060デフォルトの名無しさん
NGNG#include <stdio.h>
int main()
{
struct{
unsigned int num;
char tel[16];
}man[5]={
{5,"012-345-6789"},
{8,"012-345-9876"},
{17,"012-347-1142"},
{23,"012-315-2000"},
{36,"012-345-5688"},
},*p;
int i;
p=man;
for(i=0;i<5;i++){
printf("%d : 出席番号%d TEL:%s\n",i,p->num,p->tel);
p++;
}
return 0;
}
0061デフォルトの名無しさん
NGNGscanfに%dを指定したときに、数値以外が入力されると、
取得されない上にバッファ上に残って取り出されない。
そして、scanfの返り値として取得された数が返ってくる。
だから、0以外の場合は正常に入力されたということでループを抜ける。
0のときは、% *(代入しないことを示す) s(文字列として扱う)で、バッファをクリアしてるわけ。
fgetsとatoi使った方が良いと思うけど、「使ったことのある関数がいい」って言われないように、
scanfを使ってみた。
用語に自信が無いなぁ・・・。
0062デフォルトの名無しさん
NGNG日記は他所で。
宿題なら
> ・問題はしっかりと解いてもらう方にわかりやすいように
> 問題文などの省きはやめ、全文を書きましょう。
0063デフォルトの名無しさん
NGNG>>58へのレスなんだが・・・・
0064デフォルトの名無しさん
NGNGtypedef struct tagSENDDESCRIPTOR{
UINTnRetry;
LPVOIDpPacket;
SOCKADDR_INaddrRemote;
}SENDDESCRIPTOR, *LPSENDDESCRIPTOR;
typedef struct tagSENDDATA{
DWORDdwSeq;
UINTnRetry;
DWORDdwTick;
LPSENDDESCRIPTOR pData;
}SENDDATA, *LPSENDDATA;
と言う構造体があり、メンバ変数に
SENDDATA m_SendData;
m_SendData.pData = (LPSENDDESCRIPTOR)malloc(sizeof(SENDDESCRIPTOR)*50);
ZeroMemory(&m_pSendData.pData[1], sizeof(SENDDESCRIPTOR));
ZeroMemory(&m_pSendData.pData[2], sizeof(SENDDESCRIPTOR));
ZeroMemory(&m_pSendData.pData[3], sizeof(SENDDESCRIPTOR));
ZeroMemory(&m_pSendData.pData[4], sizeof(SENDDESCRIPTOR));
・
・
・
というように利用してもいいのでしょうか?
ここまで動かしてみましたが、エラーは出ませんでした。
0065デフォルトの名無しさん
NGNG:
ZeroMemory(m_pSendData.pData, sizeof(SENDDESCRIPTOR)*50);
じゃ不満なの?
0066デフォルトの名無しさん
NGNGtypedef struct tagSENDDES−−−−−−−−−− ここまで読んだ −−−−−−−−−−−
006764
NGNGこれを通信用に利用していますので、
配列として利用できれば便利だなと思ったわけです。
0068デフォルトの名無しさん
NGNG0069デフォルトの名無しさん
NGNG0070デフォルトの名無しさん
NGNG俺は全体見渡しただけだ
0071デフォルトの名無しさん
NGNGtypedef struct tagSENDDESCRIPTOR{
UINT nRetry;
LPVOID pPacket;
SOCKADDR_IN addrRemote;
}SENDDESCRIPTOR, *LPSENDDESCRIPTOR;
typedef struct tagSENDDATA{
DWORD dwSeq;
UINT nRetry;
DWORD dwTick;
SENDDESCRIPTOR Data[0];
}SENDDATA, *LPSENDDATA;
LPSENDDATA pm_SendData;
pm_SendData = (LPSENDDESCRIPTOR)malloc(sizeof(SENDDATA) + sizeof(SENDDESCRIPTOR)*50);
0072デフォルトの名無しさん
NGNGおねがいしまつ(ノд`)
007366
NGNGありがと〜。
なんか書き込んだらスペースがなくなってしまって
醜くてごめんね。
0074デフォルトの名無しさん
NGNGなんで九九なのに5なのかは分からんが、
int arry[5][5];
↓
static int arry[5][5];
ってことを言いたいんじゃないのか?
007566
NGNGえっとちょっとちがって
SENDDATA の構造体で SENDDESCRIPTORを50個(ここは実行時に決めます。)
管理したいのです。
なので
SENDDATA ないのSENDDESCRIPTORポインタに
mallocで50個分とか割り当ててあ、
配列として利用できれば名と思っています。
それで、こういう書き方が正当なのかどうかお伺いした
かった訳であります。
0076デフォルトの名無しさん
NGNG#include<stdio.h>
int *func()
{
static int arry[5*5];
int i,j;
for(i = 0;i < 5;i++){
for(j = 0;j < 5;j++){
arry[i*5+j]= (i+1)*(j+1);
}
}
return arry;
}
int main(void)
{
int *pt;
int i;
pt = func();
for( i = 0;i < 25;i++){
if(i % 5 == 0)puts("");
printf("%3d",*(pt+i));
}
puts("");
return 0;
}
0077デフォルトの名無しさん
NGNG正当というよりそれが普通だ安心しる
007866
NGNGありがとうございました。
こういう場合なんか宣言時に配列であるみたいな宣言がいるのかなと
気にしていました。
すっきりしました。ありがとです〜。
0079デフォルトの名無しさん
NGNG配列は要素が隙間なく並んでるだけだから、
まとめてZeroMemoryしようと、要素ごとにZeroMemoryしようと変わらない。
関数呼び出しのコストがかかるというデメリットはあってもメリットはない。
008072
NGNGありがとうございます!
0081sage
NGNGほんとに配列として扱いたいなら71の方がいいな
008266
NGNG・・・・・・
SENDDESCRIPTOR Data[0];
}SENDDATA, *LPSENDDATA;
SENDDESCRIPTOR Data[0];
ここのところで、
非標準の拡張機能が使用されています : 構造体または共用体中にサイズが 0 の配列があります。
って Warningがでます〜。
管理用の構造体は別段ポインタでなく
メンバ変数に固定的にもっててもOKで、なかの配列のみを
起動毎に変更したいのでポインタにしてメモリ確保後
配列として使いたかったわけです。
0083デフォルトの名無しさん
NGNG(点数データは初期値代入し関数呼び出した後は最大点 最小点 平均点の順に出すこと)という問題で以下のプログラムを実行し提出をしたら「今のプログラムでは、関数内で合計しか求めていない。関数内で、最大点、最小点、平均点を求め、これら3つの値を返す
(引数を用いて)関数にすること」というのが返ってきて再提出となり困ってます。できればこのプログラムを少し変えていただけるようなプログラムでしたら非常に助かります お願いします。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/index.html
の270に書き込みさせていただきました(長かったために・・・)
0084デフォルトの名無しさん
NGNGURL間違えてないか
0085デフォルトの名無しさん
NGNGhttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=270
0086デフォルトの名無しさん
NGNG#include <stdio.h>
void cal(int *x, int n, int *max, int *min, double *ave){
int i, goukei = 0;
*max = *x; *min = *x; *ave = 0;
for(i = 0; i < n; i++){
goukei += *x;
if(*max < *x) *max = *x;
if(*min > *x) *min = *x;
x++;
}
if(n) *ave = (double)goukei / n;
}
int main(void){
int a[10]={0,10,20,30,40,50,60,70,80,90};
int max, min;
double ave;
cal(a, 10, &max, &min, &ave);
printf("最大点=%d 最小点=%d 平均=%f \n",max,min,ave);
return 0;
}
008785
NGNG提出させていただきます。ホント助かったです
0088デフォルトの名無しさん
NGNG動かぬ証拠を日夜作り出してたりして(ボソ
0089デフォルトの名無しさん
NGNGなんで知ってるの?
0090デフォルトの名無しさん
NGNG0091デフォルトの名無しさん
NGNGint func(int);
int main(void){
printf("%d\n",func(4));
return 0;
}
int func(int n){
if(n == 1) return 1;
else return func(n-1)+n;
}
上記のプログラムを実行すると画面にどのように表示されるかを書け。
また、関数funcは何を計算する関数かを述べよ。
という問題が出ました。実際書いて実行したところ結果は10でしたが
なぜ、10になるのか。funcは何を計算する関数なのかがさっぱり
わかりません。わかる方ご解答お願いします。
0092デフォルトの名無しさん
NGNGfunc(4)
func(3)+4
(func(2)+3)+4
((func(1)+2)+3)+4
1+2+3+4 = 10
0093真の66
NGNG騙りはやめてほしかった
0095デフォルトの名無しさん
NGNGやけに偉そうだな(プ
トリップ使うと良いらしい
66#password
みたいな
0097デフォルトの名無しさん
NGNG85?86じゃないのか?
0098デフォルトの名無しさん
NGNGとても素早い解答ありがとうございます。理解できました
0100デフォルトの名無しさん
NGNGvoid main(){
int a,b,*p;
a=10;
b=10;
p=&b;
a=20;
*p=30;
printf("%d\n",a);
printf("%d\n",b);
}
の結果が
20
30
になるわけを教えて下さい・・。
0101100
NGNG*pの値とbの値は同じってことですね。
最初の
a=10;
b=10;
の意味は良く分かりませんが・・。
0102デフォルトの名無しさん
NGNGa=10 b=10
が
a=20 b=30
にちゃんと変わっただろ?という事が言いたいんじゃないかな
0103デフォルトの名無しさん
NGNG気の利いた問題作ろうとして失敗したって感じ。
0104デフォルトの名無しさん
NGNGって所じゃない?
010593=真の66
NGNG65が66って間違えて名前かいてたんだYO!
0106デフォルトの名無しさん
NGNG0107デフォルトの名無しさん
NGNG0108ふぉる
NGNG問題の制限では繰り返し文を用いることだそうです
0110デフォルトの名無しさん
NGNG前スレだ
ttp://pc5.2ch.net/test/read.cgi/tech/1089974839/736-738
スマソ
0111デフォルトの名無しさん
NGNG0112デフォルトの名無しさん
NGNG#include <stdio.h>
void main(){
int n=10,j=2,a,b,c;
a=b=c=1;
for(;j<n;j++){
a=b+c;
c=b;
b=a;
}
printf("%d",a);
}
01131
NGNG/* 魔方陣 */
#include<stdio.h>
int main(void)
{
int mg[16][16], i, j, k, n;
printf("15以下の奇数を入力してください!\n");
scanf("%d", &n);
j = (n + 1) / 2;
i = 1;
mg[i][j] = 1;
for (k = 2; k <= n * n; k++){
if (k % n == 1){
i++;
}else if (i == 1){
i = n;
j++;
}else if (j == n){
i--;
j = 1;
}else{
i--;
j++;
}
mg[i][j] =k;
}
0114デフォルトの名無しさん
NGNG#include<cmath>
#include<iostream>
using namespace std;
namespace{
const double SQRT5 = 2.23606797749979;
const double RSQRT5 = 1/SQRT5;
const double C1 = ( 1+SQRT5 )/2;
const double C2 = ( 1-SQRT5 )/2;
}
int fib( int n ) {
do {
return 1.0/SQRT5 * ( pow(C1,n) - pow( C2, n));
}
while( false );
}
int main(){
int i;
for( i = 1; i < 10; ++i ) cout << fib( i ) << endl;
}
01152
NGNGfor (j = 1; j <= n; j++){
printf("%5d", mg[i][j]);
}
printf("\n");
}
return 0;
}
で、
△▽問題▽△
�@偶数を入力すると正しい結果が得られません。偶数を入力された場合でも正確な結果が出るように変更してください。
�A前門に追加して15を超える数、または1未満の数が入力されたときも再入力させるようにプログラムを変更してください
�B下図はn=3の魔方陣である。図のように、横の合計も出力するように前門のプログラムを変更してください。
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
15以下の奇数を入力してください!
3
8 1 6 | 15
3 5 7 | 15
4 9 2 | 15
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
01163
NGNGおねがいします
0117デフォルトの名無しさん
NGNG概出
0118デフォルトの名無しさん
NGNG0119デフォルトの名無しさん
NGNG0120デフォルトの名無しさん
NGNG0121デフォルトの名無しさん
NGNG0122デフォルトの名無しさん
NGNG使用言語はC、環境ツールはVisual C++ Toolkit 2003です。
「フィルタは5つ作れ、でも一つ作れば数値を変えるだけだからすぐ作れるだろう」と先生から言われましたが、
全然うまくいかないので、ここに書かせていただきました。
0123デフォルトの名無しさん
NGNG画像の読み込みが出来ないの?
元画像の形式は?
なにがうまくいかないの?
0124デフォルトの名無しさん
NGNG/* graphic には画像データへのポインタ、sizeにはサイズを渡す */
void filter(char *graphic,int size) {
while(size-- > 0 ) {
*graphic ^= 0xf0;
graphics++;
}
}
0125デフォルトの名無しさん
NGNG作成してください。お願いします。
0126デフォルトの名無しさん
NGNG>>1
0127デフォルトの名無しさん
NGNG学生には解けないだろうな〜ってレベルの問題をだすと、
ここのHPにいつも質問が来てますからね。
最近では簡単な問題でもここに質問して答えだけ得ているようですね。
ほんとにいつも自分でがんばって解く学生なんかは
自分のレベルがきちんと分かっていますね。
だから、学生のレベルでは負えない問題をわざと出すと
ここのところの考え方はこうこうこういう考えでいいんでしょうか?
とか
ここのところをこうこう考えたんですが○○の値がエラーになってしまって困っています。
と、きちんと自分のわからないところを説明できるようになってきています。
馬鹿学生は自分のレベルが分かってないわけですから、
いくら難しい問題を出しても平気で綺麗なプログラムを提出してきます。
私でも、ちょっと書けそうにないぞってなコードがあったので
検索してみたらここのHPを見つけたわけですね。
まあ、前期の単位を出す2週間前に馬鹿学生を呼び出して
いままでのレポートやり直しを命ずるつもりでいますから。
やはり課題を出す側としては完璧なものを求めているわけではありません。
そんなのは無理だということも分かっています。
学生が自分の頭でどう考えて、どう試行錯誤を繰り返すのか、
そこのところが一番大事です。
ここを見ていて思い当たる節のある学生は気をつけるように
0128デフォルトの名無しさん
NGNG0129デフォルトの名無しさん
NGNGこのスレに出てくる質問の大半は中学〜高校レベルだと思うんだけど
0130デフォルトの名無しさん
NGNG0131125
NGNGルンゲ・クッタ法で解くプログラムを作成してください。
お願いします。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=271
0132デフォルトの名無しさん
NGNG0133デフォルトの名無しさん
NGNGようはそこか(w
0134125
NGNGhttp://www.math.sci.hiroshima-u.ac.jp/~daishin/keisanB/1998/runge.html
0135デフォルトの名無しさん
NGNG0136122
NGNG>>123
えーと、まず下のアドレスにある「入力画像の輝度値を2倍にして出力する」プログラムを試してみました。
ttp://www.edu.tuis.ac.jp/~susaki/image/c_process.html
このプログラムの通り、画像の読み込みは実行時に行い、元画像の形式はraw、出力画像もrawです。
また、宿題も同じようにraw画像を実行時に読みこんで、raw画像を出力ということでした。
うまくいかないのはその後、このプログラムを応用してフィルタの計算をしようとしたのですが、下手にソースをいじるとエラー吐いてよくわからない状態に・・・(汗
なので、ぼかしの効果を出すソースプログラムを教えていただけるとうれしいです。
>>124
すみません。これだけだと実行しても何が何だか・・・(泣
最後に、>>1に書いてあ注意書きに反してしまったみたいです。
すみませんでした。
0137デフォルトの名無しさん
NGNG非常に簡単な暈かし(というか平均化)の例。
画像読み込み();
for (unsigned y = 0; y < height; ++y) {
for (unsigned x = 0; x < width - 1; ++x) {
画素[x + y * width] = (画素[x + y * width] + 画素[x + 1 + y * width]) / 2;
}
}
画像書き出し();
0138デフォルトの名無しさん
NGNG何か面白い.
0139デフォルトの名無しさん
NGNG31行目〜35行目だけ直せばよい
1)輝度2倍(オリジナル)
if(idat * 2 > 255){
idat = 255;
}else{
idat = idat * 2;
}
2)2値化(閾値128)
if(idat & 0x0080){
idat = 255;
}else{
idat = 0;
}
3)輝度反転
idat = ~idat;
4)輝度1/2
idat >>= 1;
5)これら全部対象が1点のみであまり面白くないので、
エンボスやエッジとかもやってみよう。
0140デフォルトの名無しさん
NGNG0141デフォルトの名無しさん
NGNGこの問題に適切なルンゲ・クッタ法を紹介しろや。調べるのが面倒だったぞ
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=185
0143デフォルトの名無しさん
NGNG0144デフォルトの名無しさん
NGNG0145デフォルトの名無しさん
NGNG0146デフォルトの名無しさん
NGNGsakuraでは雑然としたメモ帳みたいでなんだかなぁ…
0147デフォルトの名無しさん
NGNGこのスレで質問するようなのは、まとめてあっても見ないから同じ。
回答者は問題をとくのが楽しみだからな。
0148デフォルトの名無しさん
NGNG身長のデータを一行一人分で入力するものとする。
ただし、入力するデータは最大でも100人分と分かっているものとする。
身長データとして負の値を入れた時点でデータ入力の終了と判断するものとする。
データ入力が終了した時点で何人分のデータであったかという人数情報と、平均身長、
ならびに全データの中で最大値と最小値を出力するプログラムを作ってもらえませんか?
なお、データの入力中ゼロを入力すればコレまでの入力データを
入力番号(通し番号)と共に表示し、入力番号を入れれば当該データを削除し
それ以降のデータを上に繰り上げて、再びデータ全体を出力するものとする。
入力番号として0を入れた場合は、データの削除は行われず、データの入力処理を継続するものとする。
なお、プログラムの作成に関してはmain関数以外の関数をひとつ定義して使うという条件があります
0149デフォルトの名無しさん
NGNG丸投げ氏ね。
金くれるんなら考えてもいい( ´ー`)y-~~
0150デフォルトの名無しさん
NGNGとりあえず平均と人数を求めるものは作ってみました。
ここから削除モードに移る機能を付けたいのですがどうすればよいでしょうか?
main()
{
int i;
float height[100],x;
i=height[0]=x=0;
while(x>=0){
scanf("%f",&x);
if(x!=0){
height[i+1]=height[i]+x;
i++;
} else {
i--;
}
}
height[i]=height[i]-x;
i--;
printf("平均身長は%f,\n",height[i]/i);
printf("入力した数は%d,\n",i);
}
0151デフォルトの名無しさん
NGNGあいや〜質問者のためではなく、
ここで勉強してる僕みたいな人のためですw
0152デフォルトの名無しさん
NGNG#include <stdio.h>
void hyouji(float height[]){
int i;
for(i = 0; i < 100; i++){
if(height[i] == 0) break;
printf("No.%d Height = %f\n", i+1, height[i]);
}
}
int main(void){
float x, sum = 0, height[100] = {0};
int i, n, index = 0;
while(index < 100){
scanf("%f", &x);
if(x > 0) height[index++] = x;
else if(x == 0){
while(1){
hyouji(height);
printf("delete : "); scanf("%d", &n);
if(n == 0) break;
if(n > index) {printf("no data\n") ;break;}
for(i = n - 1; i < 99; i++) height[i] = height[i+1];
height[99] = 0; index--;}
}
else break;
}
i = 0; while(height[i]){ sum += height[i++]; if(i >= 100) break;}
printf("平均身長は%f\n",sum / i); printf("入力した数は%d\n",i);
return 0;
}
0153152
NGNG最大と最小出すの忘れてた・・・
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=186
0154デフォルトの名無しさん
NGNGありがとうございます
とりあえずこれ提出するだけではあんまり意味がないんで、自分の力にもならないし
これを自分なりに手を加えてやってみたいと思います
Cは5月から学校で習い始めたばっかりでまだ>>152-153のソースで分からないものも多いのですが(void)とか
できるだけがんばって見ます。 ありがとうございました
0155デフォルトの名無しさん
NGNG意味もなく,手抜きBalanced-Tree(平衡木)
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=187
0156デフォルトの名無しさん
NGNG0157デフォルトの名無しさん
NGNGどこの大学もこんな問題ばっか出してるわけ?
0158デフォルトの名無しさん
NGNG0159デフォルトの名無しさん
NGNG中学校じゃないのか?
オレが工業高校生の頃はもっと難しかったような気がするんだが。
0160デフォルトの名無しさん
NGNG0161デフォルトの名無しさん
NGNG0162デフォルトの名無しさん
NGNG言語はCでよろしくお願いします。m(_ _)m
0163デフォルトの名無しさん
NGNG{
printf("%d", 2^10000);
}
0164デフォルトの名無しさん
NGNGint print_large_int(int*, int);
int print_large_int(int* plint, int count) {
/* plint先頭からcount個を配列として、その数を表示する */
return 0;
}
int main(void) {
int elegant[313];
elegant[0] = 0400;
print_large_int(elegant, 313);
}
0165デフォルトの名無しさん
NGNG+ elegant[0] = 01000;
10000乗なら、こうだな
0166デフォルトの名無しさん
NGNG/* plint先頭からcount個を配列として、その数を表示する */
ここはどう書くんですか?
0167デフォルトの名無しさん
NGNG0168デフォルトの名無しさん
NGNG問題1. 複素数の指数関数 ez は, テーラー展開を用いて次の式で求める.
ez = 1 + z + z^2/2! + z^3/3! + … + z^n/n! + …
上式を用いて e^z を計算するプログラムを作成せよ. 上の展開式で, 各項の分母は階乗であるから, 急速に増大する. よって各項は急速に小さくなる. したがって, 適当なところで計算を打ち切ってよい. まず, 最初の6〜7項を計算し, 計算精度が足りなければ項数を増やせ.
プログラムができたら, e^(x+0i)を計算し,実数のexp関数の答えと照らし合わせて検算せよ.
また, 実数のθに対して e^iθ = cosθ + i sinθ の関係があることを調べよ.
問題のヒント: exp^zの各項はzn/n!の形をしている. z^nは以前に作ったpow関数を使って計算できる. また, 分母のn!はプログラミング演習Iで作ったkaijo関数を使って計算できる. kaijoは戻り値がintなので, complex(kaijo(n),0)として, complex型に変換して使えばよい.
続く
0169デフォルトの名無しさん
NGNGうそぴょーん
終わり
0170デフォルトの名無しさん
NGNG#include "complex.cpp"
int main(void)
{
int a,i;
printf("底eのz乗を計算します\n");
printf("z >");
scanf("%f",&a);
complex c(1,0),z(a,0),sum(0,0);
sum=c+z;
for(i=2; i<10; i++){
complex b(kaijo(i),0);
sum=sum+pow(z,i)/b;
}
sum.print();
printf("\n");
getchar();
return 0;
}
付け加えおねがいします。
0171168
NGNG0172デフォルトの名無しさん
NGNG0173168
NGNG複素数の計算をするようになってます。あと複素数のべき乗を返したり、階乗を返したり
します。すいません、説明がへたで・・・
0174デフォルトの名無しさん
NGNG0175デフォルトの名無しさん
NGNG10101010 x 11001100 = 00100010
となるようなプログラムを記述せよ
* =の右側は演算結果である
演算は一行で記述するものとする
という問題があるのですがお願いします
課題名は ビット演算 です
おねがいします
0176168
NGNGちなみに中身はこんな感じです(一部)。
#include <math.h>
#include <stdio.h>
class complex{
private:
double real,imaginary;
public:
complex(void);
complex(const double r,const double i);
void print(void) const;
#if 0
void draw(CDC* pDC);
#endif
friend int kaijo(int x);
friend complex pow(complex x,double y);
friend double abs(complex x);
friend double arg(complex x);
friend complex polar(double a,double b);
friend complex sqrt(complex x);
friend complex operator +(const complex x,const complex y);
friend complex operator -(const complex x,const complex y);
friend complex operator *(const complex x,const complex y);
friend complex operator /(const complex x,const complex y);
};
どうでしょうか・・・?
0177デフォルトの名無しさん
NGNG/* ビット演算 */
#include <stdio.h>
int main(void)
{
puts("10101010 x 11001100 = 00100010");
return 0;
}
会社辞めろ。今ならまだ間に合う。
0178デフォルトの名無しさん
NGNG10101010 | 11001100 = 11101110 ×
10101010 & 11001100 = 10001000 ×
10101010 ^ 11001100 = 01100110 ×
・・・
0179デフォルトの名無しさん
NGNG0180デフォルトの名無しさん
NGNG0181デフォルトの名無しさん
NGNGvoid main(){
unsigned char hidari = 0xAA;
unsigned char migi = 0xCC;
printf("%d",hidari & (~migi));
}
あってるかな?
0182181
NGNGどうしたらいいんだっけ?
0183デフォルトの名無しさん
NGNG逐一ビットが立ってるかを調べて01を表示。
for(i = 7; i >= 0; i--)
if((hidari & (~migi)) & (1 << i)) putc('1');
else putc('0');
putc('\n');
0184168
NGNG>>170でやるとコンパイルはエラーなしでできるのですが実行すると
Run-Time Check Failure #2 - Stack around the variable 'a' was corrupted
といったエラーメッセージがでてきてしまいます。これは何が悪いのでしょうか?
0185デフォルトの名無しさん
NGNGaをintで宣言しているのにscanfする時に%dにしてない。
0186185
NGNGaとiはdoubleで宣言しなきゃダメ。
0187185
NGNG0189168
NGNGでてくるはずなんですが2.00000000にしかなりません。
kaijo,pow関数はちゃんとした答えを返していました。なにが原因でしょうか・・?
0190168
NGNGうーん・・・
0192168
NGNGすいません、"/"のオペレーターの式が間違ってました(´д`)
おかげさまで底は無事表示できました。
あとexp関数を使って検算をするらしいんですけどヘルプにあるこれ↓意味がわかんねぇっす・・・
int main( void )
{
double x = 2.302585093, y;
y = exp( x );
printf( "exp( %f ) = %f\n", x, y );
}
0194168
NGNGちなみに2.302585093を我がプログラムにいれたら見事に10.0000がでましたよ!!
ヒャホー(・∀・)イイ!!ありがとうございました!あとはθを使うやつか・・・
ちなみに余談ですが私は.net2003を使っているのですがツールバーの
デバッグのなかにあるプロセスってのをクリックするとなぜか.netがとまってしまうんですよね・・。
デバッグなしで開始のすぐ下にプロセスってのがあるんでさっき間違えて押してしまったときは
蒼白ものでした。
0195デフォルトの名無しさん
NGNG宿題で出たんですけど、初心者なのでぜんぜんわかりません。
なぜかscanf()関数を使っちゃいけないらしいです。
例えば、20って入力したら、32って出るプログラムです。
よろしくお願いしますm(__)m
0196デフォルトの名無しさん
NGNG0197デフォルトの名無しさん
NGNG#include <iostream>
int main() {
int value;
while(std::cin >> std::hex >> value)
std::cout << value << endl;
return 0;
}
0198デフォルトの名無しさん
NGNG#include <stdlib.h>
#include <limits.h>
int main() {
char buf[20];
fgets(buf, 20, stdin);
printf("%ld\n", strtol(buf, NULL, 16));
return 0;
}
0199デフォルトの名無しさん
NGNGendl に std がねーぞ。
0200デフォルトの名無しさん
NGNG普通にこうでしょ
#include <stdio.h>
int main(){
int i;
scanf("%x",&i);
printf("%d\n",i);
return 0;
}
0201デフォルトの名無しさん
NGNG問題をよく読みましょう
0202200
NGNG0203デフォルトの名無しさん
NGNG#include <stdio.h>
#include <string.h>
int main()
{
char Buf[256];
fgets(Buf, sizeof Buf / sizeof (Buf[0]), stdin)
;printf("%ld", stdtol(Buf, NULL, 32);
return 0;
}
0204デフォルトの名無しさん
NGNG0205デフォルトの名無しさん
NGNG下品。荒らしうざいきえろ
0206デフォルトの名無しさん
NGNGjavaと比較しようと思うのだけど、何を書くのがいいのでしょう。
誰かヒントお願いします。
0207デフォルトの名無しさん
NGNG下品と捉える貴方が
☆ チン ハラヘッタ〜
ハラヘッタ〜
☆ チン 〃 ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ヽ ___\(\・∀・)< 宿題まだー?
\_/⊂ ⊂_)_ \____________
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄/|
|  ̄  ̄ ̄ ̄ ̄ ̄ ̄:| |
| 淡路たまねぎ .|/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0208デフォルトの名無しさん
NGNG参照
多重継承
演算子のオーバーロード
テンプレート
0209デフォルトの名無しさん
NGNG>>934-935
下品すぎ
このアホだろ
0210デフォルトの名無しさん
NGNGこのAA
↓
☆ チン
☆ チン 〃 ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ヽ ___\(\・∀・)< ○○まだ〜?
\_/⊂ ⊂_)_ \____________
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄/|
|  ̄  ̄ ̄ ̄ ̄ ̄ ̄:| |
| 淡路たまねぎ .|/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
162の2^10000が微妙だから解いてやったら?
0211デフォルトの名無しさん
NGNGバイトコード
GC
標準ライブラリ
0212デフォルトの名無しさん
NGNGさっそくありがとう。調べてまとめてみる。
0213デフォルトの名無しさん
NGNG>>203のを改良,エラーチェックぐらいしなさいな
#include <stdio.h>
#include <stdlib.h>
int main()
{
char Buf[256];
gets(Buf);
printf("%ld", strtol(Buf, NULL, 16));
return 0;
}
0214デフォルトの名無しさん
NGNGさては2ちゃん初心者ですね。
最初はROMっていってるでしょーが。
0215デフォルトの名無しさん
NGNG改悪するな
0216マイク ◆yrBrqfF1Ew
NGNGwow!f**king!!i18n!
0217デフォルトの名無しさん
NGNGえ!?どこが!?
そもそも>>203コンパイルエラーでつよ?
出力32進数になってるし
0218デフォルトの名無しさん
NGNG0219デフォルトの名無しさん
NGNG0220デフォルトの名無しさん
NGNG先をこされた...
0221デフォルトの名無しさん
NGNG#include <string.h>
int main()
{
char Buf[256];
fgets(Buf, sizeof Buf / sizeof (Buf[0]), stdin);
printf("%ld", strtol(Buf, NULL, 16));
return 0;
}
変えるのはこれぐらいでいいだろう。
セミコロンは別に動かさなくても良かったけど、気分悪いから・・・。
わざわざ、バッファオーバーフローしないようにしてあるのを、
(ユーザー次第で)バッファオーバーフローするようにすることもあるまい。
0222ようかんまん ◆nup627Y0Gs
NGNG|・∀・|ノ ひさしぶりにようかんまんが解いてみたよ!
お礼はかわいい幼女画像がいいなー
#include <stdio.h>
#include <string.h>
#define EX10000
#define LIM1000
int main()
{
int tbl[100000];
int carry;
int i,j,w=1;
memset(tbl,0,sizeof(tbl)/sizeof(tbl[0]));
tbl[0]=1;
for(i=0;i<EX;i++){
carry=0;
for(j=0;j<w;j++){
tbl[j]+=carry;
tbl[j]*=2;
if(tbl[j]>=LIM){
carry=tbl[j]/LIM;
tbl[j]=tbl[j]%LIM;
}
}
if(carry>0)tbl[w++]=carry;// 繰り上がり
}
printf("2^%d = ",EX);
for(i=w;i>0;i--)printf("%03d",tbl[i-1]);
puts("");
return 0;
}
0223デフォルトの名無しさん
NGNG最近気付いたんだがファイル操作以外で
fgets派を多数見かけるんだがこれってどういう事?
どうも俺はファイル操作以外でfがつく関数を使われると違和感を感じるんだが・・・.
0224マイク ◆yrBrqfF1Ew
NGNG0225デフォルトの名無しさん
NGNGgetsを使うほうが違和感があるんだが。
0226マイク ◆yrBrqfF1Ew
NGNG何言ってるんだ使っちゃいけないわけ無い。
使っちゃいけないもんがなんで標準にあんだよ。
no boundary checkingってのが好きな奴もいるんだよ
std::printf(argv[1]);いうのもな
0227デフォルトの名無しさん
NGNGまさか、プログラマで飯くってる人じゃないだろうな
0229デフォルトの名無しさん
NGNGそれって、SE/管理職ってこと?
0230デフォルトの名無しさん
NGNGなんかサイズチェックがゆるい関数表とか
Cで使っちゃいけない関数表とかないかな
0231デフォルトの名無しさん
NGNGおまえはC/C++を使っちゃいけない。
0232デフォルトの名無しさん
NGNGただし、ユーザーが特定できていて、
なおかつ、そのユーザーが仕様以上の文字を入力する心配が無い場合のみにしてくれ。
#include <stdio.h>
int main()
{
char szBuf[8];
fgets(szBuf, sizeof szBuf / sizeof(szBuf[0]), stdin);
// gets(szBuf);
printf("%s", szBuf);
return 0;
}
このままの場合と、fgetをコメントアウトしてgetsのコメントアウトを解除した場合で、
8文字以上入力して試してみてくれ。
ただし、バッファオーバーフローするので、自己責任で。
まぁ、Win32の環境なら他のプロセスにまでは影響はでないと思うが…。
0233デフォルトの名無しさん
NGNG9xなら逝っちゃうかも
0234デフォルトの名無しさん
NGNGgets とか scanf とかの論争はここ↓でやれや。
C言語なら俺に聞け! Part 87
http://pc5.2ch.net/test/read.cgi/tech/1090654469/
0235デフォルトの名無しさん
NGNG阿呆。その二つはこっちだ。
C言語なら俺俺に聞け! Part 87
http://pc5.2ch.net/test/read.cgi/tech/1090652323/
0236デフォルトの名無しさん
NGNG名に言ってんだ。
その二つは「C言語なら俺に聞け!」のメインテーマだろうが!
0237デフォルトの名無しさん
NGNGだって宿題だぜ?
そりゃー不特定の人相手に作る場合はチェック厳しくするけどさ
0238デフォルトの名無しさん
NGNGscanfで荒らしたい阿呆は>>235逝きだよ
0239デフォルトの名無しさん
NGNG「使ってもいい」「使っちゃダメ」って一言で言ったら理由を知らない人が・・・。
俺も、宿題ならgets使おうとscanf使おうと構わないと思うけど。
0240デフォルトの名無しさん
NGNG0242デフォルトの名無しさん
NGNGん?これあってる?
2^20乗をためしたらおろろな結果になったんだが…
0243デフォルトの名無しさん
NGNGまったくエレガントではないのぉ
0244デフォルトの名無しさん
NGNG正: 2^20 = 1048576
0245デフォルトの名無しさん
NGNG0246デフォルトの名無しさん
NGNG>>エレガントにお願い
とか言われると解くのに躊躇しちゃいます(^^;
0247デフォルトの名無しさん
NGNG0248ようかんまん ◆nup627Y0Gs
NGNGif(tbl[j]>=LIM){
carry=tbl[j]/LIM;
tbl[j]=tbl[j]%LIM;
}else{
carry=0;
}
でもまだ微妙に違うなあ…
0249ようかんまん ◆nup627Y0Gs
NGNGこっちが正解
tbl[j]*=2;
tbl[j]+=carry;
あと
#include <string.h>とmemset
いらないね
0250デフォルトの名無しさん
NGNG清書してsakuraにUPおねがいしまーす!
0251ようかんまん ◆nup627Y0Gs
NGNGhttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=188&fi=no
0252デフォルトの名無しさん
NGNGGuっじょぶ!よーかんまーん
0253デフォルトの名無しさん
NGNGconst int JOU = 1000;
const int KETA = 2000;
const int NINOBASYO = (2 / 2);
int main(void)
{
int i;
int hako[KETA];
for(i = 0; i < KETA; i++) hako[i] = 0;
hako[NINOBASYO] = 1;/* 2ができた */
hako[JOU] = hako[NINOBASYO];/* 1000乗できた */
hako[NINOBASYO] = 0;
for(i = 0; i < KETA; i++) printf("%d",hako[i]);
printf("\n 2進数でドゾー。 \n");
return 0;
}
0254デフォルトの名無しさん
NGNG前のスレはどこにいきました?
0255デフォルトの名無しさん
NGNGA←B←Cと継承してる場合
基底クラスからvirtualをずっとつけといた関数は
A *c=(A) new C; c->hoge(); とかやると
newしたときのクラスCのhoge()が呼ばれるけど
ずっとvirtualをつけてないときはAのhogeが呼ばれる。
で、よくわからないのが
継承の途中からvirtualをつけたり、途中からはずしたりしたとき。
実験しまくってるけど法則がよくわからないです。
0256デフォルトの名無しさん
NGNG途中からの変更は効かない
0257デフォルトの名無しさん
NGNG0258デフォルトの名無しさん
NGNGようかんまんも、拙者も、流石兄弟も
中の人達はみんな同じでお送りしております。
0259デフォルトの名無しさん
NGNG中 の 人 な ど い な い 。
OK?
0260デフォルトの名無しさん
NGNGいい加減現実を見ろよ!
0261デフォルトの名無しさん
NGNGint main(void)
{
return いい加減現実を見ろよ!();
}
0262デフォルトの名無しさん
NGNG仮にx=4、y=10なとき、
unko[ ]={1,2,3,4}
unko[ ]={1,2,3,5}
unko[ ]={1,2,3,6}
・・・
unko[ ]={7,8,9,10}
とunkoの配列の中身を順に変えて行きたいのですが、
for文を使わずにTimerを使って一回づつ処理を進めて行く場合は
どう書けば良いですか?
0263デフォルトの名無しさん
NGNGそんな問題を出した先生を埋めて来い
0264デフォルトの名無しさん
NGNG0265デフォルトの名無しさん
NGNGコールバックさせたいんじゃない?
0266デフォルトの名無しさん
NGNG俺が昔書いた(ぱくった)コード
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=54&fi=no
next_permutation(配列の先頭へのポインタ, 配列の末尾へのポインタ + 1);
で動くはず。
0267デフォルトの名無しさん
NGNGお、有難うございます。
0268デフォルトの名無しさん
NGNGvoid swap(int *a, int *b)
{
int t = *a;
*a = *b;
*b = t;
}
void reverse(int *data, int size)
{
int i, j;
for(i = 0, j = size - 1; i < j; i++, j--)
swap(data + i, data + j);
}
int np(int *data, int size)
{
int i;
for(i = size - 2; i >= 0; i--)
{
if(data[i] < data[i + 1])
{
int j = size;
while(data[i] >= data[--j])
;
swap(data + i, data + j);
reverse(data + i + 1, size - i - 1);
return 1;
}
}
reverse(data, size);
return 0;
}
0269デフォルトの名無しさん
NGNGhttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=189
そんなに難しく考えなくてもコレで良いんじゃないかい?
0270デフォルトの名無しさん
NGNGこれで問題ないのでしょうか・・・?
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=272
0271デフォルトの名無しさん
NGNGfunc()が全く意味を成していない.
xを返してるだけじゃん
0272デフォルトの名無しさん
NGNGを
return (t,x); /* 右辺の関数 */
に変更
0273デフォルトの名無しさん
NGNGぬるぽ!!
0274デフォルトの名無しさん
NGNGガッ!!
0275デフォルトの名無しさん
NGNGぬるぽ!!
0276168
NGNG複素数の指数関数 ez は, テーラー展開を用いて次の式で求める.
e^z = 1 + z + z^2/2! + z^3/3! + … + z^n/n! + … ( zは(a+0i) )
らしいのでこんなん作ったんですが値が1とか2とか小さいのだと標準ライブラリの
expを使ったのとかなり近い値になるのですが5ぐらいになってくるとかなりずれてきます。
なにがおかしいのでしょうか??
//eの複素数べき乗を返す
complex exp_co(complex x)
{
int i;
complex c(1,0),sum;
sum=c+x;
for(i=2; i<10; i++){
complex b(kaijo(i),0);
sum=sum+pow(x,i)/b;
}
return sum;
}
0277168
NGNGint main(void)
{
double a;
printf("問題1:\n底eのz乗を計算します\n");
printf("z >");
scanf("%lf",&a);
complex ans1,seed(a,0);
ans1=exp_co(seed);
printf("自分のプログラムの値 > ");
ans1.print();
printf("\n\n");
・・・・
}
0278デフォルトの名無しさん
NGNGマクローリン展開じゃなくテーラー展開を使え
0279168
NGNG0280デフォルトの名無しさん
NGNG級数の和を取る回数の10を増やせばいいだけじゃないの
0282168
NGNGループ条件:for(i=2; i<10; i++)
底eのz乗を計算します
z >7
自分のプログラムの値 > 910.749383+0.000000i
exp関数の値 > 1096.633158+0.000000i
ループ条件:for(i=2; i<20; i++)
底eのz乗を計算します
z >7
自分のプログラムの値 > 101366746.487487+0.000000i
exp関数の値 > 1096.633158+0.000000i
でした・・・
0283デフォルトの名無しさん
NGNG実装が悪い。階乗を計算してると限界がすぐに来る。
0284168
NGNG0285デフォルトの名無しさん
NGNG0286168
NGNG0287デフォルトの名無しさん
NGNGコンパイルしてから言え
0288デフォルトの名無しさん
NGNGしなくてもないもんはないだろ
0289デフォルトの名無しさん
NGNGどうやら学校のパソコンではint型が4バイトのようで、int使うと大きすぎて困るんです。
だからといって char a[2] みたいにすると直接 a=a+1 とかいう感じに、一つの数字として
扱うことが出来ないし。
なんか方法ないですかね?
0290デフォルトの名無しさん
NGNGお前には向いてない
学校辞めて別の道探した方がいい
0291デフォルトの名無しさん
NGNGここは宿題スレ。こちらへどうぞ。
つ ttp://pc5.2ch.net/test/read.cgi/tech/1090324689/
ついでにこれも。
つ short int
0292デフォルトの名無しさん
NGNGいやなんか、どんな処理系でも共通な型ってcharだけって聞いたんですが、
short intも常に2バイトで決まってるんですか?
0293デフォルトの名無しさん
NGNG共通な型という意味では全部そうだが、サイズが同じものは何もない。最低の
ビット数が決まっているだけだ。実装依存だからコンパイラのマニュアルを嫁。
しかし、その前にまず常に2バイトの整数を使いたい理由を言ってみろ。
0294168
NGNG解決しました。
double kaijo(int x)
{
int i,sum;
sum=1;
for(i=1; i<=x; i++) sum=sum*i;
return sum;
}
kaijoがこんなんになってました・・・
sumはdoubleじゃん・・・('A`) もう寝ます。
自分にプログラミングは向いてないっすかね・・・あと実装っていう意味勘違いしてました。
調べてなんとなくですがわかりました。
>>283様 ありがとうございました
0295デフォルトの名無しさん
NGNGじゃあキミの知ってる short の長さは?
0296デフォルトの名無しさん
NGNG0297デフォルトの名無しさん
NGNGstdint.hのint16_t ならどうだ?
ただ2バイトじゃなくて常に16ビットと決められているけど
(VCならたぶんstdint.hがない代わりに__int16って型があるはず)
0298デフォルトの名無しさん
NGNGで、どんな処理系にもあるの?それ。
0299デフォルトの名無しさん
NGNG0300デフォルトの名無しさん
NGNGおいおい、>291の前半はスルーか?
0301デフォルトの名無しさん
NGNG0302デフォルトの名無しさん
NGNGなかったら自分で作れ。typedefと#defineが並んでるだけだ。
0303デフォルトの名無しさん
NGNG組み込み系ではcharが9bitのものもあるという話だが
0304デフォルトの名無しさん
NGNGそれでも char は1バイト
0305デフォルトの名無しさん
NGNGC++ なら boost/cstdint.hpp
C99以前のCとか、C++だけどboost使えないとかの場合はシラン
0306デフォルトの名無しさん
NGNGC++ の場合は知らないが、C99 の int16_t とかはあれば定義されてるってだけで、
どの処理系にもあるってわけじゃないんでは?
0307デフォルトの名無しさん
NGNG0308デフォルトの名無しさん
NGNG0309デフォルトの名無しさん
NGNG0310デフォルトの名無しさん
NGNG0311デフォルトの名無しさん
NGNG0312デフォルトの名無しさん
NGNG0313310
NGNG0314デフォルトの名無しさん
NGNGスレ違い。ここは宿題スレだってばさ。
0315デフォルトの名無しさん
NGNG0316デフォルトの名無しさん
NGNG0317デフォルトの名無しさん
NGNG0318デフォルトの名無しさん
NGNG0319デフォルトの名無しさん
NGNG0320デフォルトの名無しさん
NGNGビットフィールドじゃだめか?
1バイトが 7,8,9,11 ビットの処理系に対応するように union して
あげれば何とかなると思う.
でも,そんなアクロバティックなプログラムは
今の時代に合わないと思うよ.
0321デフォルトの名無しさん
NGNG>>319
ドラッグ中毒だなw
0322デフォルトの名無しさん
NGNG0323デフォルトの名無しさん
NGNG0324デフォルトの名無しさん
NGNG> ただし、単独のコンピュータで行い、24時間以内に終了することを条件とする。
どなたか出来ませんでしょうか?
0325デフォルトの名無しさん
NGNGマジで一生懸命考えちゃったじゃないか!w
0326デフォルトの名無しさん
NGNG落下地点と最終速度を表示するプログラムを作成しなさい
但し、仰角は0度、空気抵抗は考慮しなくても良い。
0327デフォルトの名無しさん
NGNG地上26mの高さのベランダから水平に飛び出したところ建物から
9m離れた地表に落下した。ベランダから飛び出したときの初速
を求めよ。なお、重力加速度は g=9.8m/sec^2とし、空気抵抗は
無視する。
考え方:初速度V0で物体を水平方向に投げると、水平方向には等速
運動、鉛直方向には初速度0の自由落下運動となる。
速度のx成分 Vx=V0 時間tについて積分→t秒後の水平位置 x=V0*t
速度のy成分 Vy=g*t 時間tについて積分→t秒後の鉛直位置 y=(1/2)*g*t^2
地表に落下した時刻をt1とすると、題意より、
V0m/sec*t1sec=9m …1)
(1/2)*9.8m/sec^2*t^2sec=26m …2)
1)より t1=9/V0 これを2)に代入して
(9.8/2)*(9/V0)^2=26
9/V0=√26/(9.8/2)
V0=9/√(26/(9.8/2))
V0=3.907m/sec
(答) 3.907m/sec (14.07km/h)
--------------------------------------------------------------------------
■落下時間は 1)にV0を代入して t1=9/3.907≒2.30sec
最終速度は Vy=g*t=9.8*2.304≒22.58m/sec (81.3km/sec)
0328デフォルトの名無しさん
NGNG彡 />....
───┐ ’ミζ゚
□□□│ ・
□□□│ ’.
□□□│↑ ミ
□□□│ ζ゚
□□□│26m .
□□□│ .
□□□│↓ .
□□□│ .
._. │ ..
| | | │ "orz ||
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
|← 9m →|
0329デフォルトの名無しさん
NGNG0330デフォルトの名無しさん
NGNG0331デフォルトの名無しさん
NGNGint main(void)
{
/* unsigned long = 32Bit */
unsigned long *prime, count, number, index, *memory;
char loop;
prime = (unsigned long *)malloc(1 * sizeof(unsigned long));
if (prime == NULL) return 1;
prime[0] = 2;
count = 1;
printf("%u\n", prime[0]);
number = 3;
while (number != 1) {
for (loop = -1, index = 0; loop && index < count; index++) {
if (number % prime[index] == 0) loop = 0;
if (prime[index] >= number / 2) break;
}
if (loop) {
memory = (unsigned long *)realloc(prime, (count + 1) * sizeof(unsigned long));
if (memory == NULL) {
free(prime);
return 1;
}
prime = memory;
printf("%u\n", number);
prime[count++] = number;
}
number += 2;
}
return 0;
}
0332デフォルトの名無しさん
NGNG時間計算量も空間計算量も爆発します!
0333デフォルトの名無しさん
NGNGdouble _atof(const char *nptr){ return strtod(nptr, (char **)NULL); }
int atoi(const char *nptr){ return strtol(nptr, (char **)NULL, 10);
0334デフォルトの名無しさん
NGNG0335331
NGNGif (prime[index] >= number / 2) break;
↓
if (prime[index] >= number / 3) break;
0336デフォルトの名無しさん
NGNGCPU2GHz、RAM1GBもありゃぁ十分可能ジャマイカ?
今時実現不可能なスペックでもあるまい?
0337デフォルトの名無しさん
NGNG0338デフォルトの名無しさん
NGNG#include <stdlib.h>
inline bool BitGet(unsigned int *x, unsigned int y)
{
return x[y/32] >> (y % 32) & 1;
}
inline void BitSet(unsigned int *x, unsigned int y)
{
x[y/32] |= 1 << (y % 32);
return;
}
int main(int argc, char **argv, char **envp)
{
unsigned int *map, i, j;
const unsigned int max = 0xFFFF;
map = (unsigned int *)calloc(max/32+(max%32 != 0), sizeof(int));
if(map == NULL) return 0;
for(i = 2; i <= max; i++){
for(j = 2; j <= max / i; j++){
BitSet(map, i*j);
}
}
for(i = 2; i <= max; i++)
if(!BitGet(map, i))
printf("%d\n", i);
free(map);
return 0;
}
0339デフォルトの名無しさん
NGNGとりあえず、"動くように"作ったから速度は(r
メモリは128MBくらい要ります。
maxを0xFFFFFFFFにしといて('A`)
テストで減らしたの忘れてた。
0340デフォルトの名無しさん
NGNGまあ結局はエラトステネスしかないんだが。
>>339
> maxを0xFFFFFFFFにしといて('A`)
int が 32ビットの保証はないし、32ビットなら止まらん。
0341デフォルトの名無しさん
NGNG0342デフォルトの名無しさん
NGNG32ビット演算の場合。
(unsigned)0xFFFFFFFF <= (unsigned)0xFFFFFFFF は真だよね?
0xFFFFFFFF + 0x00000001 = 0x00000000 だよね?
(unsigned)0x00000000 <= (unsigned)0xFFFFFFFF は真だよね?
ほら、Forループが終わらないでしょう?
0343デフォルトの名無しさん
NGNG地球上と限定していいの? その場合、緯度と標高は?
あーそれに、初速の方向も必要だな。
0344デフォルトの名無しさん
NGNG0345デフォルトの名無しさん
NGNGui = 0;
do {
ui++;
} while (ui != 0xFFFFFFFF);
とすれば良いジャマイカ。
0347346
NGNG0348デフォルトの名無しさん
NGNG条件としてメイン関数以外の関数を少なくともひと定義して作らなければいけません
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=273
このプログラムをどこかに関数が入るように改変していただけませんか?
0349デフォルトの名無しさん
NGNG>>46-
>>148-
0350デフォルトの名無しさん
NGNG表示を関数にするのやめたんだね
解答に見覚えがある・・・(^^;
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=190
0351デフォルトの名無しさん
NGNG0352348
NGNG似たような課題があったので上から引っ張ってきたんですが
関数で書かれてるのもあったんですね、もっとよく探すべきでした、すいません
0353デフォルトの名無しさん
NGNG多分こんな式?
#include <stdio.h>
#include <math.h>
int main()
{
const double g=9.8;
double h,v;
double t;
printf("高さh(m) 初速v(km/h) > ");
scanf("%lf %lf",&h,&v);
t=sqrt(2*h/g);
printf("落下地点 : %f\n",v*1000*t);
printf("最終速度 : %f\n",g*t);
return 0;
}
0354デフォルトの名無しさん
NGNG最終速度は鉛直方向と水平方向で3平方取らないといけないYO!
0355デフォルトの名無しさん
NGNGそれなら
printf("最終速度 : %f\n",sqrt((g*t)*(g*t)+v*v));
0356デフォルトの名無しさん
NGNG#include <stdio.h>
#include <math.h>
int main(void)
{
double h, v, vv, t;
double g = 9.80665;// 標準重力加速度
printf("h[m]? >");
scanf("%lf", &h);
printf("v[km/h]? >");
scanf("%lf", &v);
vv = v / 3.6;// v[m/sec]に変換
t = sqrt(2.0 * h / g);
v = sqrt(g * g * t * t + vv * vv);
printf("落下地点 = %f[m]\n", vv * t);
printf("最終速度 = %f[m/sec]\n", v);
printf(" = %f[km/h]\n", v * 3.6);
return 0;
}
0357デフォルトの名無しさん
NGNG とか全角とかに置き換えれば消えない
0358デフォルトの名無しさん
NGNG「コンパイルできません!」とか言われたりする罠
質問・宿題スレではお勧めできない
0359デフォルトの名無しさん
NGNGでもかちゅ〜しゃでレスポップアップしたときに醜くなる罠
0361デフォルトの名無しさん
NGNG#東京程度の緯度で初速0でも東京タワー程度の高さで3cm位は東に流れるぞ。
0362デフォルトの名無しさん
NGNG0363デフォルトの名無しさん
NGNG0364デフォルトの名無しさん
NGNGアルゴリズムの問題なのですがよろしくです。
長いのでzipでうpします。
0365364
NGNG0366デフォルトの名無しさん
NGNG0368デフォルトの名無しさん
NGNG1.
ひとつは,辺の重みの値が 0 になるグラフがだめだよね.
もうひとつは何だろう?
2.
自分でコンパイルしてやって.
3.
プログラム上は配列に残ってるけど,アルゴリズム上は
なくなったノードだからでしょ.
0369デフォルトの名無しさん
NGNG素人なんで間違ってたらスマソ
1.
辺に重み0をつけられない。
ある点と自分自身との接続や、同じ二つの点の間の複数の接続を表現できない。
2.
自分で試せ。
3.
グラフに孤立点しかなかった場合にvisit_all_nodesは常にYESを返し、
これは期待した動作ではないから。
0370デフォルトの名無しさん
NGNG0372364
NGNGこのスレの>>274-278に問題&ソースコードうpしました
0374デフォルトの名無しさん
NGNG関数内のコメント凄いね。逆に見辛くない?
0375デフォルトの名無しさん
NGNG仕様書を兼ねたコーディング規則を取る場合はあれぐらいやるよ
0376デフォルトの名無しさん
NGNG>なぜでしょう?
なんて煽る文句が入ってる。
0377デフォルトの名無しさん
NGNG0378デフォルトの名無しさん
NGNG以下の仕様を満たすものであれば,その他の詳細は問わない。
1.英文テキストファイルから単語を抽出し,それをB-Treeに格納する。
2.B-Treeから,単語を辞書順に出力する。
C言語/C++言語,どちらでも良いそうです。
よろしくお願いします。
0379デフォルトの名無しさん
NGNGその際、先頭の0を省略することを禁じ、演算は、1行で行うものとする
0380デフォルトの名無しさん
NGNGこうでいいよな?
int main()
{
unsigned short n;
scanf("%u", n);
printf(%0u, (n << 8) | (n >> 8));
return 0;
}
int main()
{
unsigned long n;
scanf("%lu", n);
printf(%0lu, (n << 24) | (n >> 8 << 16) | (n >> 16 << 8) | (n >> 24));
return 0;
}
0381デフォルトの名無しさん
NGNGCPU: Pen4 2.4BGHz Mem:512MB gcc(g++)オプション: -O3
331:
桁が二倍になるごとに計算時間は約3.6倍になるように見える。400万以下の素数で 221.167s
かかることから予想終了時間は1020日位。よって24時間以内に終わらない。
338:
桁が二倍になるごとに計算時間は約2.2倍になる。ただし計算数が大きくなるほど倍率は
下がっていくように見える。(1000万→2000万:2.34倍/2000万→4000万:2.25倍)
1.6億以下の素数で 173.771s かかることから予想終了時間は 130分以下。
まさに爆速!このプログラムなら24時間以内なんて楽勝っぽい。
0382デフォルトの名無しさん
NGNG0383デフォルトの名無しさん
NGNGJavaScriptで書いたほうがはるかに速い
0384デフォルトの名無しさん
NGNGそれじゃだめじゃね?
#include <stdio.h>
int main()
{
unsigned int n;
scanf("%x", n);
printf("%0x", (n << 24) | (n >> 8 << 16) | (n >> 16 << 8) | (n >> 24));
return(0);
}
0385デフォルトの名無しさん
NGNGint main()
{
unsigned int n;
scanf("%x", &n);
printf("%0x", (n << 24) | ((n << 8)& 0x00FF0000) | ((n >> 8) & 0x0000FF00) | (n >> 24));
return(0);
}
douda?
0386デフォルトの名無しさん
NGNG>v = sqrt(g * g * t * t + vv * vv);
>printf("落下地点 = %f[m]\n", vv * t);
>printf("最終速度 = %f[m/sec]\n", v);
v壊しててもだれもつっこまないんだな
0387デフォルトの名無しさん
NGNGこういうときこそ,C++。
#include <iostream>
#include <iomanip>
template <class Type> Type traverse(Type in){
int i; char *p,buf[100]; Type out=in;
for(i=0,p=(char*)&out;i<sizeof(Type)/2;++i) p[sizeof(Type)-i-1]^=p[i]^=p[sizeof(Type)-1-i]^=p[i];
std::cout<<"0x"<<std::setw(2*sizeof(Type))<<std::setbase(16)<<std::setfill('0')<<in;
std::cout<<" -> ";
std::cout<<"0x"<<std::setw(2*sizeof(Type))<<std::setbase(16)<<std::setfill('0')<<out;
std::cout<<std::endl;
return out;
}
int main(){
int i=0x01234567;
short s=0x0123;
long l=0x01234567;
long long ll=0x0123456789abcdefll;
traverse(i);
traverse(s);
traverse(l);
traverse(ll);
return 0;
}
0389デフォルトの名無しさん
NGNG0390デフォルトの名無しさん
NGNG落下地点は?
0391デフォルトの名無しさん
NGNG0392デフォルトの名無しさん
NGNG(課題)
今手元に、「ある学校の生徒の名前と連絡先の入ったファイルA」と
「その生徒たちのテストの結果および平均点と評価、全体での平均点が入っているファイルB」があるとする。
�@ファイルBで評価がD以下だった生徒の名前を新たなファイルCに書き出す。
�Aその生徒たちの連絡先をファイルAから探し出しファイルCに追加する。
�Bその生徒たちの名前と連絡先を名前順に並び替える。
結果として、ファイルCに「評価がD以下だった生徒」の「名前と連絡先」が「名前順」にソートされている。
このようなプログラムを作れとのことです。
制限とかはなかったんで、ぜひぜひ自由にプログラム組んでいただけると助かります。
C言語です。どうかよろしくお願いします。
0393387
NGNGC言語版。
#include <stdio.h>
#include <string.h>
void traverse(void *in, int size){
char *p=malloc(size);
memcpy(p,in,size);
for(i=0;i<size/2;++i) p[size-i-1]^=p[i]^=p[size-i-1]^=p[i]; //演算の一行
printf("0x");
for(i=0;i<size;++i) printf("%02x",((char*)in)[i]);
printf("-> 0x");
for(i=0;i<size;++i) printf("%02x",p[i]);
printf("\n");
free(p);
}
int main(){
int i=0x01234567;
short s=0x0123;
long l=0x01234567;
long long ll=0x0123456789abcdefll;
traverse(&i,sizeof(i));
traverse(&s,sizeof(s));
traverse(&l,sizeof(l));
traverse(&ll,sizeof(ll));
return 0;
}
0394デフォルトの名無しさん
NGNG1や2でファイルCに書き出すと,すげぇ面倒くさいんだけど?
最後,3で一度だけ書き出すんじゃ駄目なの?
0395デフォルトの名無しさん
NGNG> for(i=0;i<size/2;++i) p[size-i-1]^=p[i]^=p[size-i-1]^=p[i]; //演算の一行
未定義
0396デフォルトの名無しさん
NGNG生徒が100万人くらいいてメモリだけでやるには手に負えないんじゃないか?
0397デフォルトの名無しさん
NGNG0398デフォルトの名無しさん
NGNGそれなら,ファイルDを用意しないと,上書きしちゃう。
0400デフォルトの名無しさん
NGNGファイルの形式は決まってないのか?
それも含めて制限なしで自由ってことなのかもしれないけど、面倒くさいんだよ、そういうの。
0401デフォルトの名無しさん
NGNGどの辺りが?
0402デフォルトの名無しさん
NGNGp[size-i-1]^=p[i]^=p[size-i-1]^=p[i] の辺り
0403デフォルトの名無しさん
NGNGファイルAとファイルBを作って,>>1にうp。
0404デフォルトの名無しさん
NGNG0405デフォルトの名無しさん
NGNG0406デフォルトの名無しさん
NGNG0407デフォルトの名無しさん
NGNG> (※使用するパソコンの性能は現在、一般に普及している最新型相当のものとする)
何ですが………
どう考えてもできません。どうすればいいでしょうか……。
0408デフォルトの名無しさん
NGNG普通のπなら FFT でガウスルジャンドルでもやっとけ
0409デフォルトの名無しさん
NGNG0410デフォルトの名無しさん
NGNGあからさまに不可能な宿題は見ていて面白くないよ。
ギリギリ現実可能か?と思わせる宿題出される様にしてよ。
0411デフォルトの名無しさん
NGNG0412デフォルトの名無しさん
NGNG0413デフォルトの名無しさん
NGNGMem: 1GB
のパソコンにおいて
一時間かけて合成数n(=p*q)を素因数分解するとき
nが何ビットまで素因数分解できるか
(p,qのビット数は等しいものとする)
0414デフォルトの名無しさん
NGNG0415デフォルトの名無しさん
NGNG0416デフォルトの名無しさん
NGNG0417デフォルトの名無しさん
NGNGN個の数、1,2,3,...,nの順列を表示するプログラムを、N=10として作れ。
なお表示する順は問わない。
0418デフォルトの名無しさん
NGNGと元も子もないことを言ってみるテスツ
0419デフォルトの名無しさん
NGNGnが40ビットだったら楽勝でできるわけで、
どこが限界か知りたいの
0420デフォルトの名無しさん
NGNGそういう探せば一瞬で見つかるようなのじゃなくて、もうちょっとひねった問題にしてくれ。
0421デフォルトの名無しさん
NGNGここはあくまで宿題スレだから問題出す時は下手に出ろ
0422デフォルトの名無しさん
NGNG次のような単純な暗号を作成しなさい。
�@暗号化したい数字を入力(正の整数)[データ1]
�A暗号用の鍵(正の整数3桁)を入力[暗号鍵]
�B暗号鍵の数字(の約数)から素数を全て求める
�C1番目に大きい素数と2番目に大きい素数を選択[鍵1,鍵2]
(1番目と2番目が無い場合,暗号鍵の数字に1を足し�Bへ)
�Dデータ1に鍵1の数字を掛ける[データ2]
�E最後に,データ2を鍵2で割り,その余りの2乗を暗号とする
�Aまでは出来たのですが、�B以降が分かりません。
どなたか解いてくださいませんでしょうか、お願いします
0423デフォルトの名無しさん
NGNG0424デフォルトの名無しさん
NGNG0425デフォルトの名無しさん
NGNG0426デフォルトの名無しさん
NGNGhttp://www.geocities.com/shinobi0227/cgi-bin/poker.zip
Play my games please!!!
0427デフォルトの名無しさん
NGNG0428デフォルトの名無しさん
NGNGC++ on my own burden. Just try to right-click, save, then play it!
0429デフォルトの名無しさん
NGNG0430デフォルトの名無しさん
NGNGplay my hand-made game. That's the sense, well, I would never erge to
play those it's all up to u folks..
0431デフォルトの名無しさん
NGNG0432デフォルトの名無しさん
NGNG0433デフォルトの名無しさん
NGNG0434デフォルトの名無しさん
NGNGI'm really not sneaking.... well, i'm away...
0435デフォルトの名無しさん
NGNG0436デフォルトの名無しさん
NGNG0437デフォルトの名無しさん
NGNG0438デフォルトの名無しさん
NGNG作成してください.素数かどうかを判定する際には線形リストに保存されている素数のみ利用してください。.
こんな問題が出されたんですけどよくわかりません。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=279
こんな感じじゃいけないんでしょうか?
0439デフォルトの名無しさん
NGNGテケトーに煽ってみたが自演じゃあない
0440デフォルトの名無しさん
NGNG去年同じ問題をあったな。
C/C++の宿題やらせてください。7代目。
http://pc5.2ch.net/test/read.cgi/tech/1053963794/453+509
0441440
NGNG0442デフォルトの名無しさん
NGNGありがとうございました〜。
素数判定はどんなことやってもいいので、
その回答例が正しいようです。
お手数をおかけしてすみませんでした。
0443デフォルトの名無しさん
NGNG>>331に手を加えれば良いんじゃね?
0444デフォルトの名無しさん
NGNGわざわざ示していただきありがとうございました。
でも、自己参照的データ構造への書き直し方がよくわからないので、
440さんに示していただいたプログラムに手を加えて見ようと思います。
過去レスもよく読まずに質問してしまい申し訳ありませんでした。
0445デフォルトの名無しさん
NGNGじゃ
ttp://www.logos.ic.i.u-tokyo.ac.jp/acm-icpc/problems.html
C か Java だそうです.
04461
NGNG既に紫(visited)。問題と入出力例は全部
http://www.ehime-u.ac.jp/ICPC/problems/domestic/d2004/
にある。プログラム例は無いがな。
0447デフォルトの名無しさん
NGNGJPEG処理に使われる1次元8点DVTを実現するプログラムを
SH3-DSPのアセンブリ言語を用いてさくせいせよ。
変換行列の係数は計算済みとしてよい
ソースデータはメインメモリにおかれているとする
結果はメインメモリに格納する
0449デフォルトの名無しさん
NGNGここはC,C++の宿題スレです。アセンブラはCとかC++じゃないです。
0450デフォルトの名無しさん
NGNG0451デフォルトの名無しさん
NGNG0452デフォルトの名無しさん
NGNGhttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=192
0453デフォルトの名無しさん
NGNGそれって未定義なの?
右から順次代入していくんじゃないの?
0454デフォルトの名無しさん
NGNG0455デフォルトの名無しさん
NGNG0456456な人
NGNG宝くじで1億円当たったあなたは,それを増やすために,
T銀行に2年間預けることにしました.利率は,0.005%(毎月複利)です
2年間(24ヶ月)の残高の推移を,1ヶ月毎にfor文とprintf文を用いて出力しなさい。
さっぱり分からないので誰か代わりに答えを出してください(´Д⊂
0457デフォルトの名無しさん
NGNG= も ^= も 代入演算子です
0458デフォルトの名無しさん
NGNG#include <stdio.h>
main()
{
double money = 100000000;
int i;
printf("元金 %d円\n", (unsigned long)money);
for(i=0 ; i < 24; i++){
money *= 1.005;
printf("%d ヵ月後 %d円\n",i+1 ,(unsigned long)money);
}
}
0459デフォルトの名無しさん
NGNG^= は = と違って左辺値も一度評価される
0460458
NGNG表示修正
#include <stdio.h>
main()
{
double money = 100000000;
int i;
printf("元金 %.f円\n", money);
for(i=0 ; i < 24; i++){
money *= 1.005;
printf("%d ヵ月後 %.f円\n",i+1 ,money);
}
}
0461デフォルトの名無しさん
NGNG0462デフォルトの名無しさん
NGNGhttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=191&fi=no
0463456な人
NGNG0464デフォルトの名無しさん
NGNG表示だけじゃなくて、計算過程としても小数以下は切り捨てるんじゃない?
double money
↓
unsigned long money
あと、0.005%複利は * 1.00005 。
0465デフォルトの名無しさん
NGNGその片道運賃は190円である。
syyyy年smm月sdd日からeyyyy年emm月edd日まで
学校へ休まず通う(自宅→学校→自宅)とした場合、
運賃はいくらになるか。但し、
通う総日数部分(閏年は考えない)および、運賃計算部分は関数化すること。
という宿題が出ました。よろしくですm(_ _)m
0466デフォルトの名無しさん
NGNG0467デフォルトの名無しさん
NGNG土曜日は学校休み、休まない?
0468デフォルトの名無しさん
NGNG春・夏・冬休みも学校に行くの?
…現実なら定期を買って行くんだろうけどなぁ。
0469デフォルトの名無しさん
NGNG課題もネット経由で提出しなくちゃいけないのです;;
0470デフォルトの名無しさん
NGNG土日は休みで春・夏・冬休みは無いです・・・
ほんとすいません><
0471デフォルトの名無しさん
NGNG0472デフォルトの名無しさん
NGNG0473デフォルトの名無しさん
NGNG0474392
NGNGhttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1091194059
本当に遅れてすみませんでした・・・
0475デフォルトの名無しさん
NGNG0476デフォルトの名無しさん
NGNG0477デフォルトの名無しさん
NGNG0478デフォルトの名無しさん
NGNG77行目:out of memory
というエラーが出るんだけどどういう意味ですか
0479デフォルトの名無しさん
NGNG0480デフォルトの名無しさん
NGNG>>479
0481デフォルトの名無しさん
NGNG0482デフォルトの名無しさん
NGNG多分これでいいかな。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=280&fi=no
閏年を無視すると、曜日計算が出来ませんので、開始日の曜日も入力するようにしました。
あと、入力はscanfなんで、指示通りのフォーマットで入れないと暴走します。
0483482
NGNG× >* sw は、開始日の曜日を表す数値。0-6で、小さい順に、月日水目金土日
○ >* sw は、開始日の曜日を表す数値。0-6で、小さい順に、月火水木金土日
あと、年月日の整合性チェックしていないので、変な値入れると動作保障できません。
特に「月」は、配列のインデクスに使ってるので、1〜12の範囲外では不正メモリアクセスが発生する。
0484482
NGNG>465 の提示情報だけだと、祝日も考慮しなきゃならなそうだ。
0485デフォルトの名無しさん
NGNGハッピーマンデー キタ━(゚∀゚)━( ゚∀)━( ゚)━( )━(゚ )━(∀゚ )━(゚∀゚)━!!!!
0486デフォルトの名無しさん
NGNGこんなん感じでええんちゃう?
テストしてないから間違えてるかもしれないけど・・・・
int montable[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int y, m, d, ms, dow;
/*
y = 2004;
m = 2;
d = 7
*/
ms = 0;
for(i = 0; i < m-1; i++) ms += montable[i];
dow = ((y - 1) * 365 + ms + (d - 1)) % 7;
0487デフォルトの名無しさん
NGNG死ぬぞヽ(`Д´)ノ
>>482さんのソースでできました。
有難うございましたー
0488デフォルトの名無しさん
NGNG5 -1 7 -7 9 25 -9 5 14 9の配列を
シェルソートで並べ替えた結果と交換回数、比較回数を表示せよ。
なんですけど、交換回数、比較回数の表示ができません。
どうやればいいのか教えてもらえないでしょうか。
0489デフォルトの名無しさん
NGNG0490デフォルトの名無しさん
NGNGすいません、これです
0491デフォルトの名無しさん
NGNG間違い、こっちです
0492デフォルトの名無しさん
NGNG手っ取り早い方法。関数外でstatic unsigned KoukanKaisuu, HikakuKaisuu;と定義しておき、
比較のif文の前で++HikakuKaisu;、交換の直前で++KoukanKaisuu;とカウントする。
ソート後、それらを表示すればよい。
0493デフォルトの名無しさん
NGNGえっと、こうでいいんでしょうか?
0494デフォルトの名無しさん
NGNG0495デフォルトの名無しさん
NGNGネタ決定
0496デフォルトの名無しさん
NGNG0497デフォルトの名無しさん
NGNGグローバル関数にしたら作動しました
どうもお騒がせしました
そして有難うございました
0498c言語入門ふつかめ
NGNG入力された整数であるのかを表示する(0を与えると終了)プログラムを作りたいんですがうまくいきません。
ご指摘おねがいします。あと、MAXのマクロ関数定義を変更して任意の正の整数を代入したいです。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=284
0499デフォルトの名無しさん
NGNG1. 細切れにしなくてもまとめて1つにできる。
printf("数字(%d)を代入してください", n);
2.
scanf("%d",&input);
if(input==0) break;
data[i]=input;
これはinputを使わずにこれじゃダメなのか?
scanf("%d",&data[n]);
if(input==0) break;
3. 何番目にあるのか探すのだから、data[0]〜data["0が入っているとこまで"]をforで探し回らないと探したことにならない。
for (;;) {
printf("見つけたい数字を入力してください ");
scanf("%d",&j);
if (j == 0) {
printf("それではプログラムを終了します");
break;
}
for (n = 0;; i++) {
if (data[n] == j) {
printf("%dは%d番目にみつかりました", j, n);
break;
}
else if (data[n] == 0) {
  printf("%dは見つかりませんでした", j);
  break;
}
}
}
0500デフォルトの名無しさん
NGNGhttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=193&fi=no
もっと簡単にできたかも。
0502500
NGNG// Record set. - C.txt
strcpy(caFile, ".\\C.txt");
if ((pfA = fopen(caFile, "w")) == NULL) {
printf("File not find - %s\n", caFile);
return 1;
}
lIndex[ID_SORT] = 0;
while (lIndex[ID_SORT] < dbQuery.lCount) {
fprintf(pfA, "%s %s\n", praSort[lIndex[ID_SORT]]->caName, praSort[lIndex[ID_SORT]]->caTel);
lIndex[ID_SORT]++;
}
fclose(pfA);
0503デフォルトの名無しさん
NGNGえっと・・・、ツッコミ待ち?
0504c言語入門ふつかめ
NGNG肝心の見つけたい数字を入力するとこが全く正常に動きませんでした・・_| ̄|○
0505デフォルトの名無しさん
NGNGfor (n = 0;; i++) {
を
for (n = 0;; n++) {
にしてみ
0506c言語入門ふつかめ
NGNG実行したときに、0以外の整数を入力すると常に見つかりませんが表示され、
なぜか0を代入すると0は〜番目に見つかりましたと表示され、プログラムも
終了されません。
c 34: syntax error near 'end of file'このエラーを無視してるからでしょうか_| ̄|○
0507c言語入門ふつかめ
NGNG0508デフォルトの名無しさん
NGNG0509c言語入門ふつかめ
NGNG3番目の考え方を取り入れて自分なりに書いてみました。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=285
c 22: syntax error near 'else'
c 32: syntax error near 'end of file'
あとはこのエラーを直すことができればちゃんと動くような気がするんですがどこが間違ってるんでしょうか
0510デフォルトの名無しさん
NGNG構文エラーの意味を考えれ。
>if(j==0) break; {
>printf("それではプログラムを終了します");
>}
変だろ?
0511デフォルトの名無しさん
NGNGhttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=286&fi=no
参考までに…
0512デフォルトの名無しさん
NGNGわかったわかった
#include<stdio.h>
#define MAX 10000
#define else
↑これを書けばコンパイルできるよ
0513デフォルトの名無しさん
NGNG0515デフォルトの名無しさん
NGNGポインタ使って読みやすく改造。
簡単かどうかは???
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1091194059&res=5&fi=no
0516デフォルトの名無しさん
NGNG0517482
NGNG初日が土日の場合に、計算が合わないことがあります。
もっとも、初日が休日というのはありえない設定かもしれませんが。
int get_weekdays(int sy, int sm, int sd, int sw, int ey, int em, int ed){
int i, s, e, all_days, holidays, mod;
s = YEAR_OF_DAY[sm - 1] + sd;
e = YEAR_OF_DAY[em - 1] + ed;
all_days = ((ey - sy) * 365 + e) - s + 1;
holidays = (all_days / 7) * 2;
mod = all_days % 7;
if(mod > 0){
switch(sw){
case 5:
if(mod == 1) holidays += 1;
else holidays += 2;
break;
case 6:
if(mod < 6) holidays += 1;
else holidays += 2;
break;
default:
if(sw < 0 || sw > 6) break;
if(sw + mod == 6) holidays += 1;
else if(sw + mod >= 7) holidays += 2;
}
}
return all_days - holidays;
}
0518482
NGNG誤解を招く言い回しかいちゃったので訂正。正しくは
>初日が土日の場合に、計算が合わないことが(最初のプロ具レムでは)ありました。
です。>517 に差し替えれば初日が土日でもちゃんと計算されます。
あと、
MONTH_OF_DAY, YEAR_OF_DAY
は
DAY_OF_MONTH , DAY_OF_YEAR
が英語的にただしいっぽ。
0519デフォルトの名無しさん
NGNG0520デフォルトの名無しさん
NGNG関数は配列を戻り値にはできないよ。ポインタなら戻り値にできるけど。
0521デフォルトの名無しさん
NGNGchar *fanc02(void);; // これはOK
char (*fanc03(void))[64];; // これもOKだけど、戻り値は配列のポインタなので間違えない事。
http://pc5.2ch.net/test/read.cgi/tech/1086373839/973 辺りが参考になるかと。
0522521
NGNG0523デフォルトの名無しさん
NGNG6+2×3と入力したら12とでるやつを作りたいのですが・・・
自分にはできないのでできるかたお願いしますm(__)m
0524デフォルトの名無しさん
NGNGC++じゃなくてCです。すいません><
0525デフォルトの名無しさん
NGNG0526デフォルトの名無しさん
NGNG0527デフォルトの名無しさん
NGNGif (strcmp(szInput,"6+2×3") == 0){
printf("12");
}
0528デフォルトの名無しさん
NGNG素晴らしすぎて射精した
0530デフォルトの名無しさん
NGNGhttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1091194059&res=6
間違って変なところに張っちまった。
1バイト文字限定、文法判定なし、カッコ未対応、小数点判定付き
0531デフォルトの名無しさん
NGNG0532530
NGNG気になった所があったので修正。
0533c言語入門ふつかめ
NGNGどうしてもうまくいきません_| ̄|○
1番目に入力した数字は1番目に見つけました、ときちんと動いてくれるのに
2番目以降に入力した数字は見つかりません、になってしまいます
ご指摘おねがいします
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=287
0534デフォルトの名無しさん
NGNG( ゚∀゚) ・∴.
(ヽ□=□━━━
> > .∵’
0535デフォルトの名無しさん
NGNG0536デフォルトの名無しさん
NGNG0537c言語入門ふつかめ
NGNG0538デフォルトの名無しさん
NGNGscanfの問題では無い。問題も無い。
検索のforループ、見つかろうが見つからまいが、1回目でbreakしてるのが原因。
1つ目に入れた数なら何回目でも必ず見つかる。
0539デフォルトの名無しさん
NGNGあと、問題は他にもある。
int data[MAX]の中身は不定だ。main()の外に置けば0で初期化される。
0540c言語入門ふつかめ
NGNG消して実行してみたら余計おかしくなってしまいました
0541デフォルトの名無しさん
NGNG少しは頭を使え。
0542デフォルトの名無しさん
NGNG0543デフォルトの名無しさん
NGNG0544c言語入門ふつかめ
NGNGこれ以上この問題だけに時間かけれないので、
具体的にどこをどうすればいいか教えてください
0545デフォルトの名無しさん
NGNGC言語の習得を諦める
0547デフォルトの名無しさん
NGNG>if(j==data[i]){
>printf("%dは%d番目に見つかりました\n",j,i+1);
>break;
>}
>else{
>printf("%dは見つかりませんでした\n",j);
>break;
>}
これを、
if(data[i]==0){
printf("%dは見つかりませんでした\n",j);
break;
}
if(j==data[i]){
printf("%dは%d番目に見つかりました\n",j,i+1);
break;
}
にすれば大丈夫、とみんなは言っている。
0549デフォルトの名無しさん
NGNG個性的でですね
>530さん
ありがとうございます(^▽^) 助かりました(つД`)
0550デフォルトの名無しさん
NGNGお前にゃムリ
0551デフォルトの名無しさん
NGNGなんちゃってプログラマが増えるのは良い事だ。
0552デフォルトの名無しさん
NGNGとりあえず、月の開始曜日は0が日曜日・・・6が土曜日になるようにしてます。
土曜日になったら改行するようにしたいんですが、表示がおかしくなります。
アドバイスお願いします。
0553デフォルトの名無しさん
NGNG0554デフォルトの名無しさん
NGNG一定時間内に指定された文字を入力させるにはどうすればいいでしょうか。
0555デフォルトの名無しさん
NGNG0556デフォルトの名無しさん
NGNG「時間内に指定された文字を入力しろ」って出力したら素直な奴なら従うよ
0557デフォルトの名無しさん
NGNG#include <stdio.h>
// week : 曜日、 last:月の最終日
void print_calendar(int week, int last){
int i;
puts(" 日 月 火 水 木 金 土");
for(i = 0; i < week; i++) printf(" ");
for(i = 0; i < last; i++){
printf(" %2d", i + 1);
if((i + week) % 7 == 6) putchar('\n');
}
putchar('\n');
}
int main(){
print_calendar(1, 31);
print_calendar(5, 28);
print_calendar(0, 30);
print_calendar(6, 29);
return 0;
}
0558デフォルトの名無しさん
NGNGありがとうございました。
0559デフォルトの名無しさん
NGNGこのプログラムXのソースに'/'(スラッシュ)を1文字だけ加えることで
画面に"1"と表示するようになるプログラムXのソースを書きなさい。
0560デフォルトの名無しさん
NGNG#include <stdio.h>
int main(void)
{
return printf("%d", 1 * 20 /**/);
}
0561デフォルトの名無しさん
NGNG#include <stdio.h>
int main(void) {
int i = 20;
i = 20;
printf("%d\n",i);
return 0;
}
0562561
NGNGint main() {
printf("%d", 2020 - 1 ? 20 : 1);
return 0;
}
0563デフォルトの名無しさん
NGNG#include <stdio.h>
int main()
{
printf("%d", -20 / 20
+ 21);
return 0;
}
入れ方
-20 / 20
-20 // 20
0564デフォルトの名無しさん
NGNGint main(void)
{
/*
printf("20");
/*/
printf("1");
//*/
return 0;
}
0565デフォルトの名無しさん
NGNG1 + 1/9
0566564
NGNG0567デフォルトの名無しさん
NGNG2/1 - 1
0568デフォルトの名無しさん
NGNG0569デフォルトの名無しさん
NGNG0570デフォルトの名無しさん
NGNG出力するプログラムを作りたいのですが、fgetc で読み込んだ後、
出力用に配列に入れようと思ったらうまく行きません。
初歩的で住みませんが、助言して頂けないでしょうか。
0571デフォルトの名無しさん
NGNG0572デフォルトの名無しさん
NGNG0573570
NGNG#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char str[];
FILE *fp0;
FILE *fp1;
char *p;
int i;
(fopen省略 引数にfp1 fp2 を指定)
for(;;) {
i = fgetc(fp1);
if(i == EOF) break;
}
while(*p){
if(fputc(*p, fp0)==EOF){
printf("ファイル書き込みエラー\n");
exit(1);
}
p++;
}
fclose(fp0);
fclose(fp1);
return 0;
}
0574デフォルトの名無しさん
NGNG0575デフォルトの名無しさん
NGNG状況を詳しく。
0576デフォルトの名無しさん
NGNGお前は辞めた方がいい
突っ込みどころが多すぎる
0577デフォルトの名無しさん
NGNGそんな手があるんですね(^^;
ありがとうございます、方法について調べて来ます!
ただ、それとは別に配列を使用したいんですけど、難しくなるんでしょうか?
良かったらこちらについてもアドバイス頂けないでしょうか。
0578デフォルトの名無しさん
NGNG#include <stdio.h>
int main(void)
{
FILE *in = fopen("in", "r");
FILE *out = fopen("out", "w");
int i;
while((i = fgetc(in) != EOF) if(i != '\n') fputc(out, i);
return 0;
}
0579デフォルトの名無しさん
NGNG独習なら始めはそんなもんだ。
0580デフォルトの名無しさん
NGNGss[i]=getch();としてenterを押すまで一文字ずつ取り込んでいきたいんですが
enterの判別にif(ss[i]=='\n)としてもどうもうまくいかないので・・・'
0581デフォルトの名無しさん
NGNG'\r'と比較してみてはどうだろう。
0582デフォルトの名無しさん
NGNG0583デフォルトの名無しさん
NGNGリロードしてなかった・・・スマソ
0584デフォルトの名無しさん
NGNGこのスレッドの主体性をうまく理解してないで書き込んで失礼しました。
>>578さんありがとうございます。
簡潔ですばらしいコードですね、ありがたく参考にさせて頂きます。
それでは出直してきます。。。
0585デフォルトの名無しさん
NGNG「主体性」を辞書で引く事をお勧めする。
0586デフォルトの名無しさん
NGNG#define N 3
#define M 4
int n=3;
double a[N][M]={{33.0,16.0,72.0,-359.0},{-24.0,-10.0,-57.0,281.0},
{-8.0,-4.0,-17.0,85.0}};
void print_matrix(double x[][M],int n,int m)
{
int i,j;
for(i=0;i<n;i++){
for(j=0;j<m;j++)
printf("%15.8lf",x[i][j]);
printf("\n");
}
printf("\n");
}
void gauss(double x[][M],int n)
{
int i,j,k,l;
double p;
for(k=0;k<n;k++){
p=a[k][k];
for(j=k;j<=n;j++)
a[k][j] /= p;
a[k][k]=1.0;
for(i=k+1;i<n;i++)
for(j=k;j<=n;j++)
a[i][j] -= a[k][j]*a[i][k];
}
??
}
0587デフォルトの名無しさん
NGNGありがとうごさいます。無事できました。
0588デフォルトの名無しさん
NGNG以下 goo辞書より
=================================================================
しゅたい-せい 0 【主体性】
自分の意志・判断によって、みずから責任をもって行動する態度のあること。
「―をもって行動する」
=================================================================
逝っていますわ・・・∧||∧
0589デフォルトの名無しさん
NGNGなんかマッチ棒パズルみたいだな。
0590デフォルトの名無しさん
NGNGvoid main()
{
print_matrix(a,3,4);
gauss(a,3);
print_matrix(a,3,4);
}
の、??に処理を追加して、第n+1列に解が求めるがうすのしょうきょ法
のプログラムを完成させよ。 をお願いします。
0591586
NGNG0592586
NGNG0593
NGNGのように分割してコンパイルするときに結合する
方法はありますか?
0594デフォルトの名無しさん
NGNG#include "main2.cpp"
0595デフォルトの名無しさん
NGNG>>593-594
#endif
0596デフォルトの名無しさん
NGNGできるだけ短いコードで数字の小さい順に並べ替える方法を教えて下さい。
0597378
NGNGどなたか>>378をやっていただけないでしょうか?
よろしくお願いします。
0598デフォルトの名無しさん
NGNGfor(int m=0;m<10;m++)for(int j=0;j<10;j++)if(i[m]<i[j]){i[m]^=i[j];i[j]^=i[m];i[m]^=i[j]}
90字
0599デフォルトの名無しさん
NGNGstd::sort(i,i+10);
18字
0600599
NGNG#include<algorithm>
の分を入れ忘れた。
0601デフォルトの名無しさん
NGNG外側のforをfor(int j,m=0;m<10;m++)にすれば内側でint が要らないのでちょっと小さく出来る。
それと、;が}のまえ抜けてる。
0602デフォルトの名無しさん
NGNGB-Tree 書くのマンドクセ。
そんなのネット上で探せば幾らでも転がっているだろうに・・・
0605デフォルトの名無しさん
NGNGってやると値の入らない場所には空白がはいりますよね?
その空白部分に0を表示させたいんですがなにか書き方ってあるんですか?
0606デフォルトの名無しさん
NGNG0607デフォルトの名無しさん
NGNG拙者刀を磨いてまっているでごじゃる…
0608デフォルトの名無しさん
NGNG>>568
>>569
0609デフォルトの名無しさん
NGNGというか拙者自分の宿題で四苦八苦してますからっ切腹ぅ!
0610デフォルトの名無しさん
NGNG文字列nPtrの先頭部分をdouble型に変換する関数double atof(const char *nPtr),
文字列nPtrの先頭部分をint型に変換する関数int atoi(const char *nPtr),
文字列nPtrの先頭部分をdouble型に変換する関数double strtod(const char *nPtr, char **endPtr)
と同様の機能の関数を作ってください。できればなるべくシンプルなのでお願いします。
0611デフォルトの名無しさん
NGNG0612デフォルトの名無しさん
NGNGsscanfあり?
0613デフォルトの名無しさん
NGNGsweep_out()を定義せよ。
�Agaussf()の後半に処理を追加することにより、拡大行列の第n+1列に連立1次方程式の解
が求めるガウスの消去法のプログラムを完成させよ。
C言語でお願いします。
0614デフォルトの名無しさん
NGNG0615デフォルトの名無しさん
NGNGの丸1
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=195
丸2は不可能だな。エスパーでも探してくれ。
0617デフォルトの名無しさん
NGNG付いてるわけ?それともメモリ?(←意味ねぇよなぁ)
0619デフォルトの名無しさん
NGNG思いっきりここにソースが公開されているようだが。
ttp://cis.stvincent.edu/carlsond/swdesign/btree/btree.html
0620デフォルトの名無しさん
NGNGB-tree(正確にはその派生したもの)はよくFileSystemに使うからだよ。
0621デフォルトの名無しさん
NGNG助けてください。
まずクラスAがあって、
class A
{
public:
A(int n);
};
クラスAをメンバとするクラスBがあります。
class B
{
private:
A array;
public:
B(int n);
};
BのコンストラクターでAを初期化します。
B::B(int n):array(n){}
これはOKなのですが、、、
0622デフォルトの名無しさん
NGNGclass B
{
private:
A array[2];
public:
B(int n);
};
BのコンストラクターでAを初期化できません<m(__)m>
以下はコンパイラーエラーが出ます。
B::B(int n):array[0](n),array[1](n){}
B::B(int n):array(A(n),A(n)){}
助けてください(~o~)
0623デフォルトの名無しさん
NGNGつまり、constオブジェクトの配列はキャストでもしない限りメンバに持つべきではありません。
0624デフォルトの名無しさん
NGNGできないのですか、、、、、
やはりそろそろC#に移行します。
レスありがとうございます<m(__)m>
0625デフォルトの名無しさん
NGNG0626デフォルトの名無しさん
NGNGconstならstaticにすりゃいいだろ。
0627デフォルトの名無しさん
NGNG他のスレにも同じ事書いてるみたいだし
それにしても無知無能だな
もう少し勉強しろよって感じ
0628デフォルトの名無しさん
NGNG#include<stdio.h>
main()
{
int a,x,y;
x=y=0;
while((a=getchar()) !=EOF){
if(a=='\n')
x++;
y++;
}
printf("%d 行 , %d 字数.\n",x,y);
}
というプログラミングでつまずいてます 何故このプログラムで字数が表示されるのか意味不明です
if(a=='\n')x++;y++;という部分が改行コード認識する度に行がカウントされるのは分かるんですけど
どこで字数が確認出きるんですか 教えて下さいお願いします
0629デフォルトの名無しさん
NGNGそのプログラムは
#include<stdio.h>
main()
{
int a,x,y;
x=y=0;
while((a=getchar()) !=EOF){
if(a=='\n')x++;
y++;
}
printf("%d 行 , %d 字数.\n",x,y);
}
こう書くべきだね。
while((a=getchar()) !=EOF){
は一文字読み込んでそれを a に格納する。と、
その文字が終了文字でなければループを続ける
if(a=='\n')x++;
a が改行コードだったら x の値を 1 増やす
ここで行数のカウントがなされているのは正しいよ。
y++;
この文は前の if 文のスコープの範囲外ですから。
この文は無条件で 1 増やす。
で、この文は while((a=getchar())!=EOF) の中にあるので、
文字数分呼び出されるので、文字数が確認できます。
これで大丈夫かな?
0630デフォルトの名無しさん
NGNG0631デフォルトの名無しさん
NGNG解説ありがとうございます。
ところで、
終了文字の文字コードは何ですか?
終了文字そのものを読み込みたいときはどうすればよいですか?
0632デフォルトの名無しさん
NGNGファイルの終端に達したら、getchar()はEOFという文字コードではない値を返すが。
0633デフォルトの名無しさん
NGNGあら先を越されちゃいましたね。
>>631
ちょっと難しいかもしれないけど
終了文字の文字コードは存在しません。
文字コードは char 型 1 byte で 0 - 255 までの値だけど
EOF は -1 で char 型が表せる値の範囲外にあります。
そもそも
int getchar(void)
とあるように、getchar 等の char 型を読み込む関数は
EOF も返せるように int 型の返値を持ちます。
だから、
char a;
a=getchar();
だと終了文字を読み込めませんが、
int a;
a=getchar();
だと終了文字を読み込めます。そしてその値は EOF (-1) という形で格納されます。
これで大丈夫?
0634デフォルトの名無しさん
NGNGwhile((a=getchar()) !=EOF){
は一文字読み込んでそれを a に格納する。と、
その文字が終了文字でなければループを続ける
0635デフォルトの名無しさん
NGNG0636デフォルトの名無しさん
NGNG痛すぎ
0637デフォルトの名無しさん
NGNGDOS系では^z(0x1a、SUB)、UNIX系では^d(0x04、EOT)が終了文字として扱われる。
0638デフォルトの名無しさん
NGNG0639デフォルトの名無しさん
NGNGおいおい、入力の終端とテキストファイルの終端とを混乱していないか?
>>638
大丈夫、今でもバイナリファイルには山ほど入っている(かも知れない)。
0640デフォルトの名無しさん
NGNG。。。痛さ倍増だよアンタ。それ以上傷口広げないうちに帰ったほうがいいよ。
0641デフォルトの名無しさん
NGNGということば,何で誰も言わないの?
0642デフォルトの名無しさん
NGNG0643デフォルトの名無しさん
NGNGしらないからだろプッ
0644デフォルトの名無しさん
NGNGこれが 2ch
0645デフォルトの名無しさん
NGNGそんな話はしていないから。
0646デフォルトの名無しさん
NGNG知識がない奴に嘘を教えられてしまったやつはいい迷惑だよな。
それで将来左右されるかも知れないのに。
0647デフォルトの名無しさん
NGNG0648デフォルトの名無しさん
NGNG0649デフォルトの名無しさん
NGNG0651なもなきー高校生
NGNG画面出力された文字列を全てクリアーする定義文を御教唆ください。
・・・超初心者で申し訳ないです。
0652デフォルトの名無しさん
NGNGというのをできるだけ簡潔なコードで書く方法を教えて下さい。
0653デフォルトの名無しさん
NGNGそんなものはありません。少なくともANSI Cの範囲では。
0654デフォルトの名無しさん
NGNGint k
for(k = 0;k < 10;k++) if(i == j[i]) break;
if (k == 11) { ... }
0655デフォルトの名無しさん
NGNG環境書け
>>652
int check(int i, int j[], int n){
while (n-- > 0) if (j[n] == i) return 0;
return 1;
}
if (check(i, j, sizeof(j) / sizeof(j[0]))) puts("hoge");
0656デフォルトの名無しさん
NGNG#include<algorithm>
if(std::find(j,j+10,i)==j+10) hogehoge....
0657デフォルトの名無しさん
NGNGor
#define CLS() system("cls")
0658デフォルトの名無しさん
NGNG0659デフォルトの名無しさん
NGNG質問の回答用ソースを貼るスレのレス番196
http://do.sakura.ne.jp/%7Ejunkroom/cgi-bin/megabbs/lounge/index.html
0660デフォルトの名無しさん
NGNGy,Y,n,Nが入力されるまで「Yesならyを、noならnを入力してください。」という分を表示するプログラムを作ったのですが、
わからない点
・YとNを入力したときにもちゃんと回答として判定する方法がわからない(今のままだと小文字のみ判定)
・aやb等を入力した際に表示される「Yesならyを、noならnを入力してください。」という分が二重に表示される
これはどのように直すのでしょうか
ttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=293
初心者用も問題ですいません
0661デフォルトの名無しさん
NGNG・while( c != 'y' && c != 'n' );
おれなら、
C == 'Y'
・if( ans == 'y' && 'Y') { /* これは常に真 、と前に書いた覚えがある。*/
0662デフォルトの名無しさん
NGNG・大文字を小文字に変換して処理
or
・大文字と小文字は別の文字なので両方処理に組み込む
でソースの
> if( ans == 'y' && 'Y'){
は間違いなので
if(ans=='y'||ans=='Y'){
だと思うよ。
0663661
NGNG・分→文くらいちゃんと書け。
・while( c != 'y' && c != 'n' );
俺なら、!(c == 'Y' || c == 'y' || c == 'N' || c == 'n') こう書く。
・改行文字を読んでるから。
・if( ans == 'y' && 'Y') { /* これは常に真 、と前に書いた覚えがある。*/
0664デフォルトの名無しさん
NGNGすれ違いだが…
> while( c != 'y' && c != 'n' );
ループの中でcの値を更新しないと無限に回る事になる。
while(c != 'y' && c != 'n' && c != 'N' && c != 'Y') c = getchar();
とすれば良い。
>・YとNを入力したときにもちゃんと回答として判定する方法がわからない(今のままだと小文字のみ判定)
> if( ans == 'y' && 'Y'){
この文の表す条件は、「ansが'y'であり、'Y'が真」で、「'Y'が真」は常に成り立つから(文字は全て真)、意図したように動かない。
if(ans == 'y' || ans == 'Y'){
とすれば良い。
0665664
NGNG0666664
NGNG0667デフォルトの名無しさん
NGNG0668デフォルトの名無しさん
NGNG> while(c != 'y' && c != 'n' && c != 'N' && c != 'Y') c = getchar();
do { } while( 〜 );
> > if( ans == 'y' && 'Y'){
> この文の表す条件は、「ansが'y'であり、'Y'が真」で、「'Y'が真」は常に成り立つから(文字は全て真)、意図したように動かない。
> if(ans == 'y' || ans == 'Y'){
'Y''は意味が無いだけで悪影響は及ぼさない。
エラーになってうまくいかないようです。
適当にソース分断の例
main(void)
{int a,b;
a = 0;
-----------ここでソース分割---------------
b = 1;
}
関数呼び出しはソースを別にしても問題ないですが、
適当にソース分断してコンパイル時に結合することは
できないのかなあ?
0670デフォルトの名無しさん
NGNG0671デフォルトの名無しさん
NGNG--data.txt--
32cm 1.5mm 80m
これをC標準関数と、C++のSTL、両方で作っていかなければでして、
C標準関数の方はfopenやstrrchr、atoiなどを使って、馬鹿な俺にも力技で出来ました。
ところがSTLの方はさっぱり分かりません。fstreamを使ったところで固まってます。
どうか斬り捨てて頂けないでしょうか。
0672デフォルトの名無しさん
NGNGmain.c
int main(void)
{
#include "another.c"
return 0;
}
another.c
int a,b;
a = 0;
b = 1;
0673デフォルトの名無しさん
NGNG#include
使ってみろ
0674デフォルトの名無しさん
NGNGfoot.c
--------------------------
b = 1;
}
--------------------------
head.c
--------------------------
main(void)
{int a,b;
a = 0;
#include "foot.c"
--------------------------
0675671
NGNG時間になってしまったので質問を撤回します。スレ汚し失礼。
0676デフォルトの名無しさん
NGNG>単位ごとに分けて数値を変数に格納しなければ
が説明不足なので誰も手をつけないのではないかと。
0677デフォルトの名無しさん
NGNG誰も手を付けないのは、パーサーをSTLだけで書くと面倒だからじゃない?
こんな宿題出すなと言ってやれw
まぁ、そんなに難しくないけど
0678デフォルトの名無しさん
NGNG0679デフォルトの名無しさん
NGNGたった一つの変数の為にポインタ使う宿題だってあるじゃん
0680デフォルトの名無しさん
NGNG#include <string.h>
int btoi(char[],int);
char *itob(int);
void main(int argc, char *argv[]) {
int s,temp;
s = btoi(argv[1], strlen(argv[1])) + btoi(argv[2], strlen(argv[2]));
printf("%s",itob);
}
つづく・・・
0681デフォルトの名無しさん
NGNG単純に「STLを使うことに意味がある」んだよ。
0682デフォルトの名無しさん
NGNG詳しく
0683デフォルトの名無しさん
NGNG0684デフォルトの名無しさん
NGNGと言い訳
0685デフォルトの名無しさん
NGNG「キーボードから1つの自然数を入力し、1からその数までの3で割ると
1余る数の和を求めよ。」
という問題です。
どなたかよろしくおねがいします。
0686デフォルトの名無しさん
NGNG#include <stdio.h>
void main( void )
{
int i, n, sum = 0;
scanf( "%d", &n );
for( i = 1; i <= n; i += 3 ) sum += i;
printf( "%d", sum );
}
0687デフォルトの名無しさん
NGNG{
int n = 0, i, c;
for(;;){
printf("Input number > ");
scanf("%d", &n); /* fgets + atoi(strtol)を使ってもok */
if(n <= 0){
puts("自然数を入力して下さい。");
continue;
}
c = 0;
for(i = 1; i <= n; i++)
if(i % 3 == 1) c++;
printf("Count > %d\n", c);
}
return 0;
}
注意点
※行頭の全角スペースを半角スペースかタブに変えておくこと(重要)
※文字を入力しないこと
0688デフォルトの名無しさん
NGNG0689デフォルトの名無しさん
NGNG数字は文字じゃないのかな?
0690デフォルトの名無しさん
NGNG0691デフォルトの名無しさん
NGNG0692680のつづき
NGNGint btoi(char x[],int a) {
int i = 0;
int s = 0;
while (x[i] != '\0') {
if (x[i] == '1') {
s = s + ( 1 << (a - 1));
}
i ++;
a --;
}
return(s);
}
char *itob(int sum) {
int cnt=0,i=0;
char z[99];
while (sum >> cnt > 0) {
z[i] = '0' + sum >> cnt & 0x1;
i ++;
cnt --;
}
return(z);
}
0693680のつづき
NGNG加算結果を文字列に変換したのち、出力するプログラムです
文字列に変換するところと文字列のリターン方法がわかりません
教えてください
atoi itoaなどの関数は使用不可です
おながいします
0694デフォルトの名無しさん
NGNG0695デフォルトの名無しさん
NGNG// ...
char z[99];
// ...
return(z);
}
zのポインタ返しちゃダメじゃん。。。
0696デフォルトの名無しさん
NGNG環境依存?
0698デフォルトの名無しさん
NGNG>>693
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=198
0699デフォルトの名無しさん
NGNGunsigned int value;
value = 0;
while (*str)
value = value * 2 + (*str++ == '1' ? 1 : 0);
return value;
}
char* itob(int i, char* str) {
char* ptr;
unsigned int value;
ptr = str;
value = i;
while (value) {
++ptr;
value /= 2;
}
*ptr = '\0';
value = i;
while (value) {
*--ptr = value % 2 ? '1' : '0';
value /= 2;
}
return str;
}
int main(int argc, char *argv[]) {
char buff[sizeof(int) * 8 + 1];
int sum;
if (argc < 3) return -1;
sum = btoi(argv[1]) + btoi(argv[2]);
printf("%s\n", itob(sum, buff));
return 0;
}
0700デフォルトの名無しさん
NGNGunsigned int n = 0;
for(;*p == '0' || *p == '1'; p++) n = (n << 1) + (*p - '0');
return n;
}
void itob(unsigned int s, char *p){
unsigned int m;
if(s == 0){*p = '0', *(p + 1) = '\0'; return;}
for(m = 1; m < s; m <<= 1);
if(!(m & s)) m >>= 1;
for(; m; m >>= 1, p++){*p = s & m ? '1' : '0';}
*p = '\0';
}
0701デフォルトの名無しさん
NGNGありがとうございます!!!
0702デフォルトの名無しさん
NGNGconst int int_bits = CHAR_BIT * sizeof(unsigned int);
char *itob(unsigned int n, char *s)
{
int i;
char *ts = s;
for(i = int_bits-1; i > 0 && (n >> i & 1) == 0; i--);
for(; i >= 0; i--, s++)
*s = '0' + (n >> i & 1);
*s = '\0';
return ts;
}
・・・・・厨くせえソースだな。吊ってくる。
0703デフォルトの名無しさん
NGNG踏み台外しを手伝ってやる
0704デフォルトの名無しさん
NGNGなんか定数あった筈と思いながら、思い出せなかった
0705680
NGNG文字列をリターンするときは
ex)
char str[5] = {"abcd"};
return(str);
はだめですか?
char *str
strに文字列代入処理;;
return(str);
はOK?
0706デフォルトの名無しさん
NGNG0707デフォルトの名無しさん
NGNG関数を抜けた時点でスコープから外れ、その内容は保証されない。
0708デフォルトの名無しさん
NGNG0709デフォルトの名無しさん
NGNG0710デフォルトの名無しさん
NGNGここの296に問題をうpしました。諸事情にyりコンパイルできないので力を貸して下さい。
プログラムを読めばコンパイル等しなくても分かると言われたのですが.....
問題 下記のコメント内で例として用いられているグラフに対して、このプログラムを実行すると、どのような結果が表示されるか?
0711710
NGNGリンクしておきます
0712デフォルトの名無しさん
NGNGお前は今超能力でここに書いてるのか?
0713デフォルトの名無しさん
NGNG>>364にあるファイルを全部リンクしてもダメ?
0715デフォルトの名無しさん
NGNGvoid mainの時点でその教授は信用しないでいいぞ。
0716デフォルトの名無しさん
NGNGmainがコメントアウトされてるのは何でやー
0718デフォルトの名無しさん
NGNG710も、教授も
0719デフォルトの名無しさん
NGNG> /* おすすめできません。(なぜでしょう?) . */
ま た こ の 講 師 か !
0720デフォルトの名無しさん
NGNG0721デフォルトの名無しさん
NGNG0722デフォルトの名無しさん
NGNG0723710
NGNG0724デフォルトの名無しさん
NGNGねーねー、君がソースを貼ったスレの275を見てごらんよ
0726724
NGNG0727デフォルトの名無しさん
NGNG0728710
NGNG0729デフォルトの名無しさん
NGNG********** Showing input graph!! (Adjacency-List) **********
# of nodes = 6 # of edges = 7 (Edge density = 46 percent)
Node 1 --------------------
degree = 2 (2,1)(4,1)
Node 2 --------------------
degree = 3 (1,1)(3,1)(4,1)
Node 3 --------------------
degree = 2 (2,1)(6,1)
Node 4 --------------------
degree = 3 (1,1)(2,1)(6,1)
Node 5 --------------------
degree = 1 (6,1)
Node 6 --------------------
degree = 3 (3,1)(4,1)(5,1)
Tabの代わりに半角スペース4こを使った。
0730デフォルトの名無しさん
NGNGそのソースを見て判る事は「コメントは簡潔かつ分かりやすく」という事だ。
0733デフォルトの名無しさん
NGNG#include<stdio.h>
main()
{
int account;
char name[30];
float balance;
FILE *cfPtr;
if ((cfPtr = fopen("clients.dat","w")) == NULL) <===�@
printf("ファイルをオープンできません\n");
else {
printf("口座番号、名前、取引残高を入力してください\n");
printf("(EOFを入力すると終了)\n");
printf("? ");
scanf("%d%s%f",&account, name, &balance);
while (!feof(stdin)) {
fprintf(cfPtr, "%d %s %.2f\n",
account, name, balance);
printf("? ");
scanf("%d%s%f2", &account, name, &balance);
}
fclose(cfPtr);
}
return 0;
}
0734デフォルトの名無しさん
NGNG読み込んだデータを、取引残高の多い順に並び替えて表示するようにしてください。
#include<stdio.h>
int main()
{
int account;
char name[30];
double balance;
FILE *cfPtr;
if ((cfPtr = fopen("clients.dat", "r")) == NULL)
printf("ファイルをオープンできません\n");
else {
printf("%-12s%-14s%s\n", "口座番号","名前","取引残高");
fscanf(cfPtr, "%d%s%f", &account, name, &balance);
while (!feof(cfPtr)) {
printf("%-12d%-14s%8.2f\n", account, name, balance);
fscanf(cfPtr,"%d%s%f", &account, name, &balance);
}
fclose(cfPtr);
}
return 0;
}
0735デフォルトの名無しさん
NGNG�@→if ((cfPtr = fopen(filename,"w")) == NULL)
0736デフォルトの名無しさん
NGNGfgets(szFilename, sizeof(szFileName), stdin); /* scanf("%s", szFileName); じゃないとバレる? */
if((cfPtr = fopen ...
0737デフォルトの名無しさん
NGNG0738デフォルトの名無しさん
NGNG0739デフォルトの名無しさん
NGNG0740デフォルトの名無しさん
NGNG0741デフォルトの名無しさん
NGNG0742デフォルトの名無しさん
NGNGちょっと待て!ハンガリアン
http://pc5.2ch.net/test/read.cgi/tech/1011026963/l50
0743デフォルトの名無しさん
NGNGhttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=297
0744デフォルトの名無しさん
NGNG0745デフォルトの名無しさん
NGNGstrlen は 0 返すだろ?
意味分かって使ってんのか?
string はローカル変数だろ?
その値変えたって何にもならねーよ。
変わるのは main の name の方
ポインタ勉強してこい
0747デフォルトの名無しさん
NGNG長さ0の文字列をstrlenしてから-1してるんだから、そりゃそうだろう
>姓と名が同じになってしまいます
b_ptrが指す内容は変わっているが、b_ptrの値は変わっていないから
#include<stdio.h>
char* sprit(char *);
void input(char *, size_t);
int main() {
char name[40]={'\0'};
char *a_ptr,*b_ptr;
input(name, sizeof(name));
a_ptr=name;
b_ptr=sprit(name);
printf("姓は:%sです\n",a_ptr);
printf("名は:%sです\n",b_ptr);
return 0;
}
char* sprit(char *string) {
while(*string!='/'&& *string!='\0')
string++;
if(*string=='/'){
*string ='\0';
string++;
}
return string;
}
void input(char *name, size_t len) {
printf("ローマ字で氏名を%d文字以内で入力してください", len);
printf("ただし、姓と名の間に/を入力してください:");
fgets(name, len, stdin); /* scanf("%s",name); */
}
0748デフォルトの名無しさん
NGNG×printf("ローマ字で氏名を%d文字以内で入力してください", len);
○printf("ローマ字で氏名を%d文字以内で入力してください", len - 1);
うう、なんか他にも色々ミスってる悪寒…
0749デフォルトの名無しさん
NGNG0750デフォルトの名無しさん
NGNG0751デフォルトの名無しさん
NGNG0752デフォルトの名無しさん
NGNG0753(つД`)タスケテクダサイ
NGNG出力結果としては3+4*2と入力すると=11とでるようになってます。
どなたか得意な方お願いします。m(__)m
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1091585218
0754デフォルトの名無しさん
NGNG0755デフォルトの名無しさん
NGNG0756デフォルトの名無しさん
NGNGプログラムの説明↓
>出力結果としては3+4*2と入力すると=11とでるようになってます。
0757(つД`)タスケテクダサイ
NGNG大体でいいのでだれか暇な方お願いしますm(__)m
アルゴリズムってゆーのもよくわからないです(つД`)
0758デフォルトの名無しさん
NGNG0759デフォルトの名無しさん
NGNGそれすらも丸投げしていると(w
0760ほらよクズ
NGNG数字、. 、演算子が入力されたら、
配列 caExpression にそれらの文字を蓄積していく。
蓄積された文字列の長さは ucLength が表す。
0x0d は enter。これか = が来たら計算を始める。
ucLength を 0 にして、もう蓄積されていないことにする。
0x1b は esc。これが入力されたら計算せずにループを抜けて、
"Hit any key.\n" を表示して一文字入力を待って終了。
myMath : 数式を解析して数値に変換して返す関数。
//+,-
文字列を、最初に見つかった + または - の右側と左側に分解し、
それぞれを再帰的に解析し、その結果を + もしくは - で計算して返す。
ただし、*, / の直後のものは数値の符号として扱われる。
//*, /
同様に、左右に分解して解析し、2者の結果を * もしくは / する。
なぜ +, - が先かと言えば、
これら演算子が一番最後に計算されるから
(再帰だから、ずんずん分解していった一番奥が先に計算される)
二つの while を通じて return されなかったということは、
残りは数字と . のみである。
とりあえず数字はどんどん積み重ねる。たとえば 3, 2, 4, ., 2, 5 ときたら、
3 → 32 → 324 → 3242 → 32425 と数を作っていく。これは dAns に格納される。
この過程で . が見つかっているが、見つかって以後何桁きたかを cDecimal に記憶する。
最後に小数点以下の桁数の数だけ、dAns を 10 で割り、値を返す。
きちんとした理解は、もう紙に書いて実践してみるっきゃないな。
0761デフォルトの名無しさん
NGNGエラーが出ましたよ。
>>736
ファイル名が%sになりますよ
0762デフォルトの名無しさん
NGNG?
0764(つД`)タスケテクダサイ
NGNGありがとう(つД`)タスカリマスタ
でもクズっていうことないじゃん(´・ω・`)ショボーン
0765デフォルトの名無しさん
NGNG0766デフォルトの名無しさん
NGNGえ、クズ以外の何者?
0767デフォルトの名無しさん
NGNGクズもあつまれば再利用できるかもしれん
だが764は無駄飯を食らうだけだ
0768デフォルトの名無しさん
NGNG0769デフォルトの名無しさん
NGNG制作者にはソースそのものがコメント文のように働き、
他人にはソースがマシン語のごとく見える。
0770デフォルトの名無しさん
NGNGプログラムソースは、
制作者にはソースそのものがコメント文のように働き、
他人にはコメントがマシン語のごとく見える。
0771デフォルトの名無しさん
NGNG0772デフォルトの名無しさん
NGNG関数・変数名には日本語使えないし
0773デフォルトの名無しさん
NGNG0774デフォルトの名無しさん
NGNGとりあえずC言語使うの向いてないよ。
http://hima.chu.jp/
コレでも使っててください。
0775デフォルトの名無しさん
NGNGわざわざすまないな
貴様のレス見て荒らしに変貌したくなってきた
0776デフォルトの名無しさん
NGNG自分がまだ荒らしじゃないと思ってるあたりが笑える
0777デフォルトの名無しさん
NGNGそりゃそうだ
漏れがここに書き込んだの772で3回目だし
0778デフォルトの名無しさん
NGNGなんていってる時点でもう素質十分でっせ
0779デフォルトの名無しさん
NGNG0780デフォルトの名無しさん
NGNG俺、関数名と変数名つけるの苦手だわ。。。
0781772
NGNGあれは「英語で名前付けるのが苦手」って意味にとってくれ
マジで一瞬馬鹿にされたんかと思った(っていったら作者に失礼か)
自分でも混乱していたらしいマジすまなかった
んじゃROMに戻るよ
0782デフォルトの名無しさん
NGNG0783デフォルトの名無しさん
NGNG0784デフォルトの名無しさん
NGNG日本語の勉強をしろ。
0785デフォルトの名無しさん
NGNG0786デフォルトの名無しさん
NGNG0787デフォルトの名無しさん
NGNG0788デフォルトの名無しさん
NGNGびっくりするほど現わ連呼!
0789デフォルトの名無しさん
NGNG0790デフォルトの名無しさん
NGNG0791デフォルトの名無しさん
NGNG0792デフォルトの名無しさん
NGNG0793デフォルトの名無しさん
NGNG質問の仕方を教えるスレだしな。
0794デフォルトの名無しさん
NGNG0795デフォルトの名無しさん
NGNG0796デフォルトの名無しさん
NGNGそれは,リンクに失敗したということですか?
それはそういう仕様だから大丈夫。
何も心配することはありません。
課題の条件は満たしているので,自信を持って提出してください。
0797デフォルトの名無しさん
NGNG名前は命。
0798デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1087209526/
0799デフォルトの名無しさん
NGNGclass _2ch
{
int val;
int* pval;
public:
_2ch(int i){val=i;pval=&val;};
}
このクラスで、時々pvalと*valが違う値を示すのですがヽ(`Д´)ノ
0800デフォルトの名無しさん
NGNGそら、コンストラクト時には違う値だろう。
0801デフォルトの名無しさん
NGNGクマキボン
0802デフォルトの名無しさん
NGNG>このクラスで、時々pvalと*valが違う値を示すのですがヽ(`Д´)ノ
このクラスで、時々pvalと&valが違う値を示すのですがヽ(`Д´)ノ
0803デフォルトの名無しさん
NGNGpvalと&valが違う値になります
0804デフォルトの名無しさん
NGNGだからそれも常にだって。たまになわけがない。釣り?
クマキボン
0805デフォルトの名無しさん
NGNG確認してくる!!
0806デフォルトの名無しさん
NGNG・入力されたデータから身長と体重の最大、最小値と平均値を性別ごとに求めるプログラムを作ってください。
・番号を入力することで、その人の身長、体重、性別の各データを表示できるようにしてください。
この時、次の式を使って、標準体重からの差も表示しなさい。
標準体重 = (身長-100)x0.9
身長は150cmから180�a�b
体重は45�`�cから90�`�c
の範囲で生成せきるようにしてください。
性別は男性:0,女性:1としてください。
データは以下の構造体を用いてください。
struct person{
int number;
int height;
int weight;
int sex;
}
int main()
{
struct person data[20];
return 0;
}
0807デフォルトの名無しさん
NGNGそんな確認のしようがないもの春な。
きちんと現象が出る状態のソースを腫れ、このバカ。
0808デフォルトの名無しさん
NGNGやっぱり値が違う!!!!!
800〜804は逝ってよし
以下にソースを↓
0809デフォルトの名無しさん
NGNG0810デフォルトの名無しさん
NGNG#include <iostream>
using namespace std;
class _2ch
{
int val;
int* pval;
public:
_2ch(int i){val=i;pval=&val;};
int* GetAddressOfVal(){return &val;};
int* GetPval(){return pval;};
_2ch copy(){
_2ch c(val);
return c;
};
_2ch& operator=(_2ch& c){
cout<<c.GetAddressOfVal()<<endl;
cout<<c.GetPval()<<endl;
val=c.val;
pval=&val;
return *this;
};
};
0811デフォルトの名無しさん
NGNGint main()
{
_2ch c0(0);
_2ch c1(0);
c0=c1.copy();
return 0;
}
0812デフォルトの名無しさん
NGNGキタ━(゚∀゚)━キタ━
0813デフォルトの名無しさん
NGNG>int* GetAddressOfVal(){return &val;};
何これ?
お前って池沼?
0814デフォルトの名無しさん
NGNG0815デフォルトの名無しさん
NGNG0816デフォルトの名無しさん
NGNG正直自身あったのに、、、、
0817デフォルトの名無しさん
NGNGどう違うと言っているのかすら分からん。
順を追ってネタを説明してみろ。
0818デフォルトの名無しさん
NGNGc0=c1.copy()は、
1)c1.copy()
2)c0=
の順に実行されます。
問題は2)で
2ch& operator=(_2ch& c)の引数cのpvalと&valが違う値になります(`Д´)ウワーン
0819デフォルトの名無しさん
NGNG0820デフォルトの名無しさん
NGNGこれの回答解る方おられますか?
正解の回答だけでいいので教えて下さい。
数学板は人が少ないようなのでこっちに来てしまいました。
センター試予想問題です。
スレ違いでごめんなさい。
0821デフォルトの名無しさん
NGNG0822デフォルトの名無しさん
NGNGCの人間はBASICと数学解らんから他スレ行っとけ
0823デフォルトの名無しさん
NGNGBASICスレで聞けばいいのに
0824デフォルトの名無しさん
NGNG403 アクセスを拒否されました
0825デフォルトの名無しさん
NGNGこんなプログラム書いたヤシは落第です。
0826デフォルトの名無しさん
NGNG0828デフォルトの名無しさん
NGNGコピーコンストラクタが無いからだよ。
_2ch(const _2ch &c)を追加しる。
0829デフォルトの名無しさん
NGNGじゃあ先生に注意してください
Nに文字入れたときもエラーでるよ
0830デフォルトの名無しさん
NGNGだから数字も文字なんだってば。
>>820
Basicでプログラム書いて実行してみればいいだろ。
或いはこのスレ的にはだれかCに移植するかもしれないけど。
#単純すぎるから私はやらない。
##って書くと、できないからだとか言われそうだが。
0831デフォルトの名無しさん
NGNG(1)
3
(2)
1) 1 1
2) 1 2
3) 2 1
(3)
10) 4 1
20) 5 2
27) 6 2
(4)
7
19
センター試験受ける気ならこの程度の問題自分で解け。まぁ、その気はないんだろうけど・・・。
あと、こんなの板違いで聞かないように。(特に数学板。)はずかしい。
0832デフォルトの名無しさん
NGNG#include <stdio.h>
#define $A$ /* (1) */
int main()
{
int n, s = 0, k, x, y;
printf("n="), scanf("%d", &n); /* INPUT "n=";N */
s = 0; /* S = 0 */
for(k = 2; k <= n; k++){ /* FOR K=2 TO N */
for(x = 1; x <= $A$; x++){ /* FOR X=1 TO [ア] */
y = k - x, s++; /* Y = K - X : S = S + 1; */
printf("%d) %d %d\n", s, x, y); /* PRINT S;") ";X;Y */
} /* NEXT X */
} /* NEXT K */
return 0; /* END */
}
BASIC知らないからミスがあるかもしれない
0833デフォルトの名無しさん
NGNG2)また、このプログラムを改良して文字列中の何文字目に指定された文字が含まれているのかを答えるプログラムを作成してください。
3)入力された文字列中の文字を逆順に複写し、出力するプログラムを作成してください。
0834デフォルトの名無しさん
NGNG#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int
main()
{
char c;
string s;
cout << "文字列 : ";
getline( cin, s );
cout << "文字 : ";
cin >> c;
// (1)
cout << count( s.begin(), s.end(), c ) << "個" << endl;
// (2)
string::iterator i;
for( i = s.begin(); i != s.end(); ++ i )
if( c == *i ) cout << distance( s.begin(), i ) + 1 << "番目" << endl;
// (3)
reverse( s.begin(), s.end() );
cout << s << endl;
return 0;
}
0835デフォルトの名無しさん
NGNGhttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=199
0836デフォルトの名無しさん
NGNGgcc 3.4.0 で試してみた。
なるほど、このコードだと copy() から _2ch を返す時に
「見えないインスタンス」を別に作っているようだね。
コピーコンストラクタを書いていないから、デフォルトのコピーコンストラクタにより
pval がその値のままコピーされている。
だから operator = () の中の c の pval と &val は違う値になるんだ。
# この時,*(c.pval) をいじるのは危険だろうね。おそらく前のインスタンスは
# 破棄されているはずだ。つっても、ここで pval は const int * 型のはずだけど。
>828 の言う通りコピーコンストラクタを明示的に書いておくと、
今度は「見えないインスタンス」を生成せず、copy() の中で作った c を
そのまま返してくるのな (;´Д`)
コピーコンストラクタを書いたはずなのに呼び出されないから、焦った。
コピーコンストラクタの呼び出しを省略するのは C++ の仕様の範疇だ (ったと思う)。
次に、コピーコンストラクタを書かず、代わりにデストラクタを書いてみた。
すると、copy() の中の c をそのまま返してきた (;´Д`)
前段落のように、コピーコンストラクタを明示的に書いておいた時のようにね。
これも C++ の仕様だったっけ?
0837デフォルトの名無しさん
NGNG0838デフォルトの名無しさん
NGNG整数nを入力し、n個の乱数を発生して、大きさの昇順のリンク付きリストにせよ
またそのリストの内容を降順に出力せよ。
0839デフォルトの名無しさん
NGNG>copy() から _2ch を返す時に
>「見えないインスタンス」を別に作っているようだね。
そんな当然のことを,何わざわざ語ってるんだ?
返り値が値渡しなんだから当然だろ。
>copy() の中で作った c を そのまま返してくるのな
これ,考え方が逆。
最適化のスイッチが入って,返り値用に確保してある領域(=_2chのインスタンス)を
そのまま内部変数cとして使うようになっただけ。
0840デフォルトの名無しさん
NGNG0841デフォルトの名無しさん
NGNGただし、main関数では適当なデータをキー入力し、関数を呼び出した後は、x^nの値を出力せよ
このプログラミングをC言語で作成していただけたら助かります。
さらに以下のような感じに仕上げてもらえたら、さらに助かります
#include<stdio.h>
float func(float *a, float *b, float *x){
*x = -(*b)/(*a);
return 0;
}
float main(void)
{
float a=-10,b=1,kai;
func(&a, &b, &kai);
printf("a = %f\n", a);
printf("b = %f\n", b);
printf("kai = %f\n", kai);
return 0;
}
0842デフォルトの名無しさん
NGNGconst とポインタを理解し直せ
0843デフォルトの名無しさん
NGNG0844デフォルトの名無しさん
NGNGfloat func(const float a, const int b){
float x = 1.0;
int i;
for (i = 0; i < b; i++) x *= a;
return x;
}
float main(void)
{
float a = -10.0, kai;
int b = 2
kai = func(a, b);
printf("a = %f\n", a);
printf("b = %d\n", b);
printf("kai = %f\n", kai);
return 0;
}
0845デフォルトの名無しさん
NGNG0846デフォルトの名無しさん
NGNGワロタ
0847デフォルトの名無しさん
NGNG0848デフォルトの名無しさん
NGNGかなり適当.
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=200
0849デフォルトの名無しさん
NGNGそもそもfloatってdouble使えない環境以外では使わないだろ
そもそもfloatってdouble使えない環境以外では使わないだろ
そもそもfloatってdouble使えない環境以外では使わないだろ
そもそもfloatってdouble使えない環境以外では使わないだろ
そもそもfloatってdouble使えない環境以外では使わないだろ
そもそもfloatってdouble使えない環境以外では使わないだろ
そもそもfloatってdouble使えない環境以外では使わないだろ
0850デフォルトの名無しさん
NGNG0852デフォルトの名無しさん
NGNG☆ チン 〃 ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ヽ ___\(\・∀・)< 宿題マダー?
\_/⊂ ⊂_)_ \____________
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄/|
|  ̄  ̄ ̄ ̄ ̄ ̄ ̄:| |
| 淡路たまねぎ .|/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0853デフォルトの名無しさん
NGNGfloatはdoubleからの変換の手間がかかるから遅いって聞いた
あれ?64bitじゃなくて80bitだっけ?
0854デフォルトの名無しさん
NGNG一回インテルのマニュアルでも読んできたら?
0855デフォルトの名無しさん
NGNGちょっと量が多いな3行にできないか
0856デフォルトの名無しさん
NGNG凄まじいアフォだな
0857デフォルトの名無しさん
NGNG0858デフォルトの名無しさん
NGNG環境を特定しないと答えようがないだろ
0859デフォルトの名無しさん
NGNG0860デフォルトの名無しさん
NGNGいわれたんだけど、意味わかんない。誰か助けて。UNIXでやってます。
0861デフォルトの名無しさん
NGNG#include <stdio.h>
int compare(int (*p)(const char *, ...), int (*q)(const char *, ...))
{
return p == q;
}
int main(void)
{
return compare(printf, scanf);
}
0862デフォルトの名無しさん
NGNG0863デフォルトの名無しさん
NGNGint main()
{
char szStr[256];
printf("文字列を入れろや、ボケ教授が!!\n");
scanf("%s", szStr);
printf("お前が入力したのは、「%s」だ。馬鹿野郎。\n", szStr);
return 0;
}
0864デフォルトの名無しさん
NGNG$ scanf
zsh: command not found: scanf
0865デフォルトの名無しさん
NGNGI am scanf.
メモリアロケートエラー
command.comが停止しました
0866デフォルトの名無しさん
NGNGw
0867デフォルトの名無しさん
NGNG#include <stdio.h>
void main( void ){ scanf( "" ); printf( "" ); }
0868デフォルトの名無しさん
NGNG0869デフォルトの名無しさん
NGNG0870デフォルトの名無しさん
NGNG0871デフォルトの名無しさん
NGNG0872デフォルトの名無しさん
NGNG0873デフォルトの名無しさん
NGNG0875デフォルトの名無しさん
NGNG>>828,836,839
分かりました!!!!!
ありがとうございますm(__)m
ってか,俺もc++には自信があったんだが(-_-;)(-_-;)
0876デフォルトの名無しさん
NGNG悪いのは頭だけではないようですね
0877デフォルトの名無しさん
NGNGいや,ネタではなく俺は間違いなくできるほうだ!!
周りはクラスすら理解していない厨房ばかり
0878デフォルトの名無しさん
NGNG0879デフォルトの名無しさん
NGNGまるで自分がクラスを理解出来ているかのような言い方ですね
0880デフォルトの名無しさん
NGNG出来てると勘違いしてる輩は、問題点を別の個所に求めるから余計にタチが悪い。
OS・コンパイラ・ライブラリのバグだ!とかな。
0881デフォルトの名無しさん
NGNG0882デフォルトの名無しさん
NGNG0883デフォルトの名無しさん
NGNGまず探索に O(logN)かかること
例えばハッシュならば O(1) で検索が実行できる。
次に表を昇順にソートしておく必要があるため、
要素を頻繁に挿入・削除される場合、再ソートのオーバーヘッドが大きくなること。
0884デフォルトの名無しさん
NGNG0885デフォルトの名無しさん
NGNGつまり時間がかかるということですか?
0886デフォルトの名無しさん
NGNG色々なサーチやソートの方法があるのはそれぞれ一長一短があるから。
0887デフォルトの名無しさん
NGNGこの計算結果を表示するプログラムを作成せよ。
ただし、filename.exe -tekitou の様に、それぞれの(x,y)の値における
計算結果を返すようにコマンドラインで引数を任意に指定せよ。
0888デフォルトの名無しさん
NGNGいまいち入力フォーマットがわからんがコレで良い?
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char* argv[])
{
if (argc < 3) return 1;
printf("%d + %d = %d\n", atol(argv[1]), atol(argv[2]), atol(argv[1]) + atol(argv[2]));
return 0;
}
0889デフォルトの名無しさん
NGNG☆ チン 〃 ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ヽ ___\(\・∀・)< 宿題マダー?
\_/⊂ ⊂_)_ \____________
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄/|
|  ̄  ̄ ̄ ̄ ̄ ̄ ̄:| |
| 淡路たまねぎ .|/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0890デフォルトの名無しさん
NGNGそれは違うと思う
0891デフォルトの名無しさん
NGNG// filename [0..2]
#include <stdio.h>
int main(int argc,char* argv[])
{
&sp;struct{
&sp;&sp;int x,y;
&sp;}tbl[3]={{2,0},{10,9},{12,4}};
&sp;unsigned int c=argv[1][0]-'0';
&sp;if(c<3)printf("%d",tbl[c].x+tbl[c].y);
&sp;return 0;
}
0892デフォルトの名無しさん
NGNG0893デフォルトの名無しさん
NGNG0894デフォルトの名無しさん
NGNG0895デフォルトの名無しさん
NGNG[a]
[n]
[k]
[o]
[\0]
0896デフォルトの名無しさん
NGNGPCTSTR pszHoge = TEXT("HOGE");
0897デフォルトの名無しさん
NGNG0898デフォルトの名無しさん
NGNG0899デフォルトの名無しさん
NGNG0900デフォルトの名無しさん
NGNG(読み込むファイル形式:input.txt)
576 名前: 名無しさん 投稿日: 04/08/06 19:40 ID:aospsRua
ごにょごにょ
577 名前: 名無しさん 投稿日: 04/08/06 19:41 ID:1Y+s4rjs
ごにょごにょごにょにょ
↑のような形式のファイル input.txt があります。
これを読み込み【ID:】以下の文字列(8文字)を読み込み、
同じIDがあればその重複回数をカウントして重複数の多い順に
output.txt に出力するプログラムを作成してくだせ。
出力する際は、そのIDが全体のレス数のうちどのくらい占めているかをあらわす%も付け加えて出力。
入力に関しては読み込むファイル名をコマンドラインで指定するだけというのがうれしいです。
outputの形式は以下参照
(出力ファイル形式:output.txt)
ID NUM %
aospsRua 10 15.3%
1Y+s4rjs 2 3.2%
0901900
NGNG(出力ファイル形式:output.txt)
ID(tab)NUM(tab)%
aospsRua(tab)10(tab)15.3%
1Y+s4rjs(tab)2(tab)3.2%
うえのように(tab)をTAB(4文字スペース?)であけてください。
みにくくてスマンです。
0902デフォルトの名無しさん
NGNG0903デフォルトの名無しさん
NGNG実験用のファイル用意するの面倒くさかったから予め変数に格納してるけど、
strtokとか取りさって、fgetsでファイルから行を取得するように変更しといて。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=201
俺、STL自体あんまり使わなくて使い方下手くそなので、
そこは叩かないように
0904デフォルトの名無しさん
NGNG0905デフォルトの名無しさん
NGNGどもありがとうございました。
0906デフォルトの名無しさん
NGNG0907デフォルトの名無しさん
NGNG『プロセス間通信及びマルチスレッドプログラミングにはどのような物があるか調査し、
簡単なプログラムを作成する』
って課題出たんですけど、何作ればいいと思いますか?
やり方は2つともわかるけど、具体例が思いつかなくてOTL
0908デフォルトの名無しさん
NGNG0909デフォルトの名無しさん
NGNG0910907
NGNGちなみに科目はOS、概念だけしかやってないから、あまり高度な事は期待していないと思う
ローカル上で真似事をするようなのは構わないかも知れないけど、
実際に接続できるような物作ろうとすると、こっちも時間足りないし
0911デフォルトの名無しさん
NGNGローカルでやる、実際に接続、どちらも同じ。
喪前、理解度低すぎで不合格。
0913デフォルトの名無しさん
NGNGやり方がわかるなら、そのやり方をプログラムにするだけだ。
経過の表示をグラフィカルに表現すれば、そこそこのヴァリュームで見栄えもよいだろな。
0914デフォルトの名無しさん
NGNG0915デフォルトの名無しさん
NGNG>具体例が思いつかなくて
具体例を調査してレポート作成するのも宿題じゃないのか?
0916デフォルトの名無しさん
NGNG0917907
NGNGいや、スレッドとかプロセス間通信なんて、技巧の1つでしかないから、具体例いっぱいありすぎて
逆にスレッドがメインであるようなのは…………正直サーバ・クライアント系だけど、
それ前の課題で似たようなの出てたのよ
その辺りもうちょっと突き詰めれば、そっちは可能かもしれないけど……云々
多分俺の理想が高すぎるだけ
楽しようとしなければ、全然平気(?)
0918907
NGNGwin 系なら幾らでもつなげられるけど、unix 系だから、やった事なくて
0919デフォルトの名無しさん
NGNGそれでプロセス間通信てのはどーやってやんだ?
それで理想が高すぎるって…噴飯ものw
0920デフォルトの名無しさん
NGNG0921デフォルトの名無しさん
NGNG0922デフォルトの名無しさん
NGNGpipeでもつかえばー?
0923デフォルトの名無しさん
NGNG0924デフォルトの名無しさん
NGNGint main (void){
int x[10]={1,2,3,4,5,6,7,8,9,10};
int *y,i;
y=x+2;
for(i=0;i<10;i++){
printf("x[%d]=%d\n",i,*y);
y++;
}
return (0);
}
このプログラムでx[0]のアドレスを(y=x)の時は問題ないのですがx[2]のアドレス(y=2)を出力
しようとするとx[0]=3から出力されるのですが、x[8],x[9]あたりで変な値が出て困ってます。
int x[10]の最後の値 10で止まるようなプログラムの場合はどうしたらよいのでしょうか?
どなた様かお力を貸してください。
0925デフォルトの名無しさん
NGNGポインタが理解出来ていないのが原因。セグフォ。
0926デフォルトの名無しさん
NGNGyに代入されると思ってないか?(そんなMathematicaじゃあるまいし)
y=x+2でyはx[2]を指す。y++;でx[3],x[4]…と指す先が変わって
いくからyがx+10になった時点でおかしくなるのは当たり前だ。
何をしたいのか分からん。
0927デフォルトの名無しさん
NGNG0928デフォルトの名無しさん
NGNG質問の仕方が悪かったと思います。スイマセン
このプログラムを実行すると
x[0]=3
x[1]=4
x[2]=5
x[3]=6
x[4]=7
x[5]=8
x[6]=9
x[7]=10
x[8]=1245120
x[9]=4199081
となります。これをx[7]=10で止めるようなプログラムを作成して
いただきたいのですが
0929デフォルトの名無しさん
NGNGint main (void){
int x[10]={1,2,3,4,5,6,7,8,9,10};
int *y,i;
y=x+2;
while(y <= &x[9]){
for(i=0;i<10;i++){
printf("x[%d]=%d\n",i,*y);
y++;
}
return (0);
}
0930しくったorz
NGNGint main (void){
int x[10]={1,2,3,4,5,6,7,8,9,10};
int *y,i;
y=x+2;
while(y <= &x[9]){
printf("x[%d]=%d\n",i,*y);
y++;
}
return (0);
}
0931デフォルトの名無しさん
NGNG愛はどうした?
0932デフォルトの名無しさん
NGNGそんなものいらない
0933デフォルトの名無しさん
NGNG寂しい奴だな
0934デフォルトの名無しさん
NGNG0935デフォルトの名無しさん
NGNG解答のほどありがとうございます。
ですが930さんのプログラムを実行させていただきますと
iがないのでxの中身が変になりました。
x[-858993460]=3
x[-858993460]=4
x[-858993460]=5
x[-858993460]=6
x[-858993460]=7
x[-858993460]=8
x[-858993460]=9
x[-858993460]=10
0936デフォルトの名無しさん
NGNG0937デフォルトの名無しさん
NGNG0938デフォルトの名無しさん
NGNG0939926
NGNGx[0]=3
x[1]=4
…
となっていてもx[0]==1、x[1]==2…のままだぞ。それは分かってるのか?
それでいいなら
#include <stdio.h>
int main (void){
int x[10]={1,2,3,4,5,6,7,8,9,10};
int *y,i;
y=x+2;
for(i=0;i<10-2;i++){
printf("x[%d]=%d\n",i,*y);
y++;
}
return 0;
}
でいいんじゃないのか?
0940926
NGNG0941デフォルトの名無しさん
NGNG表示はそのままでよかったです。
ホントありがとうございました。
助かったです。
0942デフォルトの名無しさん
NGNG身体測定のデータ処理を行いたい。番号(2桁の整数)と身長、体重、性別のデータを持つ構造体を作り20人分のデータを扱えるようにしてください。
・入力されたデータから身長と体重の最大、最小値と平均値を性別ごとに求めるプログラムを作ってください。
・番号を入力することで、その人の身長、体重、性別の各データを表示できるようにしてください。
この時、次の式を使って、標準体重からの差も表示しなさい。
標準体重 = (身長-100)x0.9
身長は150cmから180�a�b
体重は45�`�cから90�`�c
の範囲で生成せきるようにしてください。
性別は男性:0,女性:1としてください。
データは以下の構造体を用いてください。
struct person{
int number;
int height;
int weight;
int sex;
}
int main()
{
struct person data[20];
return 0;
}
0943デフォルトの名無しさん
NGNGそれ最近みたぞ
0944デフォルトの名無しさん
NGNGここだ
>>806
0945デフォルトの名無しさん
NGNG0946デフォルトの名無しさん
NGNGC言語をやってみようと思い作ってみますた
エラーなどは自分で治してください
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=300
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=301
0947デフォルトの名無しさん
NGNG0948デフォルトの名無しさん
NGNGテキストファイルに、1〜nまでの素数を書き込む関数fileSosu()を作成せよ。
void fileSosu( char *fileName, int n )
・fileName : 素数を書き込むファイル名
・n : 素数を求める最大数
上記の関数を以下のプログラムで実行し1〜100までの素数がファイルに出力されたか動作を確認せよ。
#include <stdio.h>
//ここにfileSosu()関数を書く。
void main()
{
//ファイル名を格納する文字列
char wFileName[20];
printf("素数を出力するファイル名=");
//ファイル名をキーボードから入力する
scanf("%s", wFileName );
fileSosu( wFileName, 100 );
}
前すれで聞いた時は流れてしまって、でっちあげて提出したら「お前がやるのは再提出問題で、これは元になった問題の回答だ」と言われました
元になった問題も張りますので、どうにかお助けを_| ̄|○
ttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=302
0949デフォルトの名無しさん
NGNG{
FILE *fp;
int *prime, i, j;
fp = fopen(fileName, "w");
if(fp == NULL) return;
prime = calloc(sizeof(int), n+1);
if(prime == NULL) return;
for(i = 2; i <= n; i++){
for(j = i * 2; j <= n; j += i)
prime[j] = 1;
if(prime[i] == 0){
if(i > 2) fputc('\n', fp);
fprintf(fp, "%d", i);
}
}
fclose(fp);
free(prime);
return;
}
こんな感じか?
0950デフォルトの名無しさん
NGNGvoid fileSosu(char *const filename, const int n)
{
int i;
FILE *out = fopen(filename, "w");
for(i = 2; i <= n; i++)
{
int j;
for(j = 2; j < i; j++)
if(i % j == 0)
goto not_prime;
fprintf(out, "%d\n", i);
not_prime:;
}
fclose(out);
}
0951950
NGNG欝だ死のう
0952デフォルトの名無しさん
NGNG合成数でもふるいを更新するならフルイのアルゴリズムの利点が無くないか?
0953デフォルトの名無しさん
NGNGあ
orz
0954デフォルトの名無しさん
NGNG...
}
↓
for(i = 2; i <= n; i++){
if(prime[i] == 0){
for(j = i * 2; j <= n; j += i)
prime[j] = 1;
if(i > 2) fputc('\n', fp);
fprintf(fp, "%d", i);
}
}
これで大丈夫かなぁ・・・
0955デフォルトの名無しさん
NGNGC/C++の宿題を片づけ作戦指令 30代目
http://pc5.2ch.net/test/read.cgi/tech/1091954342/
0956デフォルトの名無しさん
NGNG0957956
NGNG#include <vector>
#include <set>
#include <map>
#include <algorithm>
#include <time.h>
#include <stdio.h>
#include <unistd.h>
#include <pthread.h>
#include <signal.h>
class FDS : public std::set<int> {
private:
fd_set fds;
iterator it;
public:
int fd_max() const { return *max_element(begin(),end()); }
fd_set *fdset(){
it=begin();
FD_ZERO(&fds);
iterator itt;
for(itt=begin();itt!=end();++itt){
FD_SET(*it,&fds);
}
return &fds;
}
int active_fd(){
for(;it!=end();++it)
if( FD_ISSET(*it,&fds) ) return *it++;
return -1;
}
};
0958956
NGNGpthread_mutex_t mutex;
pthread_cond_t cond, finish;
int count, nmenber;
void join(){
pthread_mutex_lock(&mutex);
if( ++count!=nmenber ) pthread_cond_wait(&cond,&mutex);
else pthread_cond_broadcast(&cond);
pthread_mutex_unlock(&mutex);
}
void oneless(){
pthread_mutex_lock(&mutex);
if( count==--nmenber ) pthread_cond_broadcast(&cond);
pthread_mutex_unlock(&mutex);
}
void onedead(){
pthread_mutex_lock(&mutex);
if( !--count ) pthread_cond_broadcast(&finish);
pthread_mutex_unlock(&mutex);
}
bool end(){ return count<2; }
void wait(){
pthread_mutex_lock(&mutex);
pthread_cond_wait(&finish,&mutex);
pthread_mutex_unlock(&mutex); }
} thread_starter = { PTHREAD_MUTEX_INITIALIZER, PTHREAD_COND_INITIALIZER, PTHREAD_COND_INITIALIZER,
0 };
0959956
NGNGpthread_t th;
int pipe[2];
};
std::vector<thread_data*> vec_thread;
time_t base_sec = 0;
const char*const msg[] = {
"%dは%dに斬りかかった",
"%dは%dに銃口を向けた",
"%dは%dに呪文を唱えた",
"%dは%dにぬるぽ",
"%dは%dにガッ!",
};
0960956
NGNGpthread_mutex_t mystart_mutex = PTHREAD_MUTEX_INITIALIZER;
thread_data *arg = (thread_data*)input;
thread_data *data;
int nwrite;
sigset_t sigset;
sigemptyset(&sigset);
sigaddset(&sigset,SIGTERM);
sigprocmask(SIG_BLOCK, &sigset, NULL);
thread_starter.join();
do{
sleep(rand()%5+1);
sigpending(&sigset);
time_t sec;
int len;
char buf[100];
sec=time(0)-base_sec;
write(arg->pipe[1],&sec,sizeof(time_t));
0961956
NGNGsnprintf(buf,sizeof(buf),"%dが生き残った",arg->th);
}else if( sigismember(&sigset,SIGTERM) ){
snprintf(buf,sizeof(buf),"%dは死んだ",arg->th);
}else{
data = vec_thread[rand()%vec_thread.size()];
if( arg != data )
snprintf(buf,sizeof(buf),msg[rand()%(sizeof(msg)/sizeof(msg[0]))],arg->th,data->th);
else
snprintf(buf,sizeof(buf),"%dは身を投げた!!!",arg->th);
if( pthread_kill(data->th, SIGTERM) )
strcat(buf," ミス");
};
len=strlen(buf)+1;
write(arg->pipe[1],&len,sizeof(int));
write(arg->pipe[1],buf,len);
}while( !thread_starter.end() && !sigismember(&sigset,SIGTERM) );
close(arg->pipe[1]);
thread_starter.onedead();
return NULL;
}
0962956
NGNGstd::multimap<time_t,char*> map_log;
while( fds.size() ){
int nsel;
if( 0<(nsel=select(fds.fd_max()+1,fds.fdset(),NULL,NULL,NULL)) ){
int fd;
while( (fd=fds.active_fd())>=0 ){
time_t sec;
int msglen;
char *msg;
int nread;
read(fd,&sec,sizeof(time_t));
read(fd,&msglen,sizeof(int));
msg = new char[msglen];
nread=read(fd,msg,msglen);
if( nread > 0 ){
map_log.insert(std::make_pair(sec,msg));
}else{
fds.erase(fd);
close(fd);
}
}
}
}
std::multimap<time_t,char*>::iterator it;
for(it=map_log.begin();it!=map_log.end();++it){
printf("%03dターン: %s\n",it->first,it->second);
}
return;
}
0963デフォルトの名無しさん
NGNG0964956
NGNGsrand(time(0));
int count;
FDS fds;
std::vector<thread_data*>::iterator it;
if( argc<2 ){
fprintf(stderr,"Usage:%s [thread_count]\n",argv[0]);
return 1;
}
for(count=atoi(argv[1]);count;--count){
thread_data *data;
data=new thread_data;
pipe(data->pipe);
vec_thread.push_back(data);
fds.insert(data->pipe[0]);
}
thread_starter.nmenber=fds.size();
pid_t pid=fork();
if( pid<0 ){
abort();
}else if(pid>0){
pid=fork();
if(pid<0) abort();
else if(pid>0) return 0;
for(it=vec_thread.begin();it!=vec_thread.end();++it){
close((*it)->pipe[1]);
delete *it;
}
vec_thread.clear();
log_process(fds);
return 0;
}
0965956
NGNGsetpgid(0,0);
for(it=vec_thread.begin();it!=vec_thread.end();++it){
thread_data *data=*it;
close(data->pipe[0]);
if( pthread_create(&(data->th), NULL, student_thread, data) ){
close(data->pipe[1]);
delete data;
vec_thread.erase(it);
thread_starter.oneless();
continue;
}
}
time(&base_sec);
thread_starter.wait();
return 0;
}
0967デフォルトの名無しさん
NGNG(:.;゚;Д;゚;.:)ハァハァ
0968907
NGNG�dクス
でも、HttpDownLoader(偽) と簡易シェルを作って終わりにしちった
許してくれ
ちなみに、使用可能なのは C であって、C++ ではないらしい
とても愉快なうちのPCルーム
0969デフォルトの名無しさん
NGNG0970デフォルトの名無しさん
NGNGところで,何がコンパイルできないとお悩みじゃ,お若いの?
0971デフォルトの名無しさん
NGNG/home/hoge/tmp/ccsX09Q1.o(.text+0x210): In function `student_thread(void*)':
: undefined reference to `pthread_kill'
collect2: ld はステータス 1 で終了しました
gcc3.3.2
コンパイルオプションを教えて.
0972デフォルトの名無しさん
NGNGキミの任務はpthread用のライブラリをリンクすることだ。
リンカオプション -lpthread を活用したまへ。
0973デフォルトの名無しさん
NGNG0974工房
NGNGプロトタイプ宣言、int Power(int num);
ハテハテ・・・
0975デフォルトの名無しさん
NGNGint X;
int Power(int num);
int main(void)
{
X = 2;
int n = 10;
printf("%d^%d=%d\n", X, n, Power(n));
return 0;
}
int Power(int num)
{
int a;
for(a = 1; num > 0; num--) a *= X;
return a;
}
都合が悪い所は勝手に直せ。
0976デフォルトの名無しさん
NGNG再帰つかえよって問題じゃないのか?
0977デフォルトの名無しさん
NGNGint X;
int Y;
int Power(int num);
int main(void)
{
X = 2;
Y = 10;
printf("%d^%d=%d\n", X, n, Power(1));
return 0;
}
int Power(int num)
{
if(Y > 1)
{
--Y;
num = Power(num * X);
}
return num;
}
0978975
NGNGint Power(int num)
{
if(num == 0) return 1;
return (Power(num - 1) * X);
}
0979デフォルトの名無しさん
NGNGnumが負だったら……南無
0980デフォルトの名無しさん
NGNG0981デフォルトの名無しさん
NGNGint Power(int num)
{
return num <= 0 ? 1 : Power(num-1) * X;
}
0982デフォルトの名無しさん
NGNG0983デフォルトの名無しさん
NGNG0984デフォルトの名無しさん
NGNG{
if(tree!=0){
printf("%d",node[tree].info);
pretrav(node[tree].left);
pretrav(node[tree].rigth);
}
}
この2分木の前順走査の再帰プログラムをアセンブリ言語で直してください。
よろしくお願いします。
0985デフォルトの名無しさん
NGNG内部で完結してないので、無理。
ちなみにアセンブリはすれ違い
0986デフォルトの名無しさん
NGNGアセンブリはすれ違いとは?
前順でABDCEGFHIのアセンブリ言語を作っているんですが。
0987デフォルトの名無しさん
NGNG0988デフォルトの名無しさん
NGNGMIPS に直せばいいんだろ?
提出明日か……がんがれよ
0989デフォルトの名無しさん
NGNGもうむりぽ。
0990デフォルトの名無しさん
NGNGまず node の型と数をはっきりさせる必要がある
これが済めば後はコンパイラにソースコードを作らせればいい
0991デフォルトの名無しさん
NGNG0992デフォルトの名無しさん
NGNG0! が 1 にならないようだが
0993デフォルトの名無しさん
NGNG0994デフォルトの名無しさん
NGNG何言ってんの?
0995デフォルトの名無しさん
NGNG0996デフォルトの名無しさん
NGNG0997デフォルトの名無しさん
NGNG0998デフォルトの名無しさん
NGNG0999デフォルトの名無しさん
NGNG1000999
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。