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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 22:18:31 ]
あなたが解けない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++の宿題を片付けます 106代目
pc11.2ch.net/test/read.cgi/tech/1209810861/

641 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 10:35:01 ]
>>639
とりあえず const int b[][BOARD_SIZE] を int b[][BOARD_SIZE] にすれば警告は消える
でも、なんで警告が出るんだろう?

642 名前: ◆DuoCt8/SKk [2008/06/05(木) 12:43:10 ]
>>604-605
ありがとうございます.
今日が締切なので,引き続き>>592をお願いしたいのですが・・・
よろしくお願いします!

643 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 12:50:43 ]
>>635
アンカーの先をよく見るんだ弟よ

644 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 13:31:02 ]
>>641
> >>639
以下はtccの場合。
:60: cannot cast 'int **' to 'const int **'

constを付けると、コンパイラはconst領域に変数等を割り当てようとするが、今回のように
書きかえ可の領域 ---> 書きかえ不可の領域へのキャスト指示はプログラムミスと見なされる。



645 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 13:34:22 ]
>>644
続き。 const領域を書きかえようとした場合のエラー。

#include<stdio.h>
int main(){
const int a=3;
a=2;
}

:4: error: assignment of read-only variable ‘a’


646 名前:ロベ [2008/06/05(木) 13:49:11 ]
[1] 授業単元:プログラミング
[2] 問題文:BMPファイルの情報(画像サイズ、色数等)を表示する
      BMPファイルの画像を上下・左右反転させる
      BMPファイルの画像を回転(90、180、270度)させる
      BMPファイルのカラー画像をグレースケール化するプログラムの作成
        輝度を変換する式は、下記の式を使用すること
        Y=0.298912*R+0.586611*G+0.114478*B
      ※BMPファイルにはWindows形式とOS/2形式があります。どちらにも正しく対応できるように。
      ※入力ファイル名は、プログラム実行後に聞いてくるものとします。
      ※出力ファイル名は、プログラム実行後に聞いてくるものとします。
      ※反転・回転方法の指示は、プログラム実行後に聞いてくるものとします。
      ※ソースには必ずコメントを書いて下さい。
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:Borland C++ 5.5.1 for Win32
 [3.3] 言語:C
[4] 期限:6月5日 0:00
[5] その他の制限:無し

よろしくおねがいします

647 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 14:15:52 ]
>>644-645
嘘を教えるなよ。。。

648 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 14:22:25 ]
constがどこにかかってるかを考えれば、なんとなくわかるぞ

649 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 14:50:50 ]
[1] 授業単元:C言語
[2] 問題文:
int 型の2つの数をキーボードから読み込んで,
それらの3乗の和を出力するプログラムを作成せよ。
ただし,2つの数の3乗の和を計算する部分は,
関数 int cubesum(int x, int y) を作成してそれを使え。
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:2008年6月9日
[5] その他の制限:




650 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 15:04:16 ]
int cubesum(int x, int y)
{
return x*x*x + y*y*y;
}

651 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 18:07:23 ]
#include <stdio.h>

int cubesum(int x, int y)
{
return x*x*x + y*y*y;
}

int main()
{
int a, b;
printf("2つの整数を入れてください:");
scanf("%d %d", &a, &b);

printf("%d^3 + %d^3 = %d\n", a, b, cubesum(a, b));

return 0;
}

652 名前:デフォルトの名無しさん [2008/06/05(木) 19:31:10 ]
.;;;;彡彡ミミ;;;
          ;;;;彡彡ミミミ;;;
          ;;;;彡彡ミミミ;;;
          ;;;;;;彡彡ミミミ;;;;;
         ;;;;彡ミ彡ミミミミ;;;
        ;;;彡ミ彡;;人;;;ミ彡ミ;;;
        ;;;彡ミ彡ノ ヽ;ミ彡ミ;;;
        ;;;彡ミ;;;;ノ.人 ヽ;彡ミ;;;
        ;;;彡ミ;;;ノ | ..| ;ヽ彡ミ;;;
        ;;;彡ミ;;ノ .| | ヽ彡ミ;;;
        ;;;彡ミ;ヽ |.・.| /彡ミ;;;
        ;;;彡ミ;;ヽ|  .| /;;彡ミ;;;
        .;;;;;;;ミ;;;ヽ|( )|./ミ彡;;;;
         ..;;;彡;;;;ヽ| .|/;;;ミ;;;
          ..;;;;.彡;|.|;;ミ;;;;;....
          ;;;;;彡;彡|;;ミミミ;;;;
         ;;彡彡彡*ミミミミ;; マンコ
          ;;;;彡彡ミミミ;;;
           ;;彡彡ミミミ;;;

