[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/22 09:08 / Filesize : 317 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C/C++の宿題を片付けます 109代目



1 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 12:30:56 ]
あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他や発言はスルーの方向で。

【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。
・問題文は、出題されたまま全文を書いてください。
・問題文やコードをリンクするときは、一言内容にについて説明をつけましょう.
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。

【質問テンプレ】
[1] 授業単元:
[2] 問題文(含コード&リンク):()
[3] 環境
 [3.1] OS: (Windows/Linux/等々)
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
 [3.3] 言語: (C/C++/どちらでも可 のいずれか)
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)

【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
【C 関数検索 man on WWW】 www.linux.or.jp/JM/index.html
【過去ログ検索】        chomework.sakura.ne.jp/
【wiki】               www23.atwiki.jp/homework/

【前スレ】C/C++の宿題を片付けます 108代目
pc11.2ch.net/test/read.cgi/tech/1211980711/


237 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 18:11:00 ]
>>234
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6863.c

238 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 18:11:34 ]
>>237 は取り消し。早とちりしとった・・・

239 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 18:13:05 ]
[1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク):()
クイックソートにより配列をソートするプログラムを作れ
www2.uploda.org/uporg1474868.txt.html
ネットを参考に書いたのですが、中途半端にしかソートされません
どこが違うのか指摘お願いします
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 2008/6/3まで
[5] その他の制限: とくになし

240 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 18:13:52 ]
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6862.txt
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:2008年06月12日18:00
[5] その他の制限:ポインタまで学習済み


241 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 18:19:03 ]
>>234
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6865.c

242 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 18:19:19 ]
>>234
#include<stdio.h>

int main(void){
char *filename="data.txt";
FILE *fp;
int i, data;
double average=0.0;

if(!(fp=fopen(filename, "r"))) return 1;
for(i=1;i<=1000;i++){
if(fscanf(fp, "%d", &data)!=1) break;
average=(average*(i-1)+data)/i;
}
printf("%f\n", average);

return 0;
}

243 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 18:21:16 ]
[1] 授業単元:プログラム実習
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6866.txt
[3] 環境
 [3.1] OS:windowsXP
 [3.2] コンパイラ名とバージョン: VC6.0
 [3.3] 言語: C++
[4] 期限:なし
[5] その他の制限:なし

問題文はソースの上に記しています

244 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 18:22:29 ]
>>242
一々平均計算しなおすのはどうかと思うぜ。

245 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 19:09:48 ]
【質問テンプレ】
[1] 授業単元:情報ネットワーク論
[2] 問題文(含コード&リンク):
基数変換プログラムを作成しなさい。
「元:2〜16進数(選択)→変換先:2〜16進数(選択)」
という基数の指定ができるようにすること
[3] 環境
 [3.1] OS:Window
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:6月19日まで
[5] その他の制限:基数変換を行う関数や外部プログラム等を用いてはいけない

プログラミング類はやらないと言われていたのに出てしまいお手上げです
よろしくお願いします



246 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 19:15:57 ]
>>240
1.
#include <stdio.h>

int chkmatch(char *t1, char *t2)
{
while(*t2) if(*t1++!=*t2++) return 0;
return 1;
}

int main(void)
{
char t1[256], t2[256], *p;

scanf("%s", t1);
scanf("%s", t2);

for(p=t1; *p; p++) if(chkmatch(p, t2)) break;

printf("%s", *p ? "yes" : "no");

return 0;
}

247 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 19:18:07 ]
>>240
2.
#include <stdio.h>
int chkmatch(char *t1, char *t2){
while(*t2) if(*t1++!=*t2++) return 0;
return 1;
}
char *findstr(char *t1, char *t2){
while(*t1) {
if(chkmatch(t1, t2)==1) return t1;
t1++;
}
return NULL;
}
int main(void){
char *p, *q, *tag, t1[256], t2[256];
scanf("%s%s", t1, t2);
p = t1;
while(*p) {
tag = findstr(p, t2);
if(tag == NULL) {
while(*p++) putchar(' ');
break;
}
while(p!=tag) {
putchar(' ');
p++;
}
for(q=t2; *q; q++, p++) putchar('^');
}
return 0;
}

248 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 19:20:39 ]
>>240
3.
#include <stdio.h>

void swapmax(int *data, int num)
{
int temp, i, max_indx = 0;

for(i=1; i<num; i++) if(data[i] > data[max_indx]) max_indx = i;

temp = data[0];
data[0] = data[max_indx];
data[max_indx] = temp;
}

int main(void)
{
int data[10], i, n;

scanf("%d", &n);

for(i=0; i<n; i++) scanf("%d", data + i);

swapmax(data, n);

for(i=0; i<n-1; i++) printf("%d ", data[i]);
printf("%d", data[i]);

return 0;
}


249 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 19:56:19 ]
>>243
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6867.txt

250 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 20:02:48 ]
>>245
文字列を整数に
int my_strtol(char* str, int base) {
int l, val;
l = 0;
while (*str) {
if (*str >= '0' && *str <= '9') {
val = *str - '0';
}
else if (*str >= 'A' && *str <= 'F') {
val = *str - 'A' + 10;
}
else if (*str >= 'a' && *str <= 'f') {
val = *str - 'a' + 10;
}
// 16進数以外の文字が出たらそれまでの数値を返す
else {
return l;
}
// 基数以上の数値が出たらそれまでの数値を返す
if (val >= base) {
return l;
}
l *= base;
l += val;
str++;
}
return l;
}

251 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 20:03:54 ]
>>245
整数を文字列に
int my_ltostr(int l, int base, char *str, int len) {
int val, mod, i;
val = l;
i = 0;
// 桁数を求める
while (val) {
val /= base;
i++;
}
// 文字数オーバー
if (i > len) {
return -1;
}
str[i + 1] = '\0';
for (; i >= 0; i--) {
mod = l % base;
if (mod >=0 && mod <= 9) {
str[i] = mod + '0';
}
else if (mod >= 10 && mod <= 15) {
str[i] = mod - 10 + 'A';
}
l /= base;
}
return 0;
}

252 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 20:07:08 ]
うpロダ使え

253 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 21:28:14 ]
【質問テンプレ】
[1] 授業単元:自習
[2] 問題文(含コード&リンク):
グレースケール化した画像の0〜3次までのモーメントMpqを求めたいです。
Mpq = ΣΣ((x-xx)^p)*((y-yy)^q)*f(x,y)
xx = M10/M00 = ΣΣx*f(x,y) / ΣΣf(x,y)
yy = M01/M00 = ΣΣy*f(x,y)/ ΣΣf(x,y)

数式の記述はこちらのほうが見やすかったです
mikilab.doshisha.ac.jp/dia/research/person/shuto/research/0605/tokutyo.html

[3] 環境
 [3.1] OS: CentOS5.0
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限:6/14
[5] その他の制限: 特になし
使っている画像の種類はpgmです。
よろしくお願いいたします。

254 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 21:35:30 ]
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):int a[4]={30,15,60,5}を昇降に並び替える。(ポインタ使用)
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 6月11日11:00まで
[5] その他の制限: ポインタ・再帰まで学習済み。

関数部分でif文で左右を比較し、whileかfor文を用いて繰り返すことはわかったのですが、どう書いていいかわかりません。お願いします。

255 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 21:37:40 ]
>>245
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6868.c
10進数をn進数に変換するのみ。10進数以外は適当に
一度10進数にしてから変換し直す仕組みでも作って下さい ><;



256 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 21:46:44 ]
>>254
#include <stdio.h>
#include <stdlib.h>

static int cmp(const void*a, const void*b) {
return *(int*)a < *(int*)b ? -1: *(int*)a > *(int*)b ? 1 : 0;
}

int main(void) {
int a[4] = {30, 15, 60, 5};
qsort(a, sizeof a/sizeof *a, sizeof *a, (int(*)(const void*, const void*))cmp);
return 0;
}

257 名前:デフォルトの名無しさん [2008/06/11(水) 21:51:11 ]
1] 授業単元:C言語
[2] 問題文(含コード&リンク):西暦yy年mm月dd日と(文字には1から12の数字が入る)入力するとその日の昨日の日付と明日の日付
を出力するプログラムをつくれ
ただし閏年については以下のプログラムを使うこと

int isleap(int year)
{
return (year % 4 == 0 && year % 100 != 0 || year % 400 = 0);
}



[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語:C
[4] 期限: 来週まで
[5] その他の制限: swich文は使わない方向でお願いします


258 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 21:52:03 ]
>>256
できました