653 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 19:54:07 ]
>>550
の問題にメイン文も付け加えた形で教えて欲しいです。
よろしくお願いいたします。

654 名前:デフォルトの名無しさん [2008/06/05(木) 19:56:27 ]
マルチで申し訳ないです。
本格的にハマってしまい、ヘルプをお願いさせてください。

[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):
2次元配列(hai[10][10])を用いる。
各マスには予め1または2がランダムで入力されている。

100マスの中で、1と2のサイズを計測せよ。
なお、境界は存在せず、トーラス状とする。

例)
1,1,1
2,1,1
1,1,1
であれば、
1:8
2:1

1,1,1
2,1,2
1,2,1
であれば、
1:6(トーラス状であるため、左下と右下も一つの塊と見る)
2:2(トーラス状であるため、中段の左右は一つの塊と見る),1

[3] 環境
 [3.1] 言語: どちらでも可
[4] 期限: 6月10日

解決の糸口が見つかりません。
どうかよろしくお願いします。

655 名前:639 mailto:sage [2008/06/05(木) 20:40:30 ]
>>639のところで回答してくださりました方々
ありがとうございます
課題ですのでgccで固定という以上
ほかの方法では試せませんのでなんともいえませんが
自分でもいろいろと試そうかと思います

656 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 20:53:40 ]
>>654
無理やり1レスにまとめたからいろいろ足りないけど
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SIZE 10
char hai[SIZE][SIZE], check[SIZE][SIZE];
int f(int x, int y, int n)
{
if(check[x][y] || hai[x][y]!=n) return 0;
check[x][y] = 1;
return 1 + f(x, (y+1)%SIZE, n) + f(x, (y+SIZE-1)%SIZE, n)
+ f((x+1)%SIZE, y, n) + f((x+SIZE-1)%SIZE, y, n);
}
int main(void)
{
int i, j, c[2][50] = {0}, count[2] = {0};
srand(time(NULL));
for(i=0; i<SIZE; i++) for(j=0; j<SIZE; j++) hai[i][j] = rand()%2+1;
for(i=0; i<SIZE; i++) {
for(j=0; j<SIZE; j++) {
int n = f(i, j, hai[i][j]);
if(n) c[hai[i][j]-1][count[hai[i][j]-1]++] = n;
}
}
for(i=0; i<2; i++) {
printf("%d : ", i+1);
for(j=0; j<count[i]; j++) printf("%d ", c[i][j]);
putchar('\n');
}
return 0;
}

657 名前:654 mailto:sage [2008/06/05(木) 21:11:52 ]
>>656
ありがとう!
自分は3日間超絶悩んだのに、あっさり出来てるw

動作を確認させていただいたのですが、
#define SIZE 100
に変更した場合は、
int i, j, c[2][5000] = {0}, count[2] = {0};
と変更すれば、
SIZEが大きくなっても検索できるようですね。

もしよろしければ、いろいろ足りない部分とお名前を・・・・。


658 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 21:12:31 ]
お名前ってww

659 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 21:17:24 ]
足りないってのは最後にソートしたほうがいいんじゃないかなってこと。



660 名前:デフォルトの名無しさん [2008/06/05(木) 21:18:00 ]
[1] 授業単元: Cプログラミング
[2] 問題文(含コード&リンク):

次の規則に従い、入力された文字列を変換して表示する。
T ・・・タブとして空白を2つ入れる(Tは表示しない)
N ・・・改行する(Nは表示しない)
+ ・・・空白を1つ入れる(+と空白を置きかえる)
その他・・・そのまま表示する。
$ ・・・¥に変換する。($は表示しない。)
$の後に入力されてる数値を円に換算する。換算率は1$を120円とする。
行の先頭の英小文字は英大文字に変換する。