ありがとうございました。

259 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 21:52:13 ]
[1] 授業単元: 画像処理
[2] 問題文(含コード&リンク)課題:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6869.txt
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン:Microsoft Visual Studio 2005
 [3.3] 言語: C
[4] 期限: 6月13日
[5] その他の制限: 特に無し

初歩的なことかも知れませんが
どうかよろしくお願いします

260 名前:257 [2008/06/11(水) 21:54:11 ]
間違えました……
閏年については以下のプログラムを使うこと→うるう年は以下の関数で判定すること

261 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 22:15:21 ]
[1] 授業単元:C言語入門
[2] 問題文:
「キーボードから異なる実数を3つ入力し、大きい順に3つの値を
表示させるプログラム」をswitch文を用いて作成せよ。

「キーボードから数値を1つ入力し、実数か整数か自然数か判定し、
当てはまるものすべてを表示するプログラムを作成しなさい」

[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C
[4] 期限: 明朝7:00まで
お願い致します。

262 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 22:40:53 ]
>>261 適当
#include<stdio.h>
int main()
{
double a[3], t;
int i, j;
for(i = 0; i < 3; i ++)
scanf("%lf", a+i);
for(i = 0; i < 3; i ++)
for(j = i + 1; j < 3; j ++)
if(a[i] < a[j]) {
t = a[i]; a[i] = a[j]; a[j] = t;
}
for(i = 0; i < 3; i ++)
printf("%g\n", a[i]);
return 0;
}
-----------------------------------
#include<stdio.h>
#include<math.h>
int main()
{
double a, b;
scanf("%lf", &a);
printf("%gは実数です。\n", a);
if(modf(a, &b) == 0) {
printf("%gは整数です。\n", a);
if(b > 0.5)
printf("%gは自然数です。\n", a);
}
return 0;
}

263 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 22:43:54 ]
マジでうpロダ使え・・・

264 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 22:50:24 ]
>>261
携帯からなんで1のヒントだけ
switch((a>b)+(b>c)*2+(c>a)*4)

265 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 22:55:45 ]
>>257
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6870.c



266 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 22:59:53 ]
>>260 >>257
return (year % 4 == 0 && year % 100 != 0 || year % 400 = 0);
明らかに括弧の位置と、 year%400 == 0 の部分が間違っているんで訂正

267 名前:261 mailto:sage [2008/06/11(水) 23:21:54 ]
>>264
switchの中がそんな事に・・・どうなるのか見当がつかないです

268 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 23:30:22 ]
>>259
画像処理のことはあまりわからんので、ちょっと質問。
・グレースケールの画像を使うと書いてあるが、読み込んだRGBの値がバラバラの場合、輝度はRGBの平均値でおk?
・ヒストグラムの形式は何でもいい?例えば、N=8だったらこんな感じ?
0: *****
32: ************
64: *******
96: ********************
128: ***************************
160: ***************
192: ****
224: **


269 名前:デフォルトの名無しさん [2008/06/11(水) 23:41:30 ]
[1] 授業単元:プログラミング基礎
[2] 5人の学生の3教科(国語・数学・英語)の点数を2次元配列を用いて次の二つ
   の処理を実行するプログラムを作成せよ
  @科目別の最高点を求める
  A各学生の平均点を求める
[3] 環境
 [3.1] OS:Windows vista
 [3.2] コンパイラ名とバージョン: borland5.5.1
 [3.3] 言語:C
[4] 期限: 2008年6月12日中
[5] その他の制限: 特になし

よろしくお願いします

270 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 23:56:27 ]
>>268
自分がいまいちわかってないので自信がないのですが
グレースケール画像の各成分の輝度値を量子化する以外は
平均値をとるなどの指示はないです。
ヒストグラムの方は後でエクセルで処理をするので
値をテキストファイルに保存できればいいです。

271 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 00:05:02 ]
>>253
pgm形式、rawとascii、2つのモードがあるですが。両方対応ですか?

272 名前:257 [2008/06/12(木) 00:13:26 ]
>>265 >>266
こんなに早くしてくれるとは
マジで助かりました
ありがとうございます

273 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 00:43:55 ]
>>269
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6872.txt
エラーチェックもしてないし
終了もしてないけどおやすみなさい。