実行結果
データを入力してください:aprilT$012-NmayTT$023+Njune T$026+N
April \01440-
May \02760
June \03120

[3] 環境
 [3.1] OS: windouws
 [3.2] コンパイラ名とバージョン:Visual C++
 [3.3] 言語:どちらでも可
[4] 期限: 明日中
[5] その他の制限:switch使用


C言語歴2ヶ月の課題なんで低レベルとは思いますが、よろしくお願いします。


661 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 21:18:40 ]
>>625
20x20の行列を用意後、画面から入力したサイズ分だけを使用。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6798.txt

662 名前:654 mailto:sage [2008/06/05(木) 21:24:32 ]
えっと、ちなみにソートするにはどうすればw
c[i][j]と c[i][j+1]を比較させまくるのかnya。

663 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 21:30:16 ]
バブルソートでもクイックソートでもすきなのでいいだろw
>>654が宿題に出されるレベルならソートぐらいできんだろ

664 名前:654 mailto:sage [2008/06/05(木) 21:42:29 ]
>>663
おk。
本当にありがとねノシ

665 名前:デフォルトの名無しさん [2008/06/05(木) 21:45:24 ]
ヘボいなーおまえら
プログラミング向いてないよ

666 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 21:52:16 ]
トーラスってなんじゃろうと思ってみてた。
ドラクエの地図の海と陸地の数およびサイズを知りたいって書いてくれればよかったのに。。

667 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 21:58:42 ]
[1]プログラミング
[2]問題文
多次元配列を利用して、5人の3教科(国語・数学・英語)の@最高点A平均点それぞれのソースを作れ。
[3-1]windows
[3-2]gcc
[3-3]C言語
[4]明日まで
よろしくお願いいたします。

668 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 22:10:48 ]
>>664
マルチの片割れにも終わったことを知らせんかい

669 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 22:12:13 ]
なんで偉そうなの?



670 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 22:20:55 ]
>>660
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6799.txt

671 名前:デフォルトの名無しさん [2008/06/05(木) 22:48:13 ]
>>670
ありがとうございます、助かりました。
こんなに早く応えがくるなんて、良い意味で驚きました

672 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 22:51:04 ]
>>664,669
礼儀も知らんのかボケ

673 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 22:55:17 ]
>>671
タイミングさえ合えばちゃんとした回答者がいるスレだよ

674 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:00:16 ]
>>672
なんで回答者でもないあなたが偉そうなの?

675 名前:654 mailto:sage [2008/06/05(木) 23:00:26 ]
ちょw
669は自分じゃない。

676 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:01:30 ]
>>674
っつか、マジで態度が悪いぞ、お前。社会じゃそれじゃやっていけねーよ
失せろクズガキ

677 名前:デフォルトの名無しさん [2008/06/05(木) 23:01:57 ]
>>534をお願いしますm(_ _)m

678 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:04:23 ]
>>535

679 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:05:35 ]
>>674
会社の同僚と何かあった時に上司から何か言われても
「同僚との問題なのになんであなたがそんな事言うの?」
とか言うんか? 消えろ



680 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:07:03 ]
>>674
っつか、偉いとかって話じゃないだろ。完全にお前が態度が悪い
ただそれだけ。何で自分が指摘されたのか、分からないのか?
だとしたら相当痛いぞ、お前。反論する前に自分が起こしている行動
発言を自覚しろ。干されんぞ。人間社会はお前一人の都合や
思う通りには動いてないからw

681 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:09:21 ]
>>667
お願いしますm(__)m

682 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:11:22 ]
なんか>>674の人気に嫉妬しつつ、本当に>>672は回答者ではないのだろうか?

683 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:11:27 ]
#include <sys/param.h>
#include <stdio.h>
int z(int y, int m, int d) {
int a = y / 100, b = y % 100;
return ((int) (m * 2.6 - 0.2) + d + b + (int) b / 4 + (int) a / 4 + 5 * a) % 7;
}
int zeller(int y, int m, int d) {
return m < 3 ? z(y - 1, m + 10, d) : z(y, m - 2, d);
}
int main(int argc, char *argv[]) {
int year, month, nf13 = 0;
for (year = 2001; year <= 2100; year++) {
for (month = 1; month <= 12; month++) {
if (zeller(year, month, 13) == 5) {
nf13++;
}
}
}
printf("%d\n", nf13);
return 0;
}