274 名前:デフォルトの名無しさん [2008/06/12(木) 00:48:23 ]
>>228
勘違いしていたのでもう一度書き込みします。

[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
1.0/1による8桁の2つの2進数入力に対して,それらの和を2進数表現で求め,その2進数表現を出力せよ.
このとき,2ビットの論理和,論理積,排他的論理和を求める関数,および,これらを用いて2進数1桁の加算を行う全加算器の機能を関数で実現すること.
なお,確認を容易にするため,入力と出力の各2進数に対する10進数表現も出力すること.
さらに2の補数を用いて負の数も扱えるように拡張せよ.
2.2つの2進数の差を求めるプログラムを作成せよ.
3.任意の(変数や定数で指定した)桁数の2進数を扱えるようにせよ.
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:VC 6.0
 [3.3] 言語:C++
[4] 期限:2008年06月11日まで
[5] その他の制限:1については 2の補数を用いて負の数も扱えるように拡張する前までは作ることができたのでうpしておきます。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6853.txt

よろしくお願いします。

275 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 00:54:05 ]
レスが遅れて申し訳ございません
前スレの
pc11.2ch.net/test/read.cgi/tech/1211980711/753-756
有り難う御座いました
勉強させて頂きます




276 名前:デフォルトの名無しさん [2008/06/12(木) 01:15:08 ]
>>274 です。
[4] 期限:2008年06月12日までですが最終16日まで大丈夫です。

277 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 02:02:12 ]
えっ?クソアッー!は両方一致、すなわち a==b のとき 0 を返し
一致しない場合は 1 を返せばおk、だったかと。

278 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 02:23:07 ]
>>239
流れてたんであげなおします
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6873.txt
よろしくお願いします

279 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 02:34:38 ]
>>259,270
Dll_BMP_C.h とかいうファイルがないので動くかどうかわからんが
とりあえずExcelで読めるようCSVで出力するようにした
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6875.txt

280 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 02:57:18 ]
>>239
釣りっぽい気もするけど、とりあえずtyuuouの後半が間違ってんじゃん

281 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 03:19:27 ]
>>274
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6876.c

> さらに2の補数を用いて負の数も扱えるように拡張せよ.
先頭の桁が1なら負にするようにしてあるけど、それは
10進数に変換するときの計算結果でやってます。

> 2.2つの2進数の差を求めるプログラムを作成せよ.
これはやってない。

282 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 03:20:20 ]
>>281 あぁ、あと free してなかった、すまそ。

283 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 03:21:38 ]
[1] 授業単元:C言語基礎
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6877.txt
[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名とバージョン:VC6.0
 [3.3] 言語:C++
[4] 期限:
[5] その他の制限:問題文上部に記載

よろしくお願いします

284 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 03:34:27 ]
>>283
問題文上部を理解することのなんと困難なことか!

285 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 03:39:28 ]
[1] 授業単元:プログラミング技術
[2] 問題文(含コード&リンク):
文字列を反転させて表示するプログラムを作成せよ。
ここでの”反転”とは例えば”Program”という文字列を入力したら
”margorP”と出力するものである。
(実行例)
文字列を入力せよ:Program
反転した文字列:margorP

単純な配列の並び替えでOKです、文字の長さを調べるstrlenの使用可。
ただし終端文字をどのように扱うかは注意。
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C言語
[4] 期限:本日6/12 午後1時までにお願いします。

当方strlenで文字列カウントして、その後どうすれば文字列を反転させられるのかが分かりません。



286 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 03:43:03 ]
>>283
どうすりゃいいの
input()をメンバ関数で持っていいの?

287 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 03:45:08 ]
いいよ!

288 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 03:46:39 ]
>>285
>>211

289 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 03:50:45 ]
>>279
参考にさせてもらってどうにかできました!
本当にありがとうございます〜
助かりました

290 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 04:13:27 ]
>>288
???
strlenも使ってないし、分からない関数だらけでC言語なんでしょうか?

291 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 04:20:10 ]
#include <stdio.h>

int main(void)
{
char *p, str[256];

printf("文字列を入力せよ:");
scanf("%s", str);

for(p=str; *p; p++);
printf("反転した文字列:");
while(p-- > str) putchar(*p);

return 0;
}