684 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:12:26 ]
>>681
はやる気持ちは分からんでもないけど、もうちょっとまとう。
ギリギリまで宿題やらなかったのもちょっと悪いとおもうお

685 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:14:01 ]
>>667
問題ってほんとにこれだけ?
制限とかかいとかないと
「それなんですか?分からないのでもっと簡単なものを。。。」
というハメになっちゃうかもだよー

686 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:14:18 ]
#include <stdio.h>

int main(void)
{
int i, j, data[3][5] ={0}, max[3];
double ave[3];
char *kamoku[3] = {"国語","数学","英語"};

for(i=0; i<3; i++) {
ave[i] = max[i] = data[i][0];
for(j=1; j<5; j++) {
ave[i] += data[i][j];
if(max[i] < data[i][j]) max[i] = data[i][j];
}
ave[i] /= 5;
}

for(i=0; i<3; i++) printf("%s 最高点:%d 平均点%.2f\n", kamoku[i], max[i], ave[i]);

return 0;
}


687 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:14:25 ]
多次元配列を利用
int point[5][3]={{0, 0, 0},
{0, 0, 0},
{0, 0, 0},
{0, 0, 0},
{0, 0, 0}};


688 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:16:32 ]
わざわざ多次元って言ってるんだから、二次元程度じゃ許されない。

689 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:17:45 ]
>>682
人気じゃなくて一人がファビョってるだけにしか見えねーよw



690 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:18:10 ]
多次元っていったってどう考えても2次元で十分だろ。



691 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:18:48 ]
>>688
口だけじゃなくてソースplz

692 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:19:48 ]
せいぜい平均と最高点をまとめて
もひとつ2次元配列にするくらいかな

693 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:25:58 ]
679はこのスレの上司だそうですw

694 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:26:48 ]
こんなところで宿題丸投げする学生?相手に語ってるほうもどうかとw

695 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:26:50 ]
>>689 = >>691 = >>674 必死だなぁ・・・IDが無いからって、他人のふりしようとか
白々しいぞお前。やたらと口出しする一言居士って、友達のいない構ってちゃんだろ?

696 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:26:56 ]
IDが出ないと一人芝居が楽でいいよな

697 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:27:57 ]
>>693 = >>689 = >>691 = >>674
しつけぇ・・・お前、このスレに何の用があって来てんだ?
無駄口叩く奴って、口先だけで役に立たない上に
自分が否定されるとファビョるからうぜぇ。

698 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:28:17 ]
なんだこれ

699 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:30:05 ]
ケフィア、、でしょうか?



700 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:31:23 ]
なんで691まで一緒にされてるのかわからんw

701 名前:デフォルトの名無しさん [2008/06/05(木) 23:33:12 ]
二つの整数値を読み込んで、
小さい方の数以上で大きい方の数以下の整数を全て加えた値を
表示するプログラム。

コンパイラ gcc
OS Windows
言語 C

お願いします。

702 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:34:33 ]
何度か書いてるが、Windows + gccってのはほんとにそういう環境なのかなあ。

703 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:35:20 ]
>二つの整数値を読み込んで、
標準入力でOK?


704 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:36:07 ]
>>702
Cygwin + gcc かもね

705 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:36:54 ]
a < b

((1+b) * b - (1 + a) * a ) / 2


706 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:37:44 ]
>>626
わかりました。ありがとうございます。

707 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:37:54 ]
>>701
#include <stdio.h>

int main(void)
{
int a, b;

scanf("%d%d", &a, &b);

printf("%d", a > b ? (a + b) * (a - b + 1) / 2 : (a + b) * (b - a + 1) / 2);

return 0;
}


708 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:39:12 ]
>>703
標準かどうかはよくわかりませんが、scanfで読み取る形です。

709 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:42:00 ]
>>707
すいません!書き忘れました。
Do文を使って最後にWhile文を追加する形でした。