292 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 04:20:23 ]
>>210
> いらんもんを付け足すほうがアホだろ。
勝手にお前が要らんって思っているだけで、本当は必要なものだよw
バーカ、gdgd知ったか無知を晒す前にこのスレに来るな、来ても
発言せずにROMってろ、クズ

293 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 04:22:10 ]
>>285
#include <stdio.h>
#include <string.h>

int main(void)
{
char buf[80], t;
int i, len;

printf("文字列を入力せよ:");
gets(buf);

len = strlen(buf);
for (i = 0; i < len / 2; i++)
t = buf[i], buf[i] = buf[len - i - 1], buf[len - i - 1] = t;

printf("反転した文字列:%s\n", buf);

return 0;
}

294 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 04:25:18 ]
Cには暗黙の型変換があるからキャストする必要はない。
sizeof(char)は1であるので省略可能。

どちらもあってもなくても問題はない。

295 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 04:25:32 ]
>>210
ソースも書かない、知ったような口を聞いているお前が言うと笑えるw



296 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 04:27:20 ]
>>294
> どちらもあってもなくても問題はない。
ダウト。適切か不適切か、考えたら普通はそんなことは言わない。
そもそも、char型が単に1バイトだから、たまたま都合よく通っただけ。
本来あれを正式な場所でやった場合、不適切とされ、どんな言い訳をしても
知らなかったと駄目だしをされるだけだよ。これだから ド素人 は口を閉じてろって
言われるんだよw

297 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 04:29:20 ]
>>291
ありがとうございます、ただ*pがどういう意味なのか分からなかったです。

>>293
こちらもありがとうございます、これなら当方にもちゃんと分かります。
とても参考になります。

298 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 04:29:21 ]
>>294
キャストの場所を勘違いしていないか?にしても、mallocの前に
記述していないのは大減点。おまけに、そこじゃなくて
fseekの0Lについてでは?これについても問題はなかったにしろ
どちらも問題が無かっただけで、コードとしては完全に不適切。
だから要らん口出しはしない方が、自分が無知、バカだと露呈せずに済むよw

299 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 04:29:34 ]
このスレにどうぞ
sizeof(char)が必ず1でも、省略すべきではない
pc11.2ch.net/test/read.cgi/tech/1187521586/

300 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 04:33:43 ]
関数へ与える値が、型を宣言した変数の識別子ではなく
定数という点で、long型の変数に引き渡すことになっているため
ほとんどの資料には後ろにLを記述しているものが見られるよ。
中には書いてないものもあるが、符号無しでUをつけるように
いくら暗黙のキャストがあろうが、適切なコードに対して

蛇足

なんて知ったかぶるからバカにされるんだよ。そんな知ったかが
適切な記述を蛇足って言うなら、そいつは本当に必要なものに対しても
蛇足と思い込んでいるだろうね。これだから視野の狭い奴は相手にならねー

301 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 04:35:05 ]
なんでこんな時間に蒸し返してまで顔真っ赤なんだろ

302 名前:デフォルトの名無しさん [2008/06/12(木) 04:49:44 ]
>>281 様。ありがとうございます。


303 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 04:57:59 ]
蛇足でもないのにアホとか、発言したがために無知を晒したアホが
言うと笑えねーな・・・少なくとも>>210はプログラマには向いてない。
些細なことでイラついて、ムッキーポッポーで、業界に入っても
淘汰されて下手すりゃ排除されるよ。あぁ恐ろしや恐ろしや。

304 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 05:01:09 ]
さすがにpowに渡すからってループ変数をdoubleにしたキチガイは言うことが違うw

305 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 05:20:06 ]
ループ変数がdoubleでも小数点以下を使わなければ
桁落ち誤差が累積する事はない



306 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 05:26:52 ]
円の中心に原点をおくと、格子点はi,jを整数として座標(i,j)で表される。(i,j)が円環に含まれる場合に1,含まれない場合に0を返却する関数
is_inrarge(double r, int i, int j)
を作成し
というところまでを自分でr、i、jを入力する方法でやって
#include <stdio.h>
#include<math.h>
#include<stdlib.h>
int main(void)
{
int r,i,j;
printf("r,i,j =");
scanf("%d,%d,%d", &r,&i,&j);
printf("%d,%d,%d \n",r,i,j);
inrange();
return 0;
}
int inrange(double r,int i, int j)

{
double o,p,q;
o=r*r;
p=(i*i+j*j);
q=(r+1)*(r+1);
if (q >= p && p>o){
printf("1");
}else{
printf("0");
}
}
ここまでやって5時間かけてもどうにもうまくいきません。
vista vc05ですけど関係ないような気もします。
誰か教えてください。

307 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 05:29:11 ]
途中の↓はどうにも行かなくて確認で入れてみたら
代入した直後の数字とは別の数字が出ます。
printf("%d,%d,%d \n",r,i,j);
わけがわかりません

308 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 05:39:07 ]
>>307
//inrange()
としてもう一度確かめてみそ

309 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 05:42:14 ]
[1] 授業単元: プログラミング技術V
[2] 問題文(含コード&リンク):
任意の文字列を配列に読み込み、その中に出てくる特定の文字列を指定した文字列に置き換えるプログラムを作成せよ。
(実行例)
文字列を入力せよ : kadai no teisyutukigen ha mamore
置き換え元を入力せよ : kadai
置き換え後を入力せよ : report
結果 : report no teisyutukigen ha mamore

[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: cygwin gcc
 [3.3] 言語: C言語
[4] 期限: 本日午後2時までにお願いします。
[5] その他の制限: 空白ごと読み込む方法はgetchar命令、もしくはfgets命令を用いるとよい。

310 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 05:58:41 ]
>>305
pow関数にdouble渡してカウンタにしてたってーのは知らないけど
情報落ちも考慮するとdoubleは異常

311 名前:デフォルトの名無しさん [2008/06/12(木) 06:01:42 ]
>>309
入力:111
置き換え元:11
置き換え後:aa

結果:aa1
結果:1aa
どっち?

312 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 06:02:22 ]
double d=(double)10000000000000,e=(double)0.0;

while( e<d )
e+=(double)1.0;

このコードは停止するか?


313 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 06:06:23 ]
>>311
最初に見つかった方をするようにお願いします。
結果:aa1

314 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 06:45:29 ]
>>304
お前が相当な馬鹿だということが分かった・・・っつか、お前の言っていることって
言わなきゃ良いことばかりだよ?かなりあほだな・・・進路を変えろ、基地外

315 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 06:47:54 ]
ttp://www.bohyoh.com/CandCPP/C/Library/pow.html
double pow(double x, double y);

知った無知の基地外は、自分基準で相手を罵倒することに
専念するだけだから困る。しっかりと資料を提示するなり
見れば無駄口を叩くこともなかっただろうに。
適切な取り扱いを知らない奴は、こういった業界では
絶対に通用しない。



316 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 06:54:33 ]
[1]授業単元:プログラミング基礎論
[2]ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6878.txt
[3]環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:borland c++5.5
[4] 期限:来週の月曜日
[5] その他の制限:関数まで習いました
ぜんぜんわからないのでよろしくお願いします

317 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 07:33:40 ]
>>306
入力するとき,で区切って入力してないってオチじゃない?

318 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 07:40:04 ]
>>316
#include <stdio.h>
int my_tolower(int ch)
{
if('A'<=ch && ch<='Z') ch += ('a' - 'A');
return ch;
}
int main(void)
{
char str[256];
int i, len;

scanf("%s", str);
for(len=0; str[len]; len++);
printf("文字列の長さ:%d\n", len);

for(i=0; i<len; i++) str[i] = my_tolower(str[i]);
printf("大文字を小文字に変換した文字列:%s\n", str);

for(i=0; i<len / 2; i++) if(str[i]!=str[len-1-i]) break;

if(i==len/2) printf("回文です\n");
else printf("回文ではありません\n");

return 0;
}

319 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 08:01:11 ]
>>309
文字列を複製する関数:strcpy(str1,str2,n)
文字列の長さを返すかんすう:strlen(str1)
文字列をn文字比較する関数:strncmp(str1,str2,n)
文字列str2をstr1のあとの連結する関数:strcat(str1,str2)
を使うなど、このレベルでプログラムを組んでいただけると助かります。