710 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:44:04 ]
>>704
cygwin + gcc だとして、実行環境はWindows?cygwin?というのも
あるし、Xかもしれない。
といったところで実行環境に依存するような宿題については
そのような曖昧な環境記述は無かったような気もするし、、、
気にしないほうがいいのかなあ?

711 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:45:04 ]
なんだそりゃw
#include <stdio.h>
int main(void)
{
int a, b, sum = 0;
scanf("%d%d", &a, &b);
if(a < b) do { sum += a++; } while(a<=b);
else do { sum += b++; } while(b<=a);

printf("%d", sum);

return 0;
}


712 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:45:10 ]
>>1より。
> ・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。

きをつけてね

713 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:45:33 ]
>>707
初心者向けにしましょうw


714 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:45:38 ]
>>701
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a, b;
scanf("%d%d", &a, &b);
printf("%d\n", (a+b)*(abs(a-b)+1)/2 );
return 0;
}

715 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:49:32 ]
>>713
初心者の定義は何?自分が理解できる=初心者向け?
理解できない=初心者じゃない?とか?

716 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:51:02 ]
パッと見であっさり理解できるか
ちょっと見てみてあぁなるほどと思えるか

の差じゃない?

717 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:51:48 ]
>>711
++はどういう意味なんでしょうか?

718 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:52:21 ]
>>715
いちいち絡むなよw

719 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:54:13 ]
>>717
a++ は a = a + 1



720 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:55:29 ]
>>717
a++ = a = a + 1

721 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:58:06 ]
その=の使い方には問題があるぞ

722 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:58:49 ]
ではsum+=とは何なのでしょうか?
初心者ですいません

723 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:00:32 ]
sum += a は sum = sum + a

724 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:00:50 ]
sum = sum + 1

725 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:01:27 ]
つまり sum += a++; は
sum = sum + a;
a = a + 1;

726 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:05:30 ]
>>725
cのとっつき難さはそこなんだろうな。

727 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:06:39 ]
A += B
A -= B
A *= B
A /= B

A = A 演算子(+-*/) B

728 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:06:45 ]
レスをくれた方々ありがとうございます。
色々勉強になりました。
ちょっと複雑に考えすぎていたようです。

729 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:09:36 ]
プログラムは単純に考えよう。
プログラムを書くこときも、トリッキーなことをせずに簡単に書こう。

って、先輩にならったな。



730 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:10:02 ]
>>725
逆も上げとくわ
sum += ++a;は
a = a + 1;
sum = sum + a;

731 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:11:29 ]
>>729
sum += a++ が一番簡単で単純だろ?

732 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:12:13 ]
直感的ではないよ

733 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:15:09 ]
>>731
そうだな。

こっちのPart28終わりからPart29の頭にかけてa++関連の未定義問題で論争があったくらいだ。

C言語なら俺に聞け(入門篇) Part 29
pc11.2ch.net/test/read.cgi/tech/1212329099/



734 名前:733 mailto:sage [2008/06/06(金) 00:15:52 ]
>>733>>731への同意ではなく>>732への同意だ。


735 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:17:36 ]
インクリメントを禁止してるプロジェクトに関わった事があったな。。。。。
ちょっと新鮮だった。

736 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:21:07 ]
実際のところたとえば
a = a + 1;
sum = sum + a;



sum += ++a;

としたところでコンパイル後のバイナリレベルでどのくらいクロックやメモリ
を稼げるものなんだ?

それと引き換えに新人が保守するかも知れないリスクとの天秤にかけた場合の
コストも。

737 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:23:16 ]
まだ学生だからわからんのだけど仕事でやってて、それに引っかかる人いるの?

738 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:24:10 ]
万人にわかるようにするんだよ。

739 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:25:54 ]
そんなのもわからないやつにソース触らせんなよw



740 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:27:30 ]
しるかよw

そういう規約をつくってるんだからw

あ、デクリメントも禁止されてたよ。

741 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:28:09 ]
>>737
ソースって案外長生きなんだよ。
COBOLとかあれだけクラサバ登場で無くなるといわれたのに
今だに残ってる。

webの発達でc出来る人口が減ってるのに、新人にわざわざ
今の程度の説明で時間取られたくないだろ?






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

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

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