320 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 08:32:23 ]
[1] 授業単元:アルゴリズム
[2] 問題文(含コード&リンク):
PNMという画像フォーマットを用いるとprint文で文字コードを出力することで
画像が作成できる。
(説明例:a-gamyl.hp.infoseek.co.jp/Clang/pnm_read.html
これを用いて任意の画像を作成する。2次元の配列変数x,y座標を持つ平面に見立てて
画像を構成することが可能である。例えば画像の大きさ256x256の大きさとして
中央の(128,128)の場所に赤い点をひとつだけ打つには以下のようなプログラムになる。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6879.txt
以下のように直接出力してみよう。
$ cc en5-3.c
$ ./a.out > test.ppm
出来上がったtest.ppmというファイルをファイルブラウザで開いてみると
中央に赤い点が打たれているのが分かる。どのようなデータが書き込まれているかは
プログラムの最後のfor文を見ていただきたい。
(課題)
・sin派を描いた画像を作成するプログラムに変更せよ。
・円を描いた画像を作成するプログラムに変更せよ。
・うずまきを描いた画像を作成するプログラムに変更せよ。
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C言語
[4] 期限:無理を承知で後日6/12 午後2時までにお願いします。

321 名前:デフォルトの名無しさん [2008/06/12(木) 09:03:24 ]
>>206
の老婆心
つまり、処理系によって、ちゃんと解釈してくれないよ
という忠告は
小さな親切余計なお世話
というのが>>207
で女々しい口喧嘩を繰り返すと。

要するにだ、207がちゃんとキャストをするなりしてコードを書いて
206がそれをハンディコンパイルすればそれで済む話
(できれば207がコードを実行すれば尚良い)

322 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 09:08:45 ]
>処理系によって、ちゃんと解釈してくれないよ
Cの規格読み直せw

323 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 09:20:41 ]
×小さな親切余計なお世話
○小さな親切大きなお世話

324 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 09:23:04 ]
このスレレベルの「案件」では自分のコンパイラで動作確認さえ取ってさえいれば
いいんじゃないのか?(自分のコンパイラで動作確認もとってないのにソース上げるのは論外だけど)

どんな処理系でも動作するポータビリティなんて要求されてないし、
仮に要求してきたにせよ宿題丸投げの要求なんて無視していい
というか、そんなウィルスコードここに貼るな。

325 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 10:24:27 ]
>>324
だからといってなコードは削ればいいという思想もウィルス



326 名前:デフォルトの名無しさん [2008/06/12(木) 10:29:39 ]
>>318
ありがとうございました!

327 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 10:36:54 ]
このスレとしては
×自分のコンパイラ
○テンプレ[3]で指定されている環境

まぁ適当に書いてもだいたい通るから大丈夫だけど

328 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 10:46:12 ]
205は適当でも処理系依存でもなくきちんと規格に準拠したコードなのになw

329 名前:デフォルトの名無しさん [2008/06/12(木) 10:54:15 ]
ソースコード読むのは人間だろ
解析するのがコンパイラ

330 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 13:25:47 ]
>>306
なんだ、まだ5時間しか考えてないのか、というのはヤボですかね。

331 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 14:21:05 ]
>>328
>>205
char *buf;
buf = malloc(size);
int main()



332 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 14:23:17 ]
あーあ・・

333 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 14:26:55 ]
ttp://www.bohyoh.com/CandCPP/FAQ/FAQ00042.html
ttp://www.bohyoh.com/CandCPP/FAQ/FAQ00042.html
とりわけ「準拠」というなら、何に?ANSI、ISO準拠なら
int mainについても蛇足とは言わない指摘がされるぞ。
だから無知は黙ってろって言われるんだよw
何に対して、何を元に指摘されているかわかってないんだろ。
資料を読んでから意見しろ。ルールブックも読まない奴が
勝手に自分ルールでそれは要らないよ、従っている人に
蛇足だよ、無駄だよなんて言っても通じない。

334 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 14:45:23 ]
C#は取り扱っていませんか?

335 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 14:47:03 ]
>>334
スレはあるようだけど過疎ってるなw

C#,C#の宿題片付けます。
pc11.2ch.net/test/read.cgi/tech/1197620454/



336 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 15:01:03 ]
>>335
誘導ありがとうございます。
31に書き込んだのでどなたかよろしくお願いします

337 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 16:32:57 ]
[1] 授業単元:
Cプログラミング
[2] 問題文(含コード&リンク):()
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6881.txt
[3] 環境
 [3.1] OS: (Windows/Linux/等々)
linux
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
gcc
 [3.3] 言語: (C/C++/どちらでも可 のいずれか)

[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
6月16日
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
特にありません。よろしくお願いします。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<317KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef