C/C++の宿題片付けます 148代目
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2011/05/20(金) 13:57:11.89【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。
・問題文は、出題されたまま全文を書いてください。
・問題文やコードをリンクするときは、一言内容にについて説明をつけましょう。
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。
【質問テンプレ】
[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] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
http://s2.etowns.slyip.net/~c_cpp_homework/cgi-bin/joyful/joyful.cgi
http://codepad.org/ ←遅い時間は重い事があります
http://ideone.com/
【C 関数検索 man on WWW】 http://www.linux.or.jp/JM/index.html
【過去ログ検索】 http://chomework.sakura.ne.jp/
【wiki】 http://www23.atwiki.jp/homework/
前スレ
C/C++の宿題片付けます 147代目
http://hibari.2ch.net/test/read.cgi/tech/1301553333/
0002デフォルトの名無しさん
2011/05/20(金) 14:18:21.69janeの隠し機能を発見したぞ!
1.まず半角入力に切り替える
2.Wキーを押しっぱなしにする
3.Wキを押しっぱなしにしながらsageのチェックするところをおもむろにクリック
0003デフォルトの名無しさん
2011/05/20(金) 14:32:41.580004デフォルトの名無しさん
2011/05/20(金) 16:06:17.71[1] 授業単元:趣味の独学
[2] 問題文(含コード&リンク):
ポインタを使って2つの戻り値を加算するプログラム
[3] 環境
[3.1] OS: windows7
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:無期限
[5] その他の制限:ポインタまで。難しいことはまだわかりません
http://codepad.org/14ZoJ5pK
コンパイルは通るんですが実行結果がおかしくなります。
ポインタを勘違いして使ってるのかと思うんですがどこを修正すればいいでしょうか?
お手数ですがよろしくお願いします。
0005デフォルトの名無しさん
2011/05/20(金) 16:29:15.230006デフォルトの名無しさん
2011/05/20(金) 16:30:21.77http://codepad.org/pIZtqWhD
0007デフォルトの名無しさん
2011/05/20(金) 16:31:45.02printf -->引数に与える変数に&を付けることは滅多にしない
0008デフォルトの名無しさん
2011/05/20(金) 16:35:05.83>>6
http://codepad.org/umIUcCEp
00094
2011/05/20(金) 17:05:10.99"の位置と、printfの引数に&を付けた事が原因だったようで・・・
もう一度読み直してきます、ありがとうございました。
0010デフォルトの名無しさん
2011/05/20(金) 19:56:55.21実行結果
英文字 BBACC
変換後 B2A1C2
よろしくお願いします。
0011デフォルトの名無しさん
2011/05/20(金) 20:00:31.56>>1を読めうんこ
あとサゲることぐらいしろ
0012デフォルトの名無しさん
2011/05/20(金) 20:11:02.18[2]英文字を読み込み、その一つ一つの文字の個数を求めるプログラム。
実行結果
英文字 BBACC
変換後 B2A1C2[3] 環境
[3.1] Linux
[3.3] C++
[4] 期限:5月22日(日)
0013デフォルトの名無しさん
2011/05/20(金) 20:25:47.21>[3.3] C++
これ、合ってる?
今習ってるのはC言語ではないの?
0014デフォルトの名無しさん
2011/05/20(金) 20:29:06.060015デフォルトの名無しさん
2011/05/20(金) 21:07:48.00#include <stdio.h>
#include <ctype.h.
0016デフォルトの名無しさん
2011/05/20(金) 21:08:12.84[2]問題文:文字列を読み込み,各文字をアルファベットの辞書順にn文字循環シフトして出力するプログラム.
ただし'b'が'a'+1であると仮定してはならない.
整数 > 5
変換前の文字列 > ayzfvwhbpqrcegiklmnjostdux
変換後の文字列: fdekabmguvwhjlnpqrsotxyizc
[3] 環境
[3.1]Linux
[3.2]gcc
[3.3]言語:C
[4]期限:5/23
0017デフォルトの名無しさん
2011/05/20(金) 21:13:15.37>>12
#include <stdio.h>
#include <ctype.h>
int main(void)
{
int i, ch, cnt = 0, a[52][2] = {0};
printf("英文字 ");
while((ch = getchar()) != '\n') {
if(!isalpha(ch)) continue;
for(i = 0; i < cnt; i++) {
if(a[i][0] == ch) {
a[i][1]++;
break;
} }
if(i == cnt) {
a[cnt][0] = ch;
a[cnt++][1] = 1;
} }
printf("変換後 ");
for(i = 0; i < cnt; i++) printf("%c%d", a[i][0], a[i][1]);
return 0;
}
0018デフォルトの名無しさん
2011/05/20(金) 21:22:00.50#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void)
{
const char *alphabet="abcdefghijklmnopqrstuvwxyz", *p;
char buf[256];
int i, n, x;
fprintf(stderr, "整数 > ");
gets(buf);
n=atoi(buf);
fprintf(stderr, "変換前の文字列 > ");
gets(buf);
fprintf(stderr, "変換後の文字列 : ");
for(i=0;buf[i];i++)
{
p=strchr(alphabet, buf[i]);
if(p)
{
x=(p-alphabet+n)%26;
putchar(alphabet[x]);
}
else
{
putchar(buf[i]);
}
}
return 0;
}
0019デフォルトの名無しさん
2011/05/20(金) 21:45:40.77http://codepad.org/F0NsdJOe
0020デフォルトの名無しさん
2011/05/20(金) 21:56:44.81[2]文字列Aと文字列Bを受け取り,文字列Bが文字列Aの終わりにあるかの判定を「yes」または「no」と出力するプログラム。
実行例1
文字列A > aaa
文字列B > aaa
yes
実行例2
文字列A > defg
文字列B > abcdefg
no
[3] 環境
[3.1] Linux
[3.3] C言語
[4] 期限:5月22日
0021デフォルトの名無しさん
2011/05/20(金) 22:21:27.92#include <stdio.h>
int main(void)
{
char A[256], B[256], *p, *q;
printf("文字列A >");
scanf("%s", A);
printf("文字列B >");
scanf("%s", B);
for(p = A; *p; p++);
for(q = B; *q; q++);
while(*p == *q) {
if(q == B) {
printf("yes\n");
return 0;
}
if(p == A) break;
p--, q--;
}
printf("no\n");
return 0;
}
0022デフォルトの名無しさん
2011/05/20(金) 22:48:58.05これだけでは意味不明かもしれませんが、構文自体がよくわからないのです。
たとえば、s_Eventが変数で、loadという値で初期化している、などというレベルでよいので、
お願いいたします。
const TypeEvent EvtData_Load::s_Event( "load" );
0023デフォルトの名無しさん
2011/05/20(金) 23:03:49.03EvtData_Load::s_Event ←関数名
( "load" ); ←引数
0024デフォルトの名無しさん
2011/05/20(金) 23:13:40.12>23揚げ足取るようですまんが、、、
const TypeEvent ←戻り値の型
EvtData_Load←名前空間
:s_Event ←関数名
"load" ←実引数
0025デフォルトの名無しさん
2011/05/20(金) 23:19:17.53全然揚げ足じゃないので気にせず。
ただ、そこに関してはs_から、EvtData_Loadクラスのスタティック関数メンバかも知れないなぁと。
0026デフォルトの名無しさん
2011/05/20(金) 23:30:40.920027デフォルトの名無しさん
2011/05/20(金) 23:37:06.94>[3.3] C++
>>12
http://codepad.org/pvfKUmVl
0028デフォルトの名無しさん
2011/05/20(金) 23:47:27.00>[1]c言語
お前はバカなんだから他人の揚げ足とろうとか考えるな
0029デフォルトの名無しさん
2011/05/20(金) 23:55:34.18http://hibari.2ch.net/test/read.cgi/tech/1301553333/961
0030デフォルトの名無しさん
2011/05/20(金) 23:55:47.78なんとなく、わかりました。
TypeEventクラスの名前空間EvtData_Loadのs_Event変数をloadで初期化している?
という感じかなぁと思いました
別の箇所で、if(EvtData_Load::s_Event == event.getTypeEvent)というところがあったので
たぶんs_Eventは変数かなと・・
どうもありがとうございました
0031デフォルトの名無しさん
2011/05/20(金) 23:55:57.02あんまり、Qをいじめるなよ
0032デフォルトの名無しさん
2011/05/21(土) 00:08:17.54>>17がC++でコンパイルできない環境を教えてくれ
0034デフォルトの名無しさん
2011/05/21(土) 00:39:30.71たしかに gcc, bcc, cl ともコンパイル可能です。失礼しました。
0035デフォルトの名無しさん
2011/05/21(土) 01:18:39.69CコンパイラではコンパイルできずにC++コンパイラでは出来るのを言う
by 禿げ
0036デフォルトの名無しさん
2011/05/21(土) 01:37:25.94おい
エラー E2094 ***.cpp 12: >> 演算子が使われたがクラス istream では std::string 型のための定義が存在しない (関数 main() )
0037デフォルトの名無しさん
2011/05/21(土) 01:41:00.95これでよく C++ プログラムなんかうp出来たもんだ
順序を保たないとだめなんだろうか。提出には不向きだと思いつつ投下。
http://codepad.org/wj0DTcl7
0039デフォルトの名無しさん
2011/05/21(土) 10:00:49.26ご指摘感謝。
>>27
http://codepad.org/PlSuun2U
0040デフォルトの名無しさん
2011/05/21(土) 10:52:47.770041デフォルトの名無しさん
2011/05/21(土) 11:00:28.79[2] 問題文(含コード&リンク): キーボードより文字列aと文字列bを入力し、
比較する(どちらが辞書並びで先かを表示する)プログラムを作りなさい。
但し、strcmp関数を用いてはならない。
[3] 環境
[3.1] OS:Windows7
[3.2] VisualStudio2008
[3.3] 言語: C
[4] 期限: 5月23日16:00まで
[5] その他の制限: strcmp関数の使用禁止。
0042デフォルトの名無しさん
2011/05/21(土) 11:02:12.76C++もロクに分からないのにコンパイルできないソースを上げるのはやめてくれ
出題者に迷惑だ
0043デフォルトの名無しさん
2011/05/21(土) 11:11:17.96#include<stdio.h>
#define SIZE 5000
int my_strcmp(char *s1, char *s2)
{
while (*s1++ == *s2++);
return *--s2 - *--s1;
}
int main()
{
char a[SIZE], b[SIZE];
int result;
printf("a = ");
scanf("%s", a);
printf("b = ");
scanf("%s", b);
result = my_strcmp(a, b);
if (result > 0) {
puts("a, bの順番");
} else if (result == 0){
puts("a, bは同じ");
} else {
puts("b, aの順番");
}
}
0044デフォルトの名無しさん
2011/05/21(土) 11:25:01.85早い対応ありがとうございます。
大変助かりました。
0045デフォルトの名無しさん
2011/05/21(土) 11:28:17.35あれ・・・strcmp関数が使われてる・・・?
0046デフォルトの名無しさん
2011/05/21(土) 11:45:32.16>int my_strcmp(char *s1, char *s2)
>{
>while (*s1++ == *s2++);
>return *--s2 - *--s1;
>}
同じ文字列与えたら、まずくね?
0047デフォルトの名無しさん
2011/05/21(土) 11:50:48.63これでいいか?ww
#include<stdio.h>
#define SIZE 5000
int unko(const char *s1, const char *s2)
{
register const unsigned char *ss1, *ss2;
for (ss1 = (const unsigned char*)s1, ss2 = (const unsigned char*)s2;
*ss1 == *ss2 && *ss1 != '\0';
ss1++, ss2++)
;
return *ss1 - *ss2;
}
int main()
{
char a[SIZE], b[SIZE];
int result;
printf("a = ");
scanf("%s", a);
printf("b = ");
scanf("%s", b);
result = unko(a, b);
if (result < 0) {
puts("a, bの順番");
} else if (result == 0){
puts("a, bは同じ");
} else {
puts("b, aの順番");
}
}
0048デフォルトの名無しさん
2011/05/21(土) 11:57:51.49> int unko(const char *s1, const char *s2)
まあ、自覚はあるらしい。
0049デフォルトの名無しさん
2011/05/21(土) 12:05:51.87registerが古臭いのはともかく
変なキャスト呼ばわりとかふざけんな
0050デフォルトの名無しさん
2011/05/21(土) 12:15:20.85こういうウンココード書くからウンコキャストする破目に陥る。
0051デフォルトの名無しさん
2011/05/21(土) 12:23:51.21どこが不味いのか具体的に行ってみろよ禿
0052デフォルトの名無しさん
2011/05/21(土) 12:37:16.800053デフォルトの名無しさん
2011/05/21(土) 12:38:09.93おら指摘してみろよ
なんとなく吠えてただけなんだろ
正直にみとめろよwwwwwwwwwwwwww
0054デフォルトの名無しさん
2011/05/21(土) 12:48:02.74int unko(const char *s1, const char *s2)
{
for (; *s1 == *s2 && *s1 != '\0'; s1++, s2++)
;
return *(const unsigned char*)s1 - *(const unsigned char*)s2;
}
0055デフォルトの名無しさん
2011/05/21(土) 12:50:10.370056デフォルトの名無しさん
2011/05/21(土) 14:10:55.48>return *(const unsigned char*)s1 - *(const unsigned char*)s2;
return (unsigned char)*s1 - (unsigned char)*s2;
0057デフォルトの名無しさん
2011/05/21(土) 14:17:56.87どう定義してたっけ?
0058デフォルトの名無しさん
2011/05/21(土) 15:16:11.45unsigned - unsigned の型は unsigned
でも int として返してるからマイナスになる
0059デフォルトの名無しさん
2011/05/21(土) 15:32:42.00コピペしたもんだから>>51みたいに態度がでかい。
虎の威を借る狐。Qよりかこわるい。
0060デフォルトの名無しさん
2011/05/21(土) 15:42:14.25それ規格票のどこかに保証ある?
0061デフォルトの名無しさん
2011/05/21(土) 16:03:59.76(現実にはまずないだろうけど話として)、unsignedをintに変換したら必ずプラスに
なっちゃうんじゃないかなあ
0062デフォルトの名無しさん
2011/05/21(土) 16:04:14.27型拡張でどうぞ
0063デフォルトの名無しさん
2011/05/21(土) 16:17:34.83あれあれ?こんなのあるよ
6.3.1.3 Signed and unsigned integers
1 When a value with integer type is converted to another integer type other than _Bool, if
the value can be represented by the new type, it is unchanged.
2 Otherwise, if the new type is unsigned, the value is converted by repeatedly adding or
subtracting one more than the maximum value that can be represented in the new type
until the value is in the range of the new type.49)
3 Otherwise, the new type is signed and the value cannot be represented in it; either the
result is implementation-defined or an implementation-defined signal is raised.
今回はこの3に該当するよね?処理系定義もしくはシグナルを発生するとあるけど
0064デフォルトの名無しさん
2011/05/21(土) 16:18:56.63http://codepad.org/Z6R0VA6A
0065デフォルトの名無しさん
2011/05/21(土) 16:26:21.4432bit 環境で
int a=4000000000;
の結果が
a==INT_MAX
になっちゃったりする可能性の話してるの?
0066デフォルトの名無しさん
2011/05/21(土) 16:29:46.42そうでない場合、すなわち、新しい型が符号付き整数型であって、値がその型で表現できない
場合は、結果が処理系定義の値となるか、又は処理系定義のシグナルを生成するかのいずれか
とする。
--------------------------------------------------
つまりunsigned型同士の演算の結果がUNIT_MAXになったとする
これをintに型変換すると明らかにINT_MAXでは収まりきらないため、結果は処理系定義の値と
なるか処理系定義のシグナルが生成される
これは意図した動作ではなかろう
>>64もcharはsigned charかunsigned charかは処理系によって異なるので、正しくはsigned char
と書かないと動かない可能性がある
6.2.5 Types
15 The three types char, signed char, and unsigned char are collectively called
the character types. The implementation shall define char to have the same range,
representation, and behavior as either signed char or unsigned char.35)
0067デフォルトの名無しさん
2011/05/21(土) 16:30:16.700068デフォルトの名無しさん
2011/05/21(土) 16:34:38.3132bitだとして0xffffffffは INT_MAX の 0x7fffffff を超えている
つまり The value cannot be represented in new signed type だ
本当は -1 を返して欲しいんだろうけどその保証はない
0069デフォルトの名無しさん
2011/05/21(土) 16:36:30.34被演算対象 = unsigned char
だけど、おなじこと?
0070デフォルトの名無しさん
2011/05/21(土) 16:37:04.99でも intの範囲は 32bitだとしたら INT_MIN〜INT_MAXだから 0x80000000〜0x7fffffff
だから収まるんじゃね?
0071デフォルトの名無しさん
2011/05/21(土) 16:38:33.31むう、そうか・・・俺の勘違いか すまん
0072デフォルトの名無しさん
2011/05/21(土) 16:41:39.37上のプログラムは入力した文字列を反転させるものです。
アドバイスをお願いします
0073デフォルトの名無しさん
2011/05/21(土) 16:43:36.070074デフォルトの名無しさん
2011/05/21(土) 16:52:02.07char *c = "ABC";
は
const char *c = "ABC";
と同じ。
0075デフォルトの名無しさん
2011/05/21(土) 16:52:44.54ちげーよ
0076デフォルトの名無しさん
2011/05/21(土) 16:56:28.65Re() で r 返しちゃだめだろ。
main() の t[] って、何も設定してないのに、何を表示するつもりなんだ?
て言うか、まずコンパイルエラーぐらいはとってからアップ品よ。
0077デフォルトの名無しさん
2011/05/21(土) 17:10:22.88error C2440: 'return' : 'char [100]' から 'int' に変換できません。
error C2440: '=' : 'int' から 'char [100]' に変換できません。
エラーの内容です
007874
2011/05/21(土) 17:19:44.43007974
2011/05/21(土) 17:59:55.140080デフォルトの名無しさん
2011/05/21(土) 18:06:52.94--- 72.cpp.org 2011-05-21 18:03:45.708286588 +0900
+++ 72.cpp 2011-05-21 18:03:08.488519638 +0900
@@ -1,9 +1,8 @@
#include<stdio.h>
-int Re(char *q)
+char *Re(char *q, char *r)
{
int i,j;
- char r[100];
i=j=0;
while(q[j]!='\0'){
@@ -17,6 +16,7 @@ int Re(char *q)
i++;
}
+ r[i] = '\0';
return r;
}
0081デフォルトの名無しさん
2011/05/21(土) 18:07:09.24@@ -25,17 +25,17 @@ int Re(char *q)
int main()
{
int x;
- char s[100],t[100];
+ char s[100],t[100], *str;
x=0;
printf("文字列を入力:");
scanf("%s",s);
- str = Re(s);
+ str = Re(s, t);
- while(str=='\0'){
- printf("%c",t[x]);
- x++;
+ while(*str!='\0'){
+ printf("%c", *str);
+ str++;
0082デフォルトの名無しさん
2011/05/21(土) 18:10:28.54vc++のwarning 4996ってどんなやつ?
0083デフォルトの名無しさん
2011/05/21(土) 18:15:56.85http://msdn.microsoft.com/ja-jp/library/ttcz0bys(v=VS.100).aspx
0084デフォルトの名無しさん
2011/05/21(土) 18:16:23.590085デフォルトの名無しさん
2011/05/21(土) 18:20:30.28あるいは、\nが出るまで読みたい。
0086デフォルトの名無しさん
2011/05/21(土) 18:24:22.89xxx系の関数も使えるけど、xxx_s系の関数使いなさいよっ!ってことか。
warningをoffにするより、vc++ならdefineでxxxをxxx_sに変換したいところだね。
0087デフォルトの名無しさん
2011/05/21(土) 18:26:24.31引数の数が違うからそれはやっちゃダメだな
0088デフォルトの名無しさん
2011/05/21(土) 18:30:24.79おのれvisual studio…
でもxxx_sの関数はC標準に入れてもいい気がする。
0089デフォルトの名無しさん
2011/05/21(土) 18:47:53.520090デフォルトの名無しさん
2011/05/21(土) 18:49:09.640091デフォルトの名無しさん
2011/05/21(土) 19:31:32.58初めから「こういうものだ」とfgetsを教えるのは難しいかなあ。
0092デフォルトの名無しさん
2011/05/21(土) 19:37:25.630093デフォルトの名無しさん
2011/05/21(土) 20:22:27.75業務用には危なくて使えないというだけの話で
0094デフォルトの名無しさん
2011/05/21(土) 20:27:33.48scanfは危険なのは分かりました。ではオススメの入力用関数を教えて下さい
0095デフォルトの名無しさん
2011/05/21(土) 20:40:25.090096デフォルトの名無しさん
2011/05/21(土) 20:46:06.220097デフォルトの名無しさん
2011/05/21(土) 20:46:55.31それはVC++独自の拡張だよって
0098デフォルトの名無しさん
2011/05/21(土) 20:47:14.25とんでもないところに書き込もうとしてるぞw
0099デフォルトの名無しさん
2011/05/21(土) 20:48:34.89fgets() して atoi だの sprintf() だの。
例
http://hibari.2ch.net/test/read.cgi/tech/1301553333/944
0100デフォルトの名無しさん
2011/05/21(土) 21:11:06.16stdoutだったwwww
0101デフォルトの名無しさん
2011/05/21(土) 21:18:03.37そういう問題ではない。
0102デフォルトの名無しさん
2011/05/21(土) 21:25:48.62stdoutを最後に持って行けって言うんだろ?
0103デフォルトの名無しさん
2011/05/21(土) 21:26:59.82ちがった、stdinを最後に持って行けと言うんだよな
fprintf()ならstdoutが一番前
0104デフォルトの名無しさん
2011/05/21(土) 23:20:18.430105デフォルトの名無しさん
2011/05/21(土) 23:29:41.05コテではありません。トリップです。
0106デフォルトの名無しさん
2011/05/22(日) 00:45:15.37[2] aprioriを実装せよ。(ttp://www1.doshisha.ac.jp/~mjin/R/40/40.html)
[3] 環境
[3.1] OS: Windows7
[3.2] Microsoft Visual C++ 2010 Express
[3.3] 言語: c
[4] 5月23日
[5] ポインタまでの範囲でお願いします。
できればそれぞれの関数等がどういう操作をしているのかのコメントも
お願いします。
0107デフォルトの名無しさん
2011/05/22(日) 01:08:23.59しかも埋め込み型じゃありません。
0108デフォルトの名無しさん
2011/05/22(日) 01:09:30.41http://www1.doshisha.ac.jp/~mjin/R/
0109デフォルトの名無しさん
2011/05/22(日) 07:44:10.40キミ、それプログラミングの授業の課題じゃなくて業務でしょ。
この時期にその難易度の課題が出るわけないじゃん。100万/納期1か月で作ってやろうか?
0110デフォルトの名無しさん
2011/05/22(日) 08:15:37.570111デフォルトの名無しさん
2011/05/22(日) 08:24:41.390112デフォルトの名無しさん
2011/05/22(日) 11:44:55.180113デフォルトの名無しさん
2011/05/22(日) 12:50:28.72[1]Cプログラミング
[2]10人の身長(150cm〜180cm)を任意にキーボードから入力し、
160cm以上の人数と未満の人数、およびそれらの平均値を求めよ。
[3] 環境
[3.1] windows xp
[3.2] bcc55
[3.3] C言語
[4] 期限:2011/05/23
[5]puts,scanf,if,elseなどは使えます。
0114デフォルトの名無しさん
2011/05/22(日) 15:38:54.88一応動くけど、自分も学習中だから自信がない
http://codepad.org/ZbmxjcO2
0115デフォルトの名無しさん
2011/05/22(日) 15:45:55.23全体の平均だけでいいのか、160cm以上、未満それぞれの平均が必要なのか
0116デフォルトの名無しさん
2011/05/22(日) 18:49:10.53[2] 問題文:数Xを0がくるまでキーボードから入力して、各数字における
(X^2+1)/(X+X)を求めよ。ただし0が入力されたら終わりとする。
[3] 環境
[3.1] OS:(Windows XP
[4] その他:結果は画面に出力し、数字は整数入力とする。
補足 かなりの初心者なのでfor文ぐらいまでの知識しか理解できません
0117デフォルトの名無しさん
2011/05/22(日) 19:18:48.24int main(void){
/**/int X;
/**/while(1){
/**//**/scanf("%d", &X);
/**//**/if (X==0)
/**//**//**/break;
/**//**/printf("%d\n", (X*X+1)/(X+X));
/**/}
/**/return 0;
}
0118デフォルトの名無しさん
2011/05/22(日) 19:54:29.280入力でしゅうりょうだから無限ループじゃなくて素直に判定に入れたほうが良くない?
あと入力が整数でも除算が含まれるので計算結果は整数とは限らない
と言うことで
#include <stdio.h>
int main(void){int num;while(scanf("%d",&num)&&num!=0){printf("%f\n",(num*num+1.)/(2.*num));}return 0;}
ただし数値以外を入力したときも終了するから、その場合読み飛ばすなら適当に処理を加えて
0119デフォルトの名無しさん
2011/05/22(日) 20:21:44.29[1] 授業単元:アルゴリズム
[2] 問題文(任意の整数を入力、位が高いほうから一桁ずつ表示、各位の合計を算出):
[3] 環境
[3.1] OS: (Windows)
[3.2] gcc
[3.3] 言語:C
[4] 期限: 2011年5月23日19:30まで]
[5] その他の制限: (配列、ポインタ、関数、使用禁止です)
cの本買ってきてまねして作っていますが、本が増えていくだけです。
さっぱり動きません。
0120デフォルトの名無しさん
2011/05/22(日) 20:27:52.71何も書けないな
0121デフォルトの名無しさん
2011/05/22(日) 20:30:26.600122デフォルトの名無しさん
2011/05/22(日) 20:45:32.68int main(void){
int data, i, t;
char work[20];
putchar('>');
scanf("%d", &data);
sprintf(work, "%d", data);
t = 0;
for(i=0; work[i]; i++) {
printf("%c\n", work[i]);
t += work[i] - '0';
}
printf("total=%d\n", t);
}
0123デフォルトの名無しさん
2011/05/22(日) 20:53:18.98おい関数使ってるじゃねーか
0124デフォルトの名無しさん
2011/05/22(日) 21:46:33.47[2] 問題文:
ファイルから指定した文字列を検索し、行番号と検索文字列該当部分に***の1行
検索文字列を含んだ行すべてを表記した1行を画面に出力する
ただし、ファイルについてはタブを半角スペースに変換させ、エラー文についても適宜出力させる
表記例(検索文字:aaa)
行番号 *** ***
aaa bbb ccc aaa 111
[3] 環境
[3.1] OS: Windowsxp
[3.3] 言語: C
[4] 期限:5月23日
[5] その他の制限: タブ→スペース変換については関数を新たに作る
別の板で***の表示について相談したのですが、Cでどのように書けばいいか分からなかったので
こちらで質問をさせていただきます。
つまづいている部分としては***の表示とタブをスペースに変換するという点についてです。
どうかよろしくお願いします。
0125デフォルトの名無しさん
2011/05/22(日) 21:51:30.11Qの弟子ですよね
0126デフォルトの名無しさん
2011/05/22(日) 22:04:14.13表記例がイミフ
0127デフォルトの名無しさん
2011/05/22(日) 22:14:10.85最後に /* end */ って付けなくちゃなw
0128124
2011/05/22(日) 22:48:09.59表記がずれましたスミマセン
行番号のところは検索文字列がある行の数字が入り、aaaの部分で***が
上に来るように出力を行えるようにしたいと思っています。
0129122
2011/05/22(日) 23:02:35.91int main(void){
/* 2147483648 */
int data, a, t, n = 1000000000;
putchar('>');
scanf("%d", &data);
do {
a = data / n;
n /= 10;
} while(a == 0 && n > 0);
if(n == 0) n = 1;
else n = n * 10;
/* printf("%d %d\n", a, n); */
t = 0;
do {
a = data / n;
printf("%d\n", a);
data %= n;
n /= 10;
t += a;
} while(n);
printf("total=%d\n", t);
}
0130デフォルトの名無しさん
2011/05/22(日) 23:20:23.69ありがとうございます。
ヒントもくれず、毎回出される出来そうもない課題に、
暗い毎日を送っております。
ひと時の安らぎをいただきました。
今夜は眠れそうです。
0131デフォルトの名無しさん
2011/05/22(日) 23:23:09.50自分がどこまでわかっていて、どうすれば○○ができるのかがわからない、と質問すれば教えてくれるはずだよ。
0132デフォルトの名無しさん
2011/05/22(日) 23:30:31.25>>120の言うようにこのままだとアレなので
io以外の標準関数を使用しない縛りで
#include <stdio.h>
int main(void){int i,num,digit,power,val,sum=0;char str[11];scanf("%d",&num);digit=sprintf(str,"%d",num)-1;for(;digit>=0;digit--){for(power=1,i=0;i<digit;++i){power*=10;}printf("%d\n",val=num/power);sum+=val;num%=power;}printf("%d\n",sum);return 0;}
0133デフォルトの名無しさん
2011/05/23(月) 01:16:09.58[2] 問題文:
http://uploader.sakura.ne.jp/src/up41234.jpg
http://uploader.sakura.ne.jp/src/up41235.jpg
http://uploader.sakura.ne.jp/src/up41236.jpg
http://uploader.sakura.ne.jp/src/up41237.jpg
http://uploader.sakura.ne.jp/src/up41238.jpg
http://uploader.sakura.ne.jp/src/up41239.jpg
http://uploader.sakura.ne.jp/src/up41240.jpg
http://uploader.sakura.ne.jp/src/up41241.jpg
http://uploader.sakura.ne.jp/src/up41242.jpg
http://uploader.sakura.ne.jp/src/up41243.jpg
http://uploader.sakura.ne.jp/src/up41244.jpg
上の図の構文図を(上から順に図1〜図11)を拡張BNFで記述せよ。
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: 講義で使っている言語はC及びKPLです。
[4] 期限: 5月23日16時まで
コンパイラが得意な方お願いします。
0134デフォルトの名無しさん
2011/05/23(月) 01:30:38.71問題の画像が消えるかもしれないので予備です。上から順番に図1〜図11
http://www.gazo.cc/up/38912.jpg
http://www.gazo.cc/up/38913.jpg
http://www.gazo.cc/up/38914.jpg
http://www.gazo.cc/up/38915.jpg
http://www.gazo.cc/up/38916.jpg
http://www.gazo.cc/up/38917.jpg
http://www.gazo.cc/up/38919.jpg
http://www.gazo.cc/up/38920.jpg
http://www.gazo.cc/up/38924.jpg
http://www.gazo.cc/up/38921.jpg
http://www.gazo.cc/up/38922.jpg
0135デフォルトの名無しさん
2011/05/23(月) 01:37:43.63単純な1行入力にも、mygettext だっけ?何がメリットなのかよくわからない複雑怪奇なしかもバッファはたったの3バイトの例のあれを使わないと。
0136デフォルトの名無しさん
2011/05/23(月) 01:53:15.520137デフォルトの名無しさん
2011/05/23(月) 01:53:45.34予備2
http://www1.axfc.net/uploader/Sc/so/236912.zip
0138デフォルトの名無しさん
2011/05/23(月) 01:55:38.67パスは9317です
0139デフォルトの名無しさん
2011/05/23(月) 03:01:41.55どうみてもC言語の宿題じゃない件
0140106
2011/05/23(月) 03:36:09.73実装していただきたいと思いました。ちなみに研究室の課題です。
0141デフォルトの名無しさん
2011/05/23(月) 03:38:12.01スレ違い。
0142デフォルトの名無しさん
2011/05/23(月) 03:39:58.03研究室か。
そろそろ年貢の納め時だよー
0143デフォルトの名無しさん
2011/05/23(月) 03:41:27.820144デフォルトの名無しさん
2011/05/23(月) 08:15:29.71私文受けなおすか、頭つかわない肉体派に転向しなよ。
0145デフォルトの名無しさん
2011/05/23(月) 10:06:48.520146デフォルトの名無しさん
2011/05/23(月) 12:19:41.07[2] 問題文(含コード&リンク):
for文を用いて、下の実行結果のように、定価(price)を入力すると
1〜9割引の価格(kakaku)を表示するプログラムを作成せよ
定価の入力:500
1割引=450
2割引=400
3割引=350
4割引=300
5割引=250
6割引=200
7割引=150
8割引=100
9割引=50
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:Visual C++
[3.3] 言語:C++
[4] 期限:2011/5/31
宜しくお願いします
0147デフォルトの名無しさん
2011/05/23(月) 12:21:35.430148デフォルトの名無しさん
2011/05/23(月) 12:23:16.46printf("%d割引=%d\n", i, teika * (10 - i) / 10);
0149デフォルトの名無しさん
2011/05/23(月) 12:40:29.13#include <iostream>
int main()
{
using namespace std;
cout << " 定価の入力";
int teika;
cin >> teika;
for(int i = 1; i < 10; ++i)
cout << i << "割引=" << teika * (10 - i) / 10 << endl;
}
0150デフォルトの名無しさん
2011/05/23(月) 12:52:08.63using namespaceは常に悪
0151デフォルトの名無しさん
2011/05/23(月) 12:53:56.35ありがとうございました
0152デフォルトの名無しさん
2011/05/23(月) 12:56:18.24いいのかよw
>>150
常に悪は言い過ぎ。
汚染させまくる可能性が高い初心者の「オマジナイ」としてなら無くはない程度。
0153デフォルトの名無しさん
2011/05/23(月) 13:05:28.59using namespace stdならよく見かけるが
0154デフォルトの名無しさん
2011/05/23(月) 22:44:28.40#include <stdio.h>
int main(void){
/* 2147483648 */
int data, a, t, n = 1000000000;
n = 1000000000はの意味が分かりません。1000000000をnに入れて初期化ですか。
ご指導をお願い申し上げます。
0155デフォルトの名無しさん
2011/05/23(月) 22:49:17.44考えるな、感じろ!
0156デフォルトの名無しさん
2011/05/23(月) 23:13:32.921000000000をnに入れて初期化です
0157デフォルトの名無しさん
2011/05/24(火) 01:56:37.70一番上の桁から取りたいんだとおもうよ
0158デフォルトの名無しさん
2011/05/24(火) 01:58:33.760159デフォルトの名無しさん
2011/05/24(火) 02:25:29.76[2] 問題文(含コード&リンク):
英語のテキストデータを入力とし、ファイル内に現れる「単語」(文字列)と
そのカウントをプリントするプログラムを作成せよ。同時に現れた「単語」の総数を
プリントすること。なお、ここで「単語」とはデリミタで区切られるアルファベットだけ
からなる文字列と定義する。「単語」は各データファイルにつき、総単語数は高々2,000単語
しか現れないと仮定して良い。配列でプログラムする場合、1単語長の最大値を適当に固定して良い。
ヒント
デリミタとは、この課題では以下のASCII文字と定義する。
(a) 制御文字 (iscntrl(c)が1となる文字c)
(b) 数字 (isdigit(c)が1となる文字c)
(c) アルファベット以外の印刷可能文字 (isprint(c)が1で、isalpha(c)が0となる文字c)
[3] 環境
[3.1] OS:Mac OS X
[3.2] コンパイラ名とバージョン:gcc 4.1
[3.3] 言語:C
[4] 期限:5月25日
[5] その他の制限:単語を保持するために、
1.ポインタを使う場合 と
2.ポインタを使わずに配列で表す場合
とをお願いします。
0160デフォルトの名無しさん
2011/05/24(火) 09:50:53.880161デフォルトの名無しさん
2011/05/24(火) 13:23:47.340162デフォルトの名無しさん
2011/05/24(火) 14:03:00.560163デフォルトの名無しさん
2011/05/24(火) 14:25:11.200164デフォルトの名無しさん
2011/05/24(火) 15:44:30.26[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
int型の二つの変数があるとする。
この二つの変数の値の和を一方の変数に代入する関数
void add(int *address1, int * address2)を定義し、
その動作を確認するプログラムkadai6-1.cを作りなさい。
ただし、答えはaddress1で指定された変数に代入されるものとする。
scanf("%d %d", &a, &b);
答えは以下で出力されるものとする。
printf("a = %d, b = %d\n", a, b);
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: ([2011年5月27日])
0165デフォルトの名無しさん
2011/05/24(火) 15:45:47.00[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
キーボードから入力した長さ10の文字列の任意の2つの文字を
入れ換える関数void swap(char *address1, char *address2)を定義し、
その動作を確認するkadai6-2.cを作りなさい。
この関数は引数で与えられたアドレスのメモリにアクセスして中身を
入れ換える作業を行う。
ただし、文字列と入れ換える2つの文字の位置は次のように入力されるものとする。
scanf("%s %d %d", str, &position1, &position2);//それぞれ文字列、位置1, 位置2を表している。
答えは以下で出力されるものとする。
printf("answer = %s\n", str);
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: ([2011年5月27日])
0166122
2011/05/24(火) 15:46:42.77int main(void){
int num, val, i, digit, power=1, sum=0;
putchar('>');
scanf("%d", &num);
for(digit=0; digit<10; digit++){
if(num/power/10 == 0) break;
power *= 10;
}
/* printf("%d %d\n", digit, power); */
for(i=0; i <= digit; i++){
val = num / power;
printf("%d\n", val);
sum += val;
num %= power;
power /= 10;
}
printf("total=%d\n", sum);
}
0167デフォルトの名無しさん
2011/05/24(火) 16:04:10.91#include <stdio.h>
void add(int *address1, int *address2) { *address1 += *address2; }
int main(void)
{
int a, b;
scanf("%d %d", &a, &b);
add(&a, &b);
printf("a = %d, b = %d\n", a, b);
return 0;
}
>>165
#include <stdio.h>
void swap(char *address1, char *address2) {
char temp = *address1;
*address1 = *address2;
*address2 = temp;
}
int main(void)
{
int position1, position2;
char str[11];
scanf("%s %d %d", str, &position1, &position2);
swap(str + position1, str + position2);
printf("answer = %s\n", str);
return 0;
}
0168デフォルトの名無しさん
2011/05/24(火) 16:12:00.85http://pastebin.com/U1R5pxgx
-DUSE_POINTERでコンパイルすると
1.ポインタを使う場合
指定なしで
2.ポインタを使わずに配列で表す場合
0170デフォルトの名無しさん
2011/05/24(火) 16:54:06.28どこがどう違うのか書けよksg
0171159
2011/05/24(火) 18:09:49.22区別して大丈夫です
>>168
ありがとうございます。
申し訳ないのですが、ポインタを使う場合と使わない場合で、
別のソースファイルにしていただけますでしょうか?
できれば説明のコメントも付けて頂けるとありがたいです。
0172デフォルトの名無しさん
2011/05/24(火) 18:42:37.58条件の後出しはお断りだ。
0173デフォルトの名無しさん
2011/05/24(火) 18:48:15.25[2] 問題文:RPGに登場するキャラをイメージした
テストプログラムを作成する。
下記メンバを含む構造体を定義(1)キャラの名前
(2)HP(3)関数ポインタ
0174デフォルトの名無しさん
2011/05/24(火) 18:51:55.93上記構造体を4体分配列として宣言。
下記の仕様でプログラムを作成する。
�@1回のループで、それぞれのキャラが1回アクションを行う。
*ループは、一回ごとにキー入力で行う。
�A各キャラが行うアクションは次の通り。
ノーマル状態・・・HPなどに変化なし。現在のHPを表示。
0175デフォルトの名無しさん
2011/05/24(火) 18:55:32.06毒状態・一回実行するごとにHP-5、HPを表示する。
回復状態・・HPが+20される。HPを表示する。
死亡状態・”xxxxxは死んでいます・・・”を表示
各状態の遷移条件は次の通り。
0176デフォルトの名無しさん
2011/05/24(火) 18:59:21.76・ノーマル状態からは10%で毒になる。
・毒状態からは10%でノーマルになり、
10%で回復状態になる。
・回復状態からは強制的に通常状態になる。
0177デフォルトの名無しさん
2011/05/24(火) 19:05:08.89・死亡状態からは1%でノーマルになりHPは1になる。
・死亡状態からは5%でゾンビ状態となる
・ノーマル状態からは2%でヘブン状態になる。
0178デフォルトの名無しさん
2011/05/24(火) 19:06:30.41・HPが0以下になれば死亡になりそれ以降の遷移はない。
[3.1] OS:Windows7[3.3] 言語:C
[4] 期限:2011年5月26日12:00まででお願いします。
0179デフォルトの名無しさん
2011/05/24(火) 19:09:31.220180デフォルトの名無しさん
2011/05/24(火) 19:31:35.650181デフォルトの名無しさん
2011/05/24(火) 19:39:36.090182デフォルトの名無しさん
2011/05/24(火) 19:40:44.94>・死亡状態からは5%でゾンビ状態となる
>・HPが0以下になれば死亡になりそれ以降の遷移はない。
やりとほこ
0183デフォルトの名無しさん
2011/05/24(火) 19:42:43.930184デフォルトの名無しさん
2011/05/24(火) 19:44:09.80とりあえずこんな感じでどうかな
>>177
は明らかに偽物だろwwwww
0185デフォルトの名無しさん
2011/05/24(火) 19:49:23.46嫉妬!
0186デフォルトの名無しさん
2011/05/24(火) 20:07:29.18>>184
ありがとうございました!
0187デフォルトの名無しさん
2011/05/24(火) 21:01:05.93むくっと起き上がる
0188デフォルトの名無しさん
2011/05/25(水) 00:08:50.38問題文ぐらい読めるようになっとこうぜ
> 答えは以下で出力されるものとする。
> printf("answer = %s\n", str);
これは、出力が「printf("answer = %s\n", str);」という文字列なんじゃなくて、
printf("answer = %s\n", str);という記述を用いて答えを出力しなさいよって意味だよ。
0189デフォルトの名無しさん
2011/05/25(水) 00:31:00.51エスパーするとそういうことじゃなくて、
何文字目を入れ替えるって入力したいのに何バイト目を入れ替える処理
になってるから1文字分入れ替え位置がずれてるってことじゃね?
間違ってたらすまん。
0190デフォルトの名無しさん
2011/05/25(水) 01:20:07.29まぁ1行だけ修正すれば動く
swap(str + position1, str + position2);
↓
swap(str + position1 - 1, str + position2 - 1);
0191デフォルトの名無しさん
2011/05/25(水) 03:08:05.19[2]ピクロスの問題が与えられたとき、解が一意に決まるかどうかを判定するプログラムを作成せよ
問題は標準入力からカンマ区切りで与えられ、縦横ともに30を最大のサイズとする(正方形とは限らない)
入力例
2
1,1
4
1,1
1,1
4
1,1
1,1
4
出力例
問題として成立しています
□■■□
■□□■
■■■■
■□□■
■□□■
[3]環境
[3.1] OS: 指定無し
[3.2] コンパイラ名とバージョン: 指定無し
[3.3] 言語: どちらでも可
[4] 期限: 無期限
[5] その他の制限: できる限り処理が早くなるように
0192デフォルトの名無しさん
2011/05/25(水) 03:15:43.37何行目までが横なのか不明なフォーマットだから無理じゃね?
0193デフォルトの名無しさん
2011/05/25(水) 03:20:00.79確かに境界部分に0が並ぶとマズいね
0194デフォルトの名無しさん
2011/05/25(水) 05:01:25.44ああ、納得した。てっきり。
0195デフォルトの名無しさん
2011/05/25(水) 05:04:08.54数えたらわかると思う
0196デフォルトの名無しさん
2011/05/25(水) 05:06:05.23その時は0が並んだところだけ、複数パターン検査で
0197デフォルトの名無しさん
2011/05/25(水) 18:00:44.36[2] 問題文(含コード&リンク):
http://codepad.org/t6Un18Xw
上記のファイルを元に40年間の年平均気温の平均気温より平均気温が低い年を
ファイルkadai05.datへ出力するプログラムkadai05.c を作成せよ。
また同様に年平均気温の低い順番に並び替えて、
ファイルkadai06.datへ出力するプログラムkadai06.c を作成せよ
元のファイルで使っているtokyo.datは↓です
http://www.dotup.org/uploda/www.dotup.org1668350.dat
[3] 環境
[3.1] OS: windows
[3.2] cigwin gcc -o
[3.3] 言語: C
[4] 期限:出来れば本日中
[5] その他の制限:
ファイルの内容が大体の習った内容です
0198デフォルトの名無しさん
2011/05/25(水) 18:07:39.620199デフォルトの名無しさん
2011/05/25(水) 18:19:28.92追記
tokyo.dat は1970年から2009年までの気象情報のデータである。
各行の情報は左から、
年、平均気温、
最高気温の年平均、最高の最高気温、最高の最高気温を記録した日、
最低の最高気温、最低の最高気温を記録した日、
最低気温の年平均、最低の最低気温、最低の最低気温を記録した日、
最高の最低気温、最高の最低気温を記録した日
である。
0200デフォルトの名無しさん
2011/05/25(水) 18:32:12.19元のコードがひどいんだけど
0201デフォルトの名無しさん
2011/05/25(水) 18:47:16.12元が酷いのは仕様です…
同じ程度のレベルなら書き直していただいて大丈夫です
0202デフォルトの名無しさん
2011/05/25(水) 19:02:13.440203デフォルトの名無しさん
2011/05/25(水) 19:16:12.11多分どっちも習っていないと思うので使わないでいただけると
理解がしやすくて助かります
0204デフォルトの名無しさん
2011/05/25(水) 20:12:28.47kadai05.c
ttp://ideone.com/kMr8Y
kadai06.c
ttp://ideone.com/6M3AT
0205デフォルトの名無しさん
2011/05/25(水) 20:14:16.51元のどのあたりが酷いと思う?
0206デフォルトの名無しさん
2011/05/25(水) 20:21:35.36ありがとうございます
>>205
見難いなという事しか…
0207デフォルトの名無しさん
2011/05/25(水) 20:36:12.21[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
寒暖の差が大きい順番に並び替えて、ファイルkadai07.datへ出力するプログラムkadai07.c を作成せよ。
寒暖の差: 最高の最高気温? 最低の最低気温
[3] 環境
[3.1] OS: windows
[3.2] cigwin gcc -o
[3.3] 言語: C
[4] 期限:出来れば本日中
[5] その他の制限:
0208デフォルトの名無しさん
2011/05/25(水) 20:52:46.94出来たけど、>>205に答えたら公開する
0209デフォルトの名無しさん
2011/05/25(水) 21:07:45.72酷いといわれたから、よくわからないまま同調して酷いといってしまったんだろうけど、
しいていうなら見難いらしい。
別に見にくいとはまるで思わないんだけど「もしかして:インデント」
0210デフォルトの名無しさん
2011/05/25(水) 21:10:39.86char型へdouble型代入しようとしてる所と、
scanfでポインタのポインタ渡してる所あるでしょ、
そこが期待通りの動作になってない。
0211デフォルトの名無しさん
2011/05/25(水) 21:31:01.84解説しちゃったんで公開するね
ttp://ideone.com/LFRCr
0212デフォルトの名無しさん
2011/05/25(水) 21:53:44.310213デフォルトの名無しさん
2011/05/25(水) 21:58:25.560214デフォルトの名無しさん
2011/05/25(水) 22:00:17.620215213
2011/05/25(水) 22:03:51.36のことを言ってるんだと思う
ポインタのポインタっていうか型が間違ってるのが適切な気がするが
0216デフォルトの名無しさん
2011/05/25(水) 23:27:04.03うちの大学の教授が違うように書いているんですが、時間オーダーってググッても出ません。
0217デフォルトの名無しさん
2011/05/25(水) 23:34:04.00同じ O(n) のアルゴリズムがあるとして
同じデータに対して片方は1秒、もう片方は100秒かかるとかそういうんじゃね?
0218デフォルトの名無しさん
2011/05/25(水) 23:38:01.75むしろそうでなきゃ指標として何の意味が・・・・・・・
0219デフォルトの名無しさん
2011/05/25(水) 23:41:30.64時間オーダーと空間オーダー(必要メモリ量)、は確かに違うと思いますが、
時間オーダーと計算量オーダーは一緒のような気が。
いちど先生に聞いてみればいいと思います。
例外はあるでしょうが、学生の質問というものは先生にとってはウェルカムだと思います。
自分のしゃべっていることが相手に一部でも届いていることを確認できる機会ですから。
0220デフォルトの名無しさん
2011/05/25(水) 23:46:28.91[1] 授業単元:実用プログラミング
[2] 問題文(含コード&リンク):
キーボードから入力された2つの整数と演算番号(1〜4)に対して、ポインタを使って以下の処理をするプログラムを作りなさい。
ただし、演算番号として1〜4以外の値が入力された場合は、"該当する番号がありません.確認して下さい"
と表示してプログラムを終了させることとする。
(↓からプログラム実行例。_が後ろの数字に付いてる所はキーボードからの入力を表す)
2つの実数a,bを入力してください.
a=3_
b=5_
計算の種類を選んでください.
1:a+b
2:a-b
3:a*b
4:a/b
==>4_
a/b=0.600000
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン: Microsoft Visual C++ 2008 Express edition
[3.3] 言語: C++
[4] 期限: 2011年 5月27日(金) 13:00 まで
[5] その他の制限:
入出力関数を用いて解答すること。ポインタを使うこと。
printfとscanfでお願いします。
0221デフォルトの名無しさん
2011/05/25(水) 23:47:56.87何がわからないの?
とりあえず出来てる分のコードを書け
0222デフォルトの名無しさん
2011/05/25(水) 23:48:17.40[2] 問題文(含コード&リンク):
配列とポインタを使って以下の2つの行列AとBの足し算を行い、
結果(行列C)を表示させるプログラムを作りなさい。
[11] [5]
[22] [4]
A=[33], B=[3] C=A+B
[44] [2]
[55] [1]
(下は表示例)
c[5]={16, 26, 36, 46, 56}
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン: Microsoft Visual C++ 2008 Express edition
[3.3] 言語: C++
[4] 期限: 2011年 5月27日(金) 13:00 まで
[5] その他の制限:
入出力関数を用いて解答すること。
配列とポインタを使用する事。
0223デフォルトの名無しさん
2011/05/25(水) 23:48:55.58[2] 問題文(含コード&リンク):
配列とポインタを使って以下の2つの行列AとBの足し算を行い、
結果(行列C)を表示させるプログラムを作りなさい。
[11] [5]
[22] [4]
A=[33], B=[3] C=A+B
[44] [2]
[55] [1]
(下は表示例)
c[5]={16, 26, 36, 46, 56}
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン: Microsoft Visual C++ 2008 Express edition
[3.3] 言語: C++
[4] 期限: 2011年 5月27日(金) 13:00 まで
[5] その他の制限:
入出力関数を用いて解答すること。
配列とポインタを使用する事。
0224デフォルトの名無しさん
2011/05/26(木) 00:06:27.98出来たのはここまでです。
これ以上どうやれば分からないです(;ω;)
#include <stdio.h>
int main(void)
{
int a, b, c;
printf("2つの実数a,bを入力して下さい.\n");
printf("a=%d");
scanf("%d", &a);
printf("b=%d");
scanf("%d", &b);
printf("計算の種類を選んでください.\n");
printf("1:a+b\n");
printf("1:a-b\n");
printf("1:a*b\n");
printf("1:a/b\n");
printf(" ==>%d");
scanf("%d", &c);
}
0225デフォルトの名無しさん
2011/05/26(木) 00:22:42.44ここまでは出来ました。これから先はどうしたらいいでしょうか。
#include <stdio.h>
int main(void)
{
double a, b;
int c;
printf("2つの実数a,bを入力して下さい.\n");
printf("a=");
scanf("%lf", &a);
printf("b=");
scanf("%lf", &b);
printf("計算の種類を選んでください.\n");
printf("1:a+b\n");
printf("2:a-b\n");
printf("3:a*b\n");
printf("4:a/b\n");
printf(" ==>");
scanf("%d", &c);
switch(c) {
case 1:
printf("a+b=%f\n", a + b); break;
case 2:
printf("a-b=%f\n", a - b); break;
case 3:
printf("a*b=%f\n", a * b); break;
case 4:
printf("a/b=%f\n", a / b); break;
}
}
0226デフォルトの名無しさん
2011/05/26(木) 00:46:51.28該当する番号がない場合を
switchに追加すれば完成だろう
defaultを使うのが楽
0227デフォルトの名無しさん
2011/05/26(木) 00:54:23.43加えて結果を表示するときにa(演算子)bじゃなくて入力した数値を出せばいいかもね
0228デフォルトの名無しさん
2011/05/26(木) 00:56:13.27問題文と違っちゃわないかそれ
0229デフォルトの名無しさん
2011/05/26(木) 01:18:50.92マジだ。。。スマン
0230デフォルトの名無しさん
2011/05/26(木) 01:19:19.360231デフォルトの名無しさん
2011/05/26(木) 01:25:14.610232デフォルトの名無しさん
2011/05/26(木) 01:26:34.040233デフォルトの名無しさん
2011/05/26(木) 01:28:13.99入出力の後の、四則演算部分でポインタを使えと
指定してあるようにも読める
0234デフォルトの名無しさん
2011/05/26(木) 01:28:43.14224と225は別人
0235デフォルトの名無しさん
2011/05/26(木) 04:59:08.800236デフォルトの名無しさん
2011/05/26(木) 06:24:51.86[2]次のコードは、キーボードから0から9までの4つの数を
受け取って小さい順から書き出すプログラムの未完成版である。
コードを完成させなさい。fgetsでキーボードから文字列を受け取り、
それをatoi関数で整数に変換し、0から9までの範囲にあるか確認し、
範囲にない場合は再入力を促し再入力させること。
#include <stdio.h>
#inckude <stdlib.h>
int main(void){
char s[1024];//fgets関数に与える文字列バッファ
char *t;//fgets戻り値格納用
int n;//atoi関数の戻り値格納用
{
//この部分にコードを追加してコードを完成させてください。
return(0);
}
[3] Windows 7/Microsoft SDK/C言語
[4]5/31まで
[5]簡単な課題だそうですが、手こずってます。どうかよろしくお願いします。
0237デフォルトの名無しさん
2011/05/26(木) 06:38:26.66atoiで変換してから判定しろって書かれてるようだからそうしたけど、それだと妙な入力されると0だと判定しちゃうけどいいんだろうかってのと
t結局使ってない
#include <stdio.h>
#include <stdlib.h>
int main(void){
char s[1024];//fgets関数に与える文字列バッファ
char *t;//fgets戻り値格納用
int n;//atoi関数の戻り値格納用
//この部分にコードを追加してコードを完成させてください。
do {
t = fgets(s, 1024, stdin);
n = atoi(s);
} while(!(0 <= n && n <= 9) && printf("[0, 9] に無いのでもう一回入力してください\n"));
printf("[0, 9] の値が入力されました\n");
return(0);
}
0238236
2011/05/26(木) 07:00:32.77迅速な回答ありがとうございます。
とりあえずコピペして動かしてみます。
実行結果も提出しなければならないらしいので...
ありがとうございました。
0239デフォルトの名無しさん
2011/05/26(木) 09:01:46.540240デフォルトの名無しさん
2011/05/26(木) 09:02:49.720241236
2011/05/26(木) 11:18:26.99とりあえず動きましたが、やはり
問題文の意図どおりじゃないのかも
しれません。出来ればもう一度お願い
したいのですが...
0242デフォルトの名無しさん
2011/05/26(木) 11:32:06.27[2] 問題文: 与えられた文字数分だけ文字を1文字ずつ順に表示する print 関数を作成せよ。
引数として文字列配列 string と整数 n を用いること。
ここで、 string は文字列型ポインタ配列の先頭アドレスを。 n は表示する文字数を意味する。
[3] 環境
[3.1] OS: Windows7
[3.2] コンパイラ名とバージョン: Visual Studio2008
[3.3] 言語: C
[4] 期限: 5月31日09:00まで
[5] その他の制限: ありません。
0243デフォルトの名無しさん
2011/05/26(木) 12:21:16.370244デフォルトの名無しさん
2011/05/26(木) 12:22:10.71#include <stdio.h>
void print(const char *string, int n) {
int i;
for (i = 0; i < n; i++) {
putchar(string[i]);
}
}
int main(void) {
print("Hello World", 5);
return 0;
}
0245デフォルトの名無しさん
2011/05/26(木) 12:24:51.22printf("%.*s", n, string);
}
0246デフォルトの名無しさん
2011/05/26(木) 12:34:33.24こんなの出来たんだ、知らんかったw
0247デフォルトの名無しさん
2011/05/26(木) 12:53:24.43早い対応ありがとうございます。
0248デフォルトの名無しさん
2011/05/26(木) 14:40:46.99[2] 問題文(含コード&リンク):VC++で3つのメモリマップドファイルを作成しそれぞれに1,2,3の値を入れ表示するプログラムを作りなさい。
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: VC++2008
[3.3] 言語: c++
[4] 期限: なるべく早めに
[5] その他の制限:
お願いします
0250249
2011/05/26(木) 15:32:08.410251デフォルトの名無しさん
2011/05/26(木) 16:35:23.17http://ideone.com/wo0du
こんなんでいいの?
0252デフォルトの名無しさん
2011/05/26(木) 17:33:24.00まあsub()の内容を別プログラムにしてsystem()で呼び出すだけだけど
あと継承をONにしとかないとだめだったけな
SECURITY_ATTRIBUTESをいじる
別にHANDLEを継承しなくても名前でオープンするんだから継承は不要だと思うけど
0253デフォルトの名無しさん
2011/05/26(木) 17:39:55.470254デフォルトの名無しさん
2011/05/26(木) 18:16:42.67ありがとうございます
ポインタを使うので*ptrとchar*に変える?でしょうか・・・
続きを分かる方居れば、教えて欲しいです。
0255デフォルトの名無しさん
2011/05/26(木) 18:23:35.61>>230であってるの?
0256デフォルトの名無しさん
2011/05/26(木) 18:31:27.22課題に現れる「ポインタ」があいまいなんだよ。
計算結果をポインタ経由で返すのか、引数をポインタで渡すのか、はたまた演算関数を
ポインタで呼び出すのか。
どれもポインタを使用する必然性が無いから、授業を受けていない部外者には選択できない。
結果をポインタ経由で返す
void calc(int c, double a, double b, double *ret)
引数をポインタで渡す:
double calc(int c, double *a, double *b)
関数ポインタ
double (*add)(double a, double b)
double (*sub)(double a, double b)
0257デフォルトの名無しさん
2011/05/26(木) 18:35:55.64教科書には、
変数は変数名とデータ型の情報をもっていて、メモリの任意のアドレスに配置されている。
これまでのプログラムでは変数名を指定して、データを代入したり、参照したりした。
ポインタは指し示すの意味が示すように、ある変数を指し示す変数でポインタ変数という。
ポインタ変数には指し示したい変数のアドレスを格納する。
ポインタ変数を使用する場合、変数と同様に宣言が必要である。
その場合、ポインタ変数は変数名の頭に[*]を付け、指し示す変数と同じデータ型で宣言する。
また、ポインタ変数の名前の付け方は変数の場合と同様である。
と書いてあります。
これは関数化するという事ですか?
0258デフォルトの名無しさん
2011/05/26(木) 18:50:49.92については触れないことにしているのかな。
0260デフォルトの名無しさん
2011/05/26(木) 20:15:18.85[2] 問題文
2つの整数(num1、num2)を入力させる。
このとき、num1<num2であるように入力する。
このときnum1以上num2以下の偶数を全て表示させるプログラムを作成して下さい
[3] 環境
[3.1] Windows7
[3.2] Microsoft Visual Studio 2008
[3.3] 言語: C
[4] 期限:出来れば今日で
お願いします!
0261デフォルトの名無しさん
2011/05/26(木) 20:31:08.46#include <stdio.h>
int main(int ac, char **av)
{
int num1, num2;
do {
num1 = 0; num2 = -1;
printf("2つの整数(num1 < num2)を空白で区切って入力してください。 ");
scanf(" %d %d", &num1, &num2);
} while(num1 >= num2);
num1 = (num1 + 1) / 2 * 2;
for (; num1 <= num2; num1 += 2)
printf("%d\n", num1);
}
0262デフォルトの名無しさん
2011/05/26(木) 20:33:51.79>>261は負の場合にバグってた。
#include <stdio.h>
int main(int ac, char **av)
{
int num1, num2;
do {
num1 = 0; num2 = -1;
printf("2つの整数(num1 < num2)を空白で区切って入力してください。 ");
scanf(" %d %d", &num1, &num2);
} while(num1 >= num2);
num1 = (num1 + (num1 < 0 ? -1 : 1)) / 2 * 2;
for (; num1 <= num2; num1 += 2)
printf("%d\n", num1);
}
0263デフォルトの名無しさん
2011/05/26(木) 20:34:26.11#include <stdio.h>
int main()
{
int num1, num2;
printf("num1 = "); scanf("%d", &num1);
printf("num2 = "); scanf(" %d", &num2);
for (num1; num1 <= num2; num1++) {
if (num1 % 2 == 0) {
printf("%d\n", num1);
}
}
return 0;
}
これでいいの?
0264デフォルトの名無しさん
2011/05/26(木) 20:34:48.55ありがとうございます!
0265デフォルトの名無しさん
2011/05/26(木) 20:41:38.390266デフォルトの名無しさん
2011/05/26(木) 20:45:38.35> このとき、num1<num2であるように入力する。
3つしかないそれも極めて容易な要求仕様を全部実装できないなんて…
0267デフォルトの名無しさん
2011/05/26(木) 20:54:33.58この条件に合わなかったときの要求は書いてない
0268デフォルトの名無しさん
2011/05/26(木) 20:55:27.690269デフォルトの名無しさん
2011/05/26(木) 20:56:24.59お前の頭がバグってるw
0270デフォルトの名無しさん
2011/05/26(木) 21:08:15.73入力させるじゃなくて入力するだから>>263で十分
0271デフォルトの名無しさん
2011/05/26(木) 21:17:58.31[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):
for文を用いて、下の実行結果のように、定価(price)を入力すると
1〜9割引の価格(kakaku)を表示するプログラムを作成せよ
定価の入力:500
1割引=450
2割引=400
3割引=350
4割引=300
5割引=250
6割引=200
7割引=150
8割引=100
9割引=50
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:Visual C++
[3.3] 言語:C++
[4] 期限:2011/5/31
price kakakuを入れて作りたいです
0272デフォルトの名無しさん
2011/05/26(木) 21:27:10.510273デフォルトの名無しさん
2011/05/26(木) 21:31:09.99[2] 問題文: char型の2次元配列 city[3][15]を宣言し、キーボードから3つの文字列 ”Osaka”,”Kyoto”,”Kobe”を入力し、配列 city[][]に格納する。そして、ポインタを使って格納された文字列データを文字ごとに画面に表示するプログラムを作成せよ。
[3] 環境
[3.1] OS: Windows7
[3.2] コンパイラ名とバージョン: Visual Studio2008
[3.3] 言語: C
[4] 期限: 6月2日09:00まで
[5] その他の制限: 問題文中にある「文字ごとに」というのは、1つずつ文字を出力することです。
0274デフォルトの名無しさん
2011/05/26(木) 21:56:48.82だから>>150書いたのになぁ
0275デフォルトの名無しさん
2011/05/26(木) 21:57:29.29http://ideone.com/vm1pe
0276 ◆YXb4nS0g1I
2011/05/26(木) 22:11:17.43[2] 問題文:
五者択一の自作の問題文章を表示させ、整数入力を受けつけ、正解・不正解の判定を行う。
ただし、正解が入力されるまで、「不正解」と表示した後、同じ問題を正解となるまで繰り返し表示し、回答を入力させる。
問題が2問である上記のようなプログラムを作成しなさい。
0277デフォルトの名無しさん
2011/05/26(木) 22:12:33.12#include <stdio.h>
int main(void)
{
int i,j;
char city[3][15],*p;
for (i=0; i<sizeof(city)/sizeof(city[0]); ++i)
{
scanf("%s", &city[i]);
}
p=city[0];
for(i=0; i<sizeof(city)/sizeof(city[0]); ++i)
{
j=0;
while(putchar(*(p+sizeof(city[0])*i+j++))!='\0')
{}
putchar('\n');
}
return 0;
}
0278 ◆YXb4nS0g1I
2011/05/26(木) 22:16:45.27[3] 環境
[3.1]OS: Windows7
[3.2] コンパイラ名とバージョン: Visual Studio2008
[3.3] 言語: C
[4] 期限: 今日
0279デフォルトの名無しさん
2011/05/26(木) 22:28:26.56とても助かりました。ありがとうございます。
0280デフォルトの名無しさん
2011/05/26(木) 22:45:17.28うーんどうもmutexの使い方が間違っていると思うんだけど原因がわからない
2つめのDOS窓がmutexを解放する前に1つめのDOS窓が終了してしまいます
http://ideone.com/oEysx
http://ideone.com/6OGcs
0281デフォルトの名無しさん
2011/05/26(木) 23:06:10.39#include <stdio.h>
int main()
{
int a_num;
int answer1 = 1, answer2 = 2; // 質問1の答えと質問2の答えを決めている
while (1) {
printf("問題1\n"); printf("1.〇〇\n2.〇〇\n3.〇〇\n4.〇〇\n5.〇〇\n");
printf("答の番号を入力してください\n"); scanf("%d", &a_num);
if (a_num == answer1) {
printf("正解です!\n\n");
break;
} else {
printf("不正解です!\n\n");
continue;
}
}
while (1) {
printf("問題2\n"); printf("1.〇〇\n2.〇〇\n3.〇〇\n4.〇〇\n5.〇〇\n");
printf("答の番号を入力してください\n");
scanf("%d", &a_num);
if (a_num == answer2) {
printf("正解です!\n\n");
break;
} else {
printf("不正解です!\n\n");
continue;
}
}
return 0;
}
0282デフォルトの名無しさん
2011/05/26(木) 23:10:03.19ごめんなさい。1 だけ。
http://codepad.org/8QqUqc81
こういう問題は解答がつきにくいですね。
0283デフォルトの名無しさん
2011/05/26(木) 23:31:12.60[1] 授業単元:プログラミング演習
[2] 問題文:
http://ideone.com/O6a82
以下のプログラムは、宣言(int ai[3][4][5];)の代わりに必要なメモリ領域だけを
mallocにより確保し、その中を配列と同様に利用しているものである。
なおメモリ内での配列の要素の配置順序は宣言による場合と同じとする。
(1)下線部を埋めてプログラムを完成させよ。(解答は下線部のみで良い)
(2)こうした手法の利点と欠点を述べよ。(箇条書きで良い)
[3] 環境
[3.1] OS:Linux
[3.2] gcc
[3.3] C言語
[4] 期限:05月27日12時まで
何卒よろしくお願いします。
0284デフォルトの名無しさん
2011/05/26(木) 23:55:19.37http://codepad.org/rkU4rWiP
0285デフォルトの名無しさん
2011/05/27(金) 00:39:41.77迅速な返答有難う御座いました。とても助かりました。
0286デフォルトの名無しさん
2011/05/27(金) 00:41:34.03284様に感謝です。有難う御座いました。
0287271
2011/05/27(金) 01:01:51.86151は自分ではないのですが、驚いて出てくるタイミング失ってしまいました
なんかダメダメですね・・・スレ汚し失礼しましたorz
0288デフォルトの名無しさん
2011/05/27(金) 01:06:49.510289デフォルトの名無しさん
2011/05/27(金) 03:12:04.87[2] 問題文(含コード&リンク):
M*R次元の行列(mat1)とR*N次元の行列(mat2)の乗算を行いM*N次元の行列(mat3)を
得る関数(matMul)を作成せよ。ただし、関数のプロトタイプにおいて行列を表す引数部分には、
2つの行列のサイズを表す引数と、行列データそのものを表す引数(2次元配列)を含めること。
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 5/29
[5] その他の制限:
任意の入力データファイルはmatDataとし、中身は以下の内容に習うこと。仮に、
mat1(M = 3, R = 2) = {{-1, 1}, {3, 0}, {-1, 2}}
mat2(R = 2, N = 3) = {{-1, 0, 3}, {1, -1, 1}}
の場合
[matData]
3 2 3
3 2
-1.0 1.0
3.0 0.0
-1.0 2.0
2 3
-1.0 0.0 3.0
1.0 -1.0 1.0
意味は、1行目の3 2 3は3*2と2*3行列を乗算するよ、という意味で、
2行目の3 2が3*2の行列で、そのあと3行が行列の中身、
続いて2 3は2*3行列で、そのあと2行がその中身を表します。
各数字の間は半角スペースがひとつ入っています。
※ポインタは使わないでください
※プログラムがどこで何をしているか分かりやすいように、できるだけコメント分を書いて頂けるとありがたいです
よろしくお願いします。
0290デフォルトの名無しさん
2011/05/27(金) 03:22:25.49補足
行列の乗算は、
C = AB ≡ C(i, j) = Σ(i=0, M-1)Σ(j=0, N-1)Σ(k=0, R-1)a(i,k)b(k,j)
の関係を利用した3重ループで作成すること。
また、配列の次元は適当な最大値で固定して良いです。(今回は最大で10行10列の行列を扱うということでお願いします。)
0291デフォルトの名無しさん
2011/05/27(金) 06:28:14.060292デフォルトの名無しさん
2011/05/27(金) 07:05:02.87多分な。「回答が付きにくい」と勝手に決めつけてめし
最後が /* end */ で終わってるし間違いないだろう
時間がなくて放置しただけかもしれないのにさも自分が「皆難しくて解けない
だろうから俺様だけが解ける」とでも言わんばかりの思いきり上から目線
何様だと思っているのやら
一言多いんだよなこいつは
0293デフォルトの名無しさん
2011/05/27(金) 07:21:37.380294デフォルトの名無しさん
2011/05/27(金) 09:30:17.75#include <iostream>
int main()
{
using namespace std;
cout << " 定価の入力";
int price;
cin >> price;
for(int i = 1; i < 10; ++i) {
int kakaku = price * (10 - i) / 10;
cout << i << "割引=" << kakaku << endl;
}
}
0295デフォルトの名無しさん
2011/05/27(金) 10:16:00.13動的二次元配列
ポインタ使うな、二次元配列を渡せってのをきっちり満たそうとするのが困難だなぁ
(配列の引数がポインタになる件は[]でいいってことにしても)
C99でわりと条件通りにやれそうだけどそれもどうなんだという気がするし
返り値がやっぱりどうにもならないし
どの条件を崩しちゃっていいのかがなんとも
0296デフォルトの名無しさん
2011/05/27(金) 10:20:21.840297デフォルトの名無しさん
2011/05/27(金) 10:23:09.070299デフォルトの名無しさん
2011/05/27(金) 10:31:21.99{
int i, j, k;
for(i = 0; i < M; i++) {
for(j = 0; j < N; j++) {
mat3[i][j] = 0;
for(k = 0; k < R; k++) mat3[i][j] += mat1[i][k] * mat2[k][j];
} } }
0300デフォルトの名無しさん
2011/05/27(金) 10:32:53.13void matMul(double mat1[][10], double mat2[][10], double mat3[][10], int M, int R, int N)
だな
0302デフォルトの名無しさん
2011/05/27(金) 10:57:14.780304289
2011/05/27(金) 11:07:48.650306デフォルトの名無しさん
2011/05/27(金) 11:32:34.37おい偽物だまれ
0307デフォルトの名無しさん
2011/05/27(金) 13:02:13.39いい加減にやめろ
そのうち誰かが代わりに作った物だという事がすぐにバレるようになるぞ
まあ出題した教官もここを見ているからすぐにバレるだろうが
0308デフォルトの名無しさん
2011/05/27(金) 13:31:45.31Pastebin.com is under heavy load right now, sorry...
But we are working on it!
In the mean time you can...
というのがずっと出て見れないんですけど...
出来たらcodepadかideoneにお願いします
0309デフォルトの名無しさん
2011/05/27(金) 13:37:56.450310デフォルトの名無しさん
2011/05/27(金) 14:45:55.86void matMul(double mat1[][10], double mat2[][10], double mat3[][10], int M, int R, int N)
{
int i, j, k;
double sum;
for(i = 0; i < M; i++)
for(j = 0; j < N; j++) {
sum = 0.0;
for (k = 0; k < R; k++)
sum += mat1[i][k] * mat2[k][j];
mat3[i][j] = sum;
}
}
のように引数全部にdoubleを付けないとコンパイルエラー
0311デフォルトの名無しさん
2011/05/27(金) 14:53:53.25http://ideone.com/6yx4M
0312デフォルトの名無しさん
2011/05/27(金) 15:09:26.47ありがとうございます
0313デフォルトの名無しさん
2011/05/27(金) 15:25:08.43そんな理由で判断してるのか。
上から目線に見えるのなら、まだ未熟なんでしょう。
0314デフォルトの名無しさん
2011/05/27(金) 15:30:16.27じゃあかわりにコード書けば?
0315デフォルトの名無しさん
2011/05/27(金) 15:31:09.97うざいなお前
0316デフォルトの名無しさん
2011/05/27(金) 15:31:56.44QZを擁護するのはQZ本人だという法則
0317デフォルトの名無しさん
2011/05/27(金) 15:32:48.15思い切り上から目線じゃねーか
自覚ないのかお前?重症だな
0318デフォルトの名無しさん
2011/05/27(金) 15:51:27.09お前にはかなわないよ。
>>316
だから、そんな理由で判断してるからダメなんだよ。
>>317
>>313のレスが上から目線だったって?そりゃあんまりだ。
0319デフォルトの名無しさん
2011/05/27(金) 15:56:34.98>まだ未熟なんでしょう。
普通こんな事は書かないだろが?あ?
0320デフォルトの名無しさん
2011/05/27(金) 15:58:35.350321デフォルトの名無しさん
2011/05/27(金) 16:00:49.44落ち着けよ。煽るのは好きだが煽られるのは嫌いなのか?あ?
>>320
そう?ちゃんとしたコードを書けないことは認めてなかった?
ただ、まともに指摘できる人が少ないだけで。
0322デフォルトの名無しさん
2011/05/27(金) 16:08:15.00>ただ、まともに指摘できる人が少ないだけで。
ほらほらまた上から目線
自己愛性人格障害だな
0323デフォルトの名無しさん
2011/05/27(金) 16:11:26.550324デフォルトの名無しさん
2011/05/27(金) 16:12:39.490325デフォルトの名無しさん
2011/05/27(金) 16:22:08.900326デフォルトの名無しさん
2011/05/27(金) 16:27:08.53「お前らまともに指摘してねーじゃんwwwゴミレスひっこんでろwww」だと上から目線に取られないかもしれないから試せ
あと、なぜか句点が怖い世代もいるから注意な
0328デフォルトの名無しさん
2011/05/27(金) 18:04:09.260329デフォルトの名無しさん
2011/05/27(金) 18:13:40.79つまり、基地害だけスレ
0330デフォルトの名無しさん
2011/05/27(金) 18:57:47.47表面は丁寧で礼儀正しいように見えるが、実は尊大で無礼なこと。
また、そのさま。慇懃尾籠(いんぎんびろう)。「―な態度」
まさにQZの事だwww
0331デフォルトの名無しさん
2011/05/27(金) 19:03:44.51何がしたいの?
0332デフォルトの名無しさん
2011/05/27(金) 19:05:51.140333デフォルトの名無しさん
2011/05/27(金) 19:07:46.390334デフォルトの名無しさん
2011/05/27(金) 19:09:29.260335デフォルトの名無しさん
2011/05/27(金) 19:31:10.94二分木を使ったことが糞ですか?
では、平衡二分木(AVL木)を使ったものを示します。
http://codepad.org/WYLGbk1J
>>282 の二文木ルーチン自体が糞ならば、もっといい二文木処理法を示していただけるとありがたいです。
それにしてもなんだか盛況ですねえ。
0336デフォルトの名無しさん
2011/05/27(金) 19:34:48.59本当に嫌っているのなら、まずいコードを具体的に引用して徹底的に叩くでしょう。
それができずに、単にキチガイ呼ばわりするだけでは、んー、言いにくいのですが、一アマチュアの私よりも能力が不足しているのではないでしょうか?
0337デフォルトの名無しさん
2011/05/27(金) 19:41:09.50[2] 問題文(含コード&リンク):
http://ideone.com/qwczx
[3] 環境
[3.1] OS: Linux
[3.2] gcc 3.4
[3.3] 言語C
[4] 期限: 無期限
[5] その他の制限: 使われてるコマンド以外は使わないで欲しい
ttp://ideone.com/qwczx
構造体と関数を使ったプログラムで、main文で値を決めて関数に送って計算する、
といった簡単なプログラムなのですがエラーがでて動きません。
どこが間違っているのでしょうか?
0338デフォルトの名無しさん
2011/05/27(金) 19:42:06.79ってかまた燃料投下したね
0339デフォルトの名無しさん
2011/05/27(金) 19:44:53.360340デフォルトの名無しさん
2011/05/27(金) 19:46:20.65まず深呼吸を
0341デフォルトの名無しさん
2011/05/27(金) 19:50:00.38プロトタイプ宣言を変える(戻り値と引数)
double keisan (ONE_POINT point[2], double a1, double a2, double a3, double a4);
~~~~~~ ~~~
関数の定義を変える(戻り値のタイプミスと引数)
double keisan (ONE_POINT point[2],double a1, double a2, double a3, double a4)
~~~~~~ ~~~
0342デフォルトの名無しさん
2011/05/27(金) 19:55:24.15あほ、このスレは回答者がオナニーするスレじゃないんだよ。
質問者がどのレベルの回答を求められているか判断して適切なレベルで回答を作ることが重要。
出題者は木構造で管理する事を求めていない(出来るとは思っていない)。
したがってそれを使う事はカンニングを疑われる。
わかったか? クズ。
0343 ◆0RbUzIT0To
2011/05/27(金) 19:57:37.93深呼吸したらタイプミスを発見しました。すいません。
>>341
コンパイルできました。ありがとうございます。
関数のとこを point[2] ってするってことはもしかしてこれは
配列の構造体 じゃなくて 構造体の配列 だったのか…
勉強不足でした
0344デフォルトの名無しさん
2011/05/27(金) 20:05:28.03そう言うのも愛情表現なんだが
0345デフォルトの名無しさん
2011/05/27(金) 20:09:11.10適切なレベルで回答を作れたと思われるコードを挙げた上で言わないと説得力がないよ。
それに、どれだけ出題者のレベルに合わせたとしても、説明を求められた時に
説明できないようではカンニングと見なされてもおかしくない。
結局は出題者にかかってるんだよ。
0346デフォルトの名無しさん
2011/05/27(金) 20:12:19.96とっくにあげてある。
0347デフォルトの名無しさん
2011/05/27(金) 20:17:59.70トリつけようぜトリ
0348デフォルトの名無しさん
2011/05/27(金) 20:19:34.370349デフォルトの名無しさん
2011/05/27(金) 20:20:36.49お、無職のQZがファビョり出したぞw
0350デフォルトの名無しさん
2011/05/27(金) 20:23:11.94「質問者」だろ。バカは引っ込んでろ。
0352デフォルトの名無しさん
2011/05/27(金) 20:25:39.67すりかえテクニック半端ねぇっす参考になります
で、コードはどこに
0353デフォルトの名無しさん
2011/05/27(金) 20:26:13.170354デフォルトの名無しさん
2011/05/27(金) 20:27:39.690355デフォルトの名無しさん
2011/05/27(金) 20:31:51.11>>168 enum以外は全部習った範囲のはずだ。
0356デフォルトの名無しさん
2011/05/27(金) 20:34:15.91IPも表示?意味無いんじゃない?
0357デフォルトの名無しさん
2011/05/27(金) 20:36:16.230358デフォルトの名無しさん
2011/05/27(金) 20:41:52.73でも -Dスイッチを知らなかった質問者に蹴られたんでしょ。後付けよくないとか言ってるけども。
面倒でも二つに分けてコードをあげればその後QZが沸くこともなかっただろうし。(こればっかりは分からんが)
それをしないで放置したことはオナニーにならないの?
>>356
前その辺の話題をしたときは、忍法帖の情報使えばIDよりはましになるかも、と書いた。
どうせ単発が沸くにしても、連投規制が役に立つのと、真っ当なレスをしている人はずっと特定できるでしょ。
0359デフォルトの名無しさん
2011/05/27(金) 20:47:14.790360デフォルトの名無しさん
2011/05/27(金) 20:49:07.201 マクロは習ってるはず。
2 #ifは習ってなくてもif文からの推測で理解できるはず。
3 1,2から2つのコードに分解できる。
4 strtokはマニュアル見れば理解できる。
5 配列は習っている。当然配列の順アクセスも可能。
6 enumは見ればわかるだろう。
という緻密な計算の元に作られた回答なのだよ。わかったか? バカ
0361デフォルトの名無しさん
2011/05/27(金) 20:56:36.48QZのxmallocと、>>168の-DUSE_POINTERは同じぐらいじゃないかな。
enumハックが必要な場面でもないのに、enumか。
宿題の回答としてならマジックナンバーの方がまだマシなんじゃないかとすら思える。
>>360
緻密な計算の結果>>171というありがたいレスをもらったわけだ。
0362デフォルトの名無しさん
2011/05/27(金) 20:59:04.470363デフォルトの名無しさん
2011/05/27(金) 20:59:51.83忍法帖ですか?なるほど、調べて見ますねw
0364デフォルトの名無しさん
2011/05/27(金) 21:02:22.65あと、てめーもコード書いてから文句付けろ。バカ。
今はこんなんしか出ない。名前欄 !ninja で。
もともとは巻き添え規制を減らすために作られた仕組みだったけど、運営が変な機能ばかり足してる感じ。
0366デフォルトの名無しさん
2011/05/27(金) 21:06:08.95断ってから出てきてないから自分で考えたんだろ。学習効果まで緻密に計算済みなんだよ。
0367デフォルトの名無しさん
2011/05/27(金) 21:06:36.56結局それかよ。自分のコードの否を認めない点ではQZにすら劣る。
特定できる情報が強制開示されるようになってれば、今まで書いたコードがどれか分かって楽なんだけどね。
>>364も自分が過去に書いたコードがどれなのか、証拠も無いままにせっせと提示するのはいやでしょ。
0368デフォルトの名無しさん
2011/05/27(金) 21:10:22.90あきらめたんじゃ、、、、ない、、かな
それか友達に見せてもらったとか
0369デフォルトの名無しさん
2011/05/27(金) 21:12:03.16今までに書いたコードを出せと言ってるんじゃない。これから書けといっているんだ。
とっとと書け。
結局は◆QZaw55cn4cと同じことを主張してますねぇ。
弟子ですか?
0371デフォルトの名無しさん
2011/05/27(金) 22:09:17.41http://codepad.org/D1puRAUv
時間かかったけど、書いてみた。配列版。
0372デフォルトの名無しさん
2011/05/27(金) 22:15:48.04息苦しい読みにくいプログラムのいい例だな。
0373デフォルトの名無しさん
2011/05/27(金) 22:16:51.99こいつが一人いるだけで宿題スレはカチャカチャに荒れる
アク禁要望出してみるか
0374デフォルトの名無しさん
2011/05/27(金) 22:20:24.66一緒に粘着荒らしも駆除してくれよ
0375デフォルトの名無しさん
2011/05/27(金) 22:24:16.83・メモリリークする
・動作がおかしい
・要件を満たしていない
そんな>>168よりはマシだと思うよ。
0376デフォルトの名無しさん
2011/05/27(金) 22:27:52.54荒らしだとしたらコスト対パフォーマンス比が極めて良好ですね。
わずかな燃料を投下するだけで、これですか。
>>338
>>336 は不発に終わりました。
0377デフォルトの名無しさん
2011/05/27(金) 22:28:31.93コードも書かずにつけたケチが、本人が理解できたようである#ifでの切り替えと、
しらなくても理解できる遊びで入れたenumだからな。Qzにも劣るくずだよ。
>>371
単語長の最大値は適当にとっていいとは書いてあるけど、チェックしなくていいとは書いてないね。
Qzにも劣るバグ入り。
0378デフォルトの名無しさん
2011/05/27(金) 22:30:46.410379デフォルトの名無しさん
2011/05/27(金) 22:33:04.54ケチつけてくるとは思ってたけど、まさかそことは。
0380デフォルトの名無しさん
2011/05/27(金) 22:34:39.29最初にチェックする、基本中の基本だよ。
0381デフォルトの名無しさん
2011/05/27(金) 22:39:57.64そんな事は誰も聞いてない
荒らしは荒らし
報告しとく
0382デフォルトの名無しさん
2011/05/27(金) 22:45:57.90遊びで入れた…?enumハックのつもりですらないってこと?
固定で決めた単語長を超えた場合に切り詰めていいとは書いてないね。
0383デフォルトの名無しさん
2011/05/27(金) 23:36:03.980384デフォルトの名無しさん
2011/05/28(土) 00:10:07.98それみるまで気づかんかったわ
0385デフォルトの名無しさん
2011/05/28(土) 00:21:20.44マクロは読みにくくてあかんな
0386デフォルトの名無しさん
2011/05/28(土) 00:22:22.83Cでmalloc()が絡むと本当に苦労する
0387デフォルトの名無しさん
2011/05/28(土) 00:44:43.570388デフォルトの名無しさん
2011/05/28(土) 00:55:19.37それはセミコロン必須にするためのidiomかな。
0389デフォルトの名無しさん
2011/05/28(土) 01:09:55.45学生向けだからこそもっとガチで書くべきなのかな
0390sage
2011/05/28(土) 01:23:35.47[2] 問題文(含コード&リンク):
#include <stdio.h>
int main()
{
int i;
float test;
float avr=0;
for(i=0;i<10;i++){
printf("%d番目の試験結果:",i+1);
scanf("%f",&test);
avr=avr+test;
}
printf("平均: %f\n", avr/10);
return(0);
}
を応用し、平均値に加えて、最大値・最小値を求めるプログラムを作りなさい
ただし、正の整数だけではなく、負の整数を含めた実数の入力を想定したプログラムにしなさい
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:Visual Studio2008
[3.3] 言語: C
[4] 期限:今日まで
0391デフォルトの名無しさん
2011/05/28(土) 01:29:28.21[2] 問題文(含コード&リンク):
>>390のプログラムを応用し、平均に加えて分散を求めるプログラムに拡張しなさい
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:Visual Studio2008
[3.3] 言語: C
[4] 期限:今日まで
0392デフォルトの名無しさん
2011/05/28(土) 01:39:14.45CGI >>168
http://ideone.com/ZiBKv
0393デフォルトの名無しさん
2011/05/28(土) 01:43:15.26単なる嫌がらせとしか思えない
そう言えばクワイン(自分自身を出力するプログラム)を思い出した
0394デフォルトの名無しさん
2011/05/28(土) 01:50:07.99#include <stdio.h>
int main()
{
int i;
float test;
float avr=0;
float max, min;
for(i=0;i<10;i++){
printf("%d番目の試験結果:",i+1);
scanf("%f",&test);
avr=avr+test;
if(i==0){
max = test;
min = test;
}else{
if (max < test) max = test;
if (min > test) min = test;
}
}
printf("平均: %f\n最大: %f\n最小: %f\n", avr/10, max, min);
return(0);
}
0395デフォルトの名無しさん
2011/05/28(土) 02:02:35.80http://ideone.com/43v6m
0397デフォルトの名無しさん
2011/05/28(土) 08:59:35.82問題文も読めない池沼がくだらない言いがかり付けてるよ。必死すぎるて痛いぞ。バカ。
> 1単語長の最大値を適当に固定して良い。
1 最大長で切り詰める
2 最大長を超えた単語は読み飛ばす。
どちらでも問題の条件はクリアする。
>>371は言いがかり付けてくることがわかっていながら、この程度の課題を後出しという
好条件にもかかわらず、完璧な回答を作成する能力が無い事が立証されたって事だ。
QZにすら劣るな。
0398デフォルトの名無しさん
2011/05/28(土) 09:02:40.28> ・gcc4.1ではコンパイルできない
できるよ。バカ。出来ないと主張するならエラーメッセージ張れ。
> ・メモリリークする
しねーよ。クズ。
0399392
2011/05/28(土) 11:05:36.87http://ideone.com/Ibi2p
0400デフォルトの名無しさん
2011/05/28(土) 11:18:46.37char *input_str(void){
char str[MAX];
printf("文字列 > ");scanf("%s", str);return str;}
void output_str(char *str){
printf("変換結果: %s\n", *str);}
int main(void){
char *str1, *str2;
char *p1, p2;
*str1 = input_str();
p1 = &str1;p2 = &str2;
printf("変換開始\n");
while (p1 != '\0') {
if ('a' <= *p1 && *p1 <= 'z') {
p2 = p1 + 'A' - 'a';}
p2++;p1++;}
printf("変換終了\n");output_str(*str2);
return 0;}
実行結果
文字列 > abc123ABC!"#
変換開始
変換終了
変換結果: ABC123ABC!"#
0401デフォルトの名無しさん
2011/05/28(土) 11:24:51.75[2] 問題文(含コード&リンク):↑の問題文についてなんですがうまくプログラムが動作しないのでどこをどう直せばよいのか解答お願いします。
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:明日まで
0402デフォルトの名無しさん
2011/05/28(土) 11:28:41.74int *largePtr(int *a, int *b)
{
}
int main(void)
{
int a, b, *c;
printf("整数 > "); scanf("%d", &a);
printf("整数 > "); scanf("%d", &b);
c = largePtr(/* ... */);
printf("変更前: %d, %d\n", a, b);
*c = 0;
printf("変更後: %d, %d\n", a, b);
return 0;
}
実行結果
整数 > 5
整数 > 3
変更前: 5, 3
変更後: 0, 3
実行結果
整数 > 3
整数 > 5
変更前: 3, 5
変更後: 3, 0
0403デフォルトの名無しさん
2011/05/28(土) 11:33:12.43[2] 問題文(含コード&リンク):
):↑の問題文についてなんですがプログラムの修正箇所をお願いします。
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:明日まで
0404デフォルトの名無しさん
2011/05/28(土) 11:33:49.92&a, &b
0405387
2011/05/28(土) 11:45:46.51#define MAX 100
static char str[MAX];
char *input_str(void){
printf("文字列 > ");
scanf("%s", str);
return str;
}
void output_str(char *str){
printf("変換結果: %s\n", str);
}
int main(void){
char *str1, *str2;
char *p1, *p2;
str1 = input_str();
p1 = p2 = str2 = str1;
printf("変換開始\n");
while (*p1 != '\0') {
if ('a' <= *p1 && *p1 <= 'z') {
*p2 = *p1 + 'A' - 'a';
}
p2++;
p1++;
}
printf("変換終了\n");
output_str(str2);
return 0;
}
0406デフォルトの名無しさん
2011/05/28(土) 12:06:03.57/* 大きい値を指し示すポインタを返す */
int *largePtr(int *a, int *b)
{
/* ... */
}
int main(void)
{
int a, b, *c;
printf("整数 > "); scanf("%d", &a);
printf("整数 > "); scanf("%d", &b);
c = largePtr(/* ... */);
printf("変更前: %d, %d\n", a, b);
*c = 0;
printf("変更後: %d, %d\n", a, b);
return 0;
}
実行結果
整数 > 5
整数 > 3
変更前: 5, 3
変更後: 0, 3
[1] 授業単元:課題
[2] 問題文(含コード&リンク):
):*の箇所の訂正お願いします。
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:明日まで
0407デフォルトの名無しさん
2011/05/28(土) 12:09:53.41#include <stdio.h>
void max(int *a, int *b, int *c)
{
if (*a > *b)
c = a;
else
c = b;
}
int main(void)
{
int a, b, c;
printf("整数 > "); scanf("%d", &a);
printf("整数 > "); scanf("%d", &b);
max(&a, &b, &c);
printf("変更前: %d, %d\n", a, b);
c = 0;
printf("変更後: %d, %d\n", a, b);
return 0;
}
0408デフォルトの名無しさん
2011/05/28(土) 12:11:34.43関数内部は
return (*a > *b) ? a : b;
cへの代入時の使用部分は
&a, &b
0409408
2011/05/28(土) 12:20:14.00max関数の「引数」である int *c はint型ポインタの「値渡し」となっている、
その為max関数内で「アドレス」を代入したとしても、
main関数側に返る事は無い、返るのはint型の値である。
「引数」でアドレスを返そうと思ったら、int型ポインタのポインタの「値渡し」をする必要がある。
0410409
2011/05/28(土) 12:32:57.51「引数」では「値渡し」しか出来ないが、ポインタを使えば結果を返す事が出来る、
その仕組みは、ポインタに代入された変数への「アドレス」を使い、間接参照する事によって
呼び出し側の変数に間接的に代入しているからだ、
したがって、上記の式(c =a や c = b)は間接参照を行えていない為、結果を返せていない。
つまり、「アドレス」を引数を使い返すのであれば、ポインタのポインタに代入されたポインタへの「アドレス」を使って間接参照をすれば良い。
長くなっちゃった。
0411デフォルトの名無しさん
2011/05/28(土) 12:34:38.95引数として値渡しされたint *変数にアドレスが入っているのに、
アドレスをデリファレンスして使うことも無いので、
関数内での変数の代入で影響が完結している。
*c = *a, *c = *bなどとすれば、呼び出し元の変数に代入される。
また、そのような仕様のmax関数を定義しておきながら、
main関数の中のmax呼び出し以降がトンチンカンなのも問題。
0412デフォルトの名無しさん
2011/05/28(土) 12:47:49.94[2] 問題文(含コード&リンク):1~nまでの整数の和を求めるプログラムを次の条件で作成
(1)for文を使用
(2)while文を使用
(3)do-while文を使用
(4)if文を使用
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン: VISUAL2008 win32
[3.3] 言語: C
[4] 期限: 2011年5月30日
[5] どこまで習っているか:初歩の初歩
その他の制限:nの値はキーボードから入力できるプログラム
0413デフォルトの名無しさん
2011/05/28(土) 13:07:32.56int main() {
int n, i, sum;
printf("n = ");
scanf("%d", &n);
for (i = 1, sum = 0; i <= n; i++) sum += i;
i = 1, sum = 0;
while (i <= n) sum += i++;
i = 1, sum = 0;
do {} while (i <= n && (sum += i++));
printf("1〜%dまでの整数の和 %d\n", n, sum);
return 0;
}
0414デフォルトの名無しさん
2011/05/28(土) 13:33:57.46すでに回答でてることだし
ふざけてみた
#include <stdio.h>
int main()
{
int n;
for (;0;); while (0); do {} while (0); if (0);
scanf("%d", &n);
printf("1から%dまでの和は%dです\n", n, ((1 + n)* n) / 2);
return 0;
}
0415デフォルトの名無しさん
2011/05/28(土) 13:43:25.74ありがとうございます
しかしごめんなさい、こちらの説明不足でした
(1)~(4)は別個です
for文を使ったもの、while文を使ったもの、do-while文を使ったもの、if文を使ったもの
1~nの和を出すプログラムを計4個作る問題です
お手数かけますがお願いします
0416392
2011/05/28(土) 13:51:46.44FILE *a1,*a2,*a3,*a4;
print1(char *s){fprintf(a1,"%s\n",s);}
print2(char *s){fprintf(a2,"%s\n",s);}
print3(char *s){fprintf(a3,"%s\n",s);}
print4(char *s){fprintf(a4,"%s\n",s);}
printL(char *s){print1(s);print2(s);print3(s);print4(s);}
main(){
a1 = fopen("413_1.c","w");a2 = fopen("413_2.c","w");a3 = fopen("413_3.c","w");a4 = fopen("413_4.c","w");
printL("int main() { ");
printL(" int n, i = 1, sum = 0;");
printL(" printf(\"n = \");");
printL(" scanf(\"%d\", &n);");
printL("");
print1(" for ( ;i <= n; ) {");
print2(" while (i <= n) {");
print3(" do {");
print4("L:if (i <= n) {");
printL(" sum += i++;");
print1(" }");
print2(" }");
print3(" } while (i <= n);");
print4(" goto L;");
print4(" }");
printL(" printf(\"1〜%dまでの整数の和 %d\\n\", n, sum);");
printL(" return 0;");
printL("}");
fclose(a1);fclose(a2);fclose(a3);fclose(a4);}
0417デフォルトの名無しさん
2011/05/28(土) 14:10:21.94それならもっとこう
#include <stdio.h>
int main()
{
int n,sum;
scanf("%d", &n);
do{for(;1;){while(1)if(sum=((1+n)*n)/2)break;break;}}while(0);
printf("1から%dまでの和は%dです\n",n,sum );
return 0;
}
0418デフォルトの名無しさん
2011/05/28(土) 14:20:20.50http://ideone.com/bouqx
if文ひょっとしてgoto使えってことだったんだろうか・・・・・・・・
0419デフォルトの名無しさん
2011/05/28(土) 14:29:13.69条件分岐でごっちゃになっていやだな。
0420387
2011/05/28(土) 14:37:49.91int sum1(int a, int n){
if (a < n) return 0;
return n + sum1(a, n + 1);
}
int main(){
int n, sum;
printf("n = ");
scanf("%d", &n);
sum = sum1(n, 1);
printf("1から%dまでの和は%dです\n", n, sum);
return 0;
}
0421デフォルトの名無しさん
2011/05/28(土) 14:40:53.97まだforとか習った段階なのに関数使っちゃだめかな・・・・・って・・・・そのくせgotoのこと忘れてて
しかもそれなら再帰もダメだろうと思い直して
>>412
というわけでifとgoto版も作っておきましたややこしくなってすいません
#include <stdio.h>
int main()
{
int n, i, sum = 0;
printf("n = ");
scanf("%d", &n);
i = 1;
raberu:
sum += i;
i++;
if (i <= n)
goto raberu;
printf("1から%dまでの和は%dです\n", n, sum);
return 0;
}
0422387
2011/05/28(土) 15:39:45.46gotoは習ってないかもというわけで再帰版も作っておきました
int sum1(int n){
if (1 > n) return 0;
return n + sum1(n - 1);
}
int main(){
int n, sum;
printf("n = ");
scanf("%d", &n);
sum = sum1(n);
printf("1から%dまでの和は%dです\n", n, sum);
return 0;
}
0423デフォルトの名無しさん
2011/05/28(土) 20:48:08.05[2] 問題文(含コード&リンク):
3つの異なる値の実数を入力させる。それがどんな順番で入力されたとしても、昇順に並び替えて表示するプログラムを作成しなさい
なお、プログラムの末尾には、このプログラムが正しいことを確認するためには、何パターンのデータを試す必要があるかを考え、必要なテストを行った結果を記録しなさい
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:Visual Studio2008
[3.3] 言語: C
[4] 期限:今日まで
0424デフォルトの名無しさん
2011/05/28(土) 20:58:46.60#include <stdio.h>
int main(void)
{
double a, b, c, temp;
scanf("%lf", &a);
scanf("%lf", &b);
if(a > b) {
temp = a;
a = b;
b = temp;
}
scanf("%lf", &c);
if(b > c) {
if(a > c) {
temp = a;
a = c;
c = temp;
}
temp = b;
b = c;
c = temp;
}
printf("%f %f %f\n", a, b, c);
return 0;
}
0425デフォルトの名無しさん
2011/05/28(土) 21:04:10.03[2] 問題文(含コード&リンク):
この問題では、数列として扱う値はすべて実数での処理を想定する
初項および項数を入力すると、その等差数列の和を求めるプログラムを作成する
○公式を利用して求める場合→項数(初項+末項)÷2
○1つずつの項を順次足し合わせる場合→公差=(末項−初項)÷(項数−1)
との2種類の計算方法で値を求めるプログラムを作成しなさい
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:Visual Studio2008
[3.3] 言語: C
[4] 期限:今日まで
0426デフォルトの名無しさん
2011/05/28(土) 21:06:24.50横だけど、strlcpyがないっていわれた
リークはstrdupじゃない?
0427デフォルトの名無しさん
2011/05/28(土) 21:07:54.770428デフォルトの名無しさん
2011/05/28(土) 21:10:26.02末項は入力させないの?
0429デフォルトの名無しさん
2011/05/28(土) 21:12:43.36末項も入力します
問題に書くの忘れてました
すいません
0430デフォルトの名無しさん
2011/05/28(土) 21:21:55.34#include <stdio.h>
int main(void)
{
int i, n;
double first_term, last_term, diff, sum, term;
scanf("%d", &n);
scanf("%lf%lf", &first_term, &last_term);
printf("%f\n", n * (first_term + last_term) / 2);
diff = (last_term - first_term) / (n - 1);
for(i = 0, sum = 0, term = first_term; i < n; i++, term += diff) sum += term;
printf("%f\n", sum);
return 0;
}
0431デフォルトの名無しさん
2011/05/28(土) 21:22:49.38BSD系だからあるよ
0433デフォルトの名無しさん
2011/05/28(土) 21:48:55.18しねーよ。コードも読めない低能が批評とは片腹痛い。
0434デフォルトの名無しさん
2011/05/28(土) 21:59:45.930435デフォルトの名無しさん
2011/05/28(土) 22:00:27.990436デフォルトの名無しさん
2011/05/28(土) 22:21:58.30[3.2] コンパイラ名とバージョン:Linux
[3.3] 言語: C
[4] 期限:月曜日まで
0437デフォルトの名無しさん
2011/05/28(土) 22:27:32.13E-mail:
内容:
1] 授業単元:C
[2] 問題文(含コード&リンク):
今回は、単方向リストを用いて電話帳のプログラムを作ってもらいます。
実装するのは、入力、削除、表示、終了、load、saveです
0438デフォルトの名無しさん
2011/05/28(土) 22:29:35.672.saveは終了時にsaveを行うかどうか判断してから終了を行う(txtで保存する)
3.loadで読み込んだtxtファイルに再び、入力、削除、表示を行えるようにする
4.ヒント(mallocの意味を調べること)
[3.1] OS:vista
[3.2] コンパイラ名とバージョン:Linux
[3.3] 言語: C
[4] 期限:月曜日まで
0439デフォルトの名無しさん
2011/05/28(土) 22:32:19.360441デフォルトの名無しさん
2011/05/28(土) 22:34:42.52Linuxでvimを使ってコンパイルをしております。
words[i].word = strdup(p);
しているけれども、プログラム終了時に free(words[i].word); していませんね。
これはメモリーリークと言われても仕方がないと思います。
http://archive.linux.or.jp/JM/html/LDP_man-pages/man3/strdup.3.html
>strdup() 関数は、文字列 sの複製である 新しい文字列へのポインタを返す。
>新しい文字列のためのメモリは malloc(3) で得ている。
少なくとも私は strdup() で得たポインタは free() する人です。
0443デフォルトの名無しさん
2011/05/28(土) 23:02:56.85しねーよ。バカ。プログラム終了時に全部解放されるから問題ない。
0444デフォルトの名無しさん
2011/05/28(土) 23:12:22.20>enumハックが必要な場面でもないのに、enumか。
>宿題の回答としてならマジックナンバーの方がまだマシなんじゃないかとすら思える。
それどころか、
>>168
buffer[1024]
fgets(buffer, 1024, stdin)
というのをみると、どうして 1024 を #define なり enum なりしなかったのかが疑問ですね。
enum/#define する基準を意識しておらず、てきとーに エニュミュを使いたかっただけのようです。
0445デフォルトの名無しさん
2011/05/28(土) 23:15:11.96なるほど、ありがとん
0446デフォルトの名無しさん
2011/05/28(土) 23:15:53.66ほー、
malloc() したのを free() しなかったら、それはメモリーリークと呼ぶのが普通なのでは?
プログラム終了時にスタートアップが解放したり、プロセス終了時に OS がリソースを回収したりするにしても。
0447デフォルトの名無しさん
2011/05/28(土) 23:22:03.47バカ。プログラムの終了時に開放する/しないは宗教戦争だ。
てめーは宗教戦争仕掛ける気か? 死ねバカ。氏ねじゃなくて死ね。
0448デフォルトの名無しさん
2011/05/28(土) 23:24:14.94へたくそな言い回しだな。ネタレスならいいけど。
0449デフォルトの名無しさん
2011/05/28(土) 23:24:57.35結局enumにしかケチ付けられないクズなんだから引っ込んでろよ。
言いがかり付けられることがわかっていながらバグ作りこむヘボグラマ。w
0450デフォルトの名無しさん
2011/05/28(土) 23:26:20.32宗教戦争ということにしたいのですね。確かに実害はないことを盾に問題ない、とする人々はいるようですが。
け れ ど も
malloc() したのを free() しなかったら、それはメモリーリークと呼ばれても
し か た な い で す よ ね
0451デフォルトの名無しさん
2011/05/28(土) 23:26:21.39解放しない派はメモリリークしていないなんて言わないよ
0452デフォルトの名無しさん
2011/05/28(土) 23:28:03.36じゃあ改めてバグの無いコードをどうぞ。非の打ち所の無いものを頼むよ
0453デフォルトの名無しさん
2011/05/28(土) 23:31:42.77みょうではあるがあんまり突っ込むなよ
それが>>168の絶対的こだわりなんだから
ついでに終了時に開放しないにも絶対なこだわりあるみたいだが
QZのこだわりと同じ
0454デフォルトの名無しさん
2011/05/28(土) 23:31:46.62enum に突っ込んでいるのではなく、
enum/#define する基準を意識せず、不用意にマジックナンバを使用していることを批判しています。
0455デフォルトの名無しさん
2011/05/28(土) 23:32:56.75freeしながらヒープをやりくりするプログラムでの話。
ヒープを使いっぱなしで話が済むプログラムではケアの必要などない。
0456デフォルトの名無しさん
2011/05/28(土) 23:33:19.21words[0].word = strdup(p);
words[0].word = strdup(p);
これがメモリーリークだ。普通に言う。
死ね。バカ。氏ねじゃなくて死ね。
0457デフォルトの名無しさん
2011/05/28(土) 23:33:21.54そりゃまあ、こだわり、といわれたら、そうかも知れませんね。
この件は撤退しましょうか。
0458デフォルトの名無しさん
2011/05/28(土) 23:33:21.64絶対的なこだわりじゃないよ。緻密な計算だよ
0459デフォルトの名無しさん
2011/05/28(土) 23:34:19.83じゃあ、解放漏れ
0460デフォルトの名無しさん
2011/05/28(土) 23:35:49.23残念ながらお前(ヘボグラマ)の作品と違ってバグは全くない。w
0461デフォルトの名無しさん
2011/05/28(土) 23:37:23.35あれ?最初の strdup() で得たポインタは宙ぶらりんになるにしても、結局、終了時に解放されるのだから
プログラム終了時に意図的に解放しない派的には、これも「メモリリーク」とは呼ばないのではないのでは?
なぜ >>456 の場合だけ特別にメモリリークと呼ぶのかくわしく。
0462デフォルトの名無しさん
2011/05/28(土) 23:39:06.13名著「Exceptional C++」を読め
つまりプログラム内ではもうそのリソースを解放する手段が無くなった時に、初めて「メモリ
リーク」と呼ぶのであり、malloc()したのをfree()しないのは単なる怠慢であってメモリリーク
ではない
しかし、プログラムの終了時もしくは実行時でもいいが、malloc()したものをfree()しないで
長時間動かすといずれヒープ領域の枯渇を招く危険があり、こまめに解放出来るリソースは
解放すべきである
これは「プログラム作法」に属する
確かにプログラムがterminateするとそのプロセスが保持していたメモリはOSに返却されるが、
もしリソースをロックしていたらそのリソースまで返却されるとは限らない
使ったものはちゃんと返してからプログラムを終了する癖を付けておかないとそのうち痛い目に遭う
0463デフォルトの名無しさん
2011/05/28(土) 23:40:13.73それでは聞いてやろう。それを全部freeすることでどういうメリットがあるのだ?
プログラム開始時の状態に戻すことに病的にこだわるなら、変数も全部戻したらどうだ?
メモリアロケーターがOSから確保したメモリブロックを終了前にOSに返さないのはメモリリークと呼ばないのか?
確保したのを返さないのはメモリリークと呼ばれても
し か た な い で す よ ね wwww
0464デフォルトの名無しさん
2011/05/28(土) 23:41:22.13>>168のコードに非の打ち所がないならこんなことになってないだろ。
0465デフォルトの名無しさん
2011/05/28(土) 23:41:26.69でもプロセスが終了しない間はメモリが解放されないわけだからちょっと規模大きくなって連続稼働するとプログラムがダウンする。
このプログラムだと問題ない、と言えるけど害悪しかないだろ、ヒープチェッカーとかどうすんの。
0466デフォルトの名無しさん
2011/05/28(土) 23:42:48.00↓の糞スレでやってくれ
俺の課題を誰か作ってくれ!!
http://hibari.2ch.net/test/read.cgi/tech/1169822971/
0467465
2011/05/28(土) 23:42:48.790468デフォルトの名無しさん
2011/05/28(土) 23:43:22.31のケースも、どうせfreeするつもりが無い場合は、
ただの使い捨てであってメモリリークじゃない。
void leak() {
char *tmp = malloc(1024);
//略
if (略) return;
free(tmp);
}
こんなふうになっちゃってるのがメモリリークかと。
0469デフォルトの名無しさん
2011/05/28(土) 23:45:40.06なんか人多いね。
>>468
後でfreeしようと思ってもできなくなってるって意味では同じなんじゃないの?
0470デフォルトの名無しさん
2011/05/28(土) 23:45:55.32楽でいいですねえ。
0471デフォルトの名無しさん
2011/05/28(土) 23:46:15.82後出しで言いがかり付けられることがわかっていながらバグを作りこんだ
ヘボグラマの作品(笑)と違ってバグは無い。
0472デフォルトの名無しさん
2011/05/28(土) 23:47:33.12>>463がおかしいだけ。引っ込みつかないんじゃないかっていう。
0473デフォルトの名無しさん
2011/05/28(土) 23:48:05.71俺、誰なのw
0474デフォルトの名無しさん
2011/05/28(土) 23:48:42.15逃げてないで>>463に答えろよ。
確保したメモリを返さないのはメモリリークと呼ばれても
し か た な い で す よ ね wwww
0475デフォルトの名無しさん
2011/05/28(土) 23:51:17.670476デフォルトの名無しさん
2011/05/28(土) 23:52:37.770477デフォルトの名無しさん
2011/05/28(土) 23:54:08.98>それでは聞いてやろう。それを全部freeすることでどういうメリットがあるのだ?
メリットのあるなしは関係ないのでは?宗教戦争なんでしょ?
「malloc() したのをfree() しなかったのならメモリーリークだ」という人がいても仕方がないのでは、ということです。宗教戦争だそーですから。
そもそも、解放しない派的には、何をメモリーリークと呼ぶのかすら、はっきりしていないようですね。
0478デフォルトの名無しさん
2011/05/28(土) 23:54:56.09非の打ち所の無いものを頼む
→バグは無い!!!
バグは無いけど非の打ち所があるのは認めてるんだな。要件を満たしてはいないが、バグは無い、と。
質問者には蹴られるし、Linuxだとまともに動きすらしない可搬性の無いコード。
0479デフォルトの名無しさん
2011/05/28(土) 23:56:41.05すみませんが、
「メモリアロケーターがOSから確保したメモリブロックを終了前にOSに返さない」
という事態を、普通のプログラムでどうやって引き起こしたらいいのかわからないのですが。
そもそも何を突っ込まれているかよくわからないので、説明していただけないでしょうか?
0480デフォルトの名無しさん
2011/05/28(土) 23:59:19.90> そもそも、解放しない派的には、何をメモリーリークと呼ぶのかすら、はっきりしていないようですね。
バカにもわかるように実コードで示してやっただろ。>>456
それと>>463の後半に対する反論もどうぞ。
sbrkやmmapやVirtualAllocしたのは解放しないのかな?
確保したメモリを返さないのはメモリリークと呼ばれても
し か た な い で す よ ね wwww
0481デフォルトの名無しさん
2011/05/29(日) 00:07:23.47手元のリークチェッカはどちらもメモリリークしているとエラーを出すんだけど、そのチェッカが糞って言われて終わりなのかな
0482デフォルトの名無しさん
2011/05/29(日) 00:10:28.68> 「メモリアロケーターがOSから確保したメモリブロックを終了前にOSに返さない」
> という事態を、普通のプログラムでどうやって引き起こしたらいいのかわからないのですが。
int main()
{
free(malloc(1000 * 1000 * 1000));
}
病的にこだわった自作のメモリアロケータを使っていなければこれで発生する。
メモリアロケータ(malloc)はOSから(大き目な)メモリブロックの割り当てを受けて、
それを分割して渡す。普通のメモリアロケーターはfreeされてもOSには返却しない。
てめーはこれから自作のメモリアロケータ使って、プログラム終了時にOSにメモリを確実に返せ。
ここで回答するときも忘れるなよ。
確保したメモリを返さないのはメモリリークと呼ばれても
し か た な い で す よ ね wwww
0483デフォルトの名無しさん
2011/05/29(日) 00:12:38.90>バカにもわかるように実コードで示してやっただろ。>>456
>>461
何をメモリーリークと呼んでいるのか、今ひとつよくわかりません。適当に気分でメモリーリークといったりいわなかったりのような気が。
楽でいいですねえ。
>sbrkやmmapやVirtualAllocしたのは解放しないのかな?
申し訳ないけれども、mallc() したものですら free() する派の人が、それらについては使用後解放しないなんてありえないと思いませんか?
0484デフォルトの名無しさん
2011/05/29(日) 00:15:51.81% gcc -DUSE_POINTER main.c
% cat main.c | ./a.out
#include <stdio.h>
1
#include <ctype.h>
1
#include <string.h>
1
4
enum { MAXWORDS = 2000};
1
(以下略)
0485デフォルトの名無しさん
2011/05/29(日) 00:16:20.92それは初耳。kwsk
malloc() したものは、free() しなくてもプログラム終了時にすべて回収されるのではなかったでしょうか?
malloc() で要求するサイズによって、OS に返すか返さないかが変化するのであれば、
あぶなくってしかたがない。
malloc() したものはすべてfree() したほうがいいのではないでしょうか?
0486デフォルトの名無しさん
2011/05/29(日) 00:17:00.26でメモリリークするとか言ってる奴は
屋根無し駐車場を借りといて
雨漏りがすると大家に因縁つける基地外
0487デフォルトの名無しさん
2011/05/29(日) 00:19:56.38やっぱりバカだ。
mallocはsbrkやmmapやVirtualAllocなどを使って、OSからメモリの割り当てを受けるんだよ。
普通のメモリアロケータはOSに返却しないけど、てめーは返却してるっていうのか?
そりゃスゲー。www
どうやって返却してるんだ? www
0488デフォルトの名無しさん
2011/05/29(日) 00:19:58.38返却されなくてもプログラム終了時には返却される。
タイミングの話?
0489デフォルトの名無しさん
2011/05/29(日) 00:23:15.70$ gcc -DUSE_POINTER a.c
$ cat a.c | ./a.exe
#include <stdio.h>
1
#include <ctype.h>
1
#include <string.h>
1
4
enum { MAXWORDS = 2000};
1
(以下略)
0490デフォルトの名無しさん
2011/05/29(日) 00:31:12.58macで動くかどうか試せないんだけど、動かなかった場合は問題がバグってるって言うと思う。
動くなら緻密な計算の結果だと思う。
0491デフォルトの名無しさん
2011/05/29(日) 00:39:34.54私の >>282 も mac で動くかどうか心配だなあ。
strtok() って使わないほうがいいかもしれませんねえ。
0492デフォルトの名無しさん
2011/05/29(日) 00:40:30.00お前のctypesが問題通りの値を返さないから。
>>159
> (a) 制御文字 (iscntrl(c)が1となる文字c)
> (b) 数字 (isdigit(c)が1となる文字c)
> (c) アルファベット以外の印刷可能文字 (isprint(c)が1で、isalpha(c)が0となる文字c)
0493デフォルトの名無しさん
2011/05/29(日) 00:41:46.71>>282はメモリリークしてるからなおすように。
確保したメモリを返さないのはメモリリークと呼ばれても
し か た な い で す よ ね wwww
0494デフォルトの名無しさん
2011/05/29(日) 00:42:51.04macだとそれ保証されてるの?
Cの規格だけでは保証されてないからわかんないんよ
0495デフォルトの名無しさん
2011/05/29(日) 00:44:06.38[3.1] OS:Mac OS X
[3.2] コンパイラ名とバージョン:gcc 4.1
ではちゃんと動くんですよ
緻密な計算してるんです
0496デフォルトの名無しさん
2011/05/29(日) 00:44:45.67isDelimiterで回避してると思う。
でも、0xffとand取ってるのは何でかわからず。この際ついでに補足してくれると助かる
0497デフォルトの名無しさん
2011/05/29(日) 00:45:45.12プログラム終了時にメモリを返していなければメモリリークって事でOK?
0498デフォルトの名無しさん
2011/05/29(日) 00:46:52.290499デフォルトの名無しさん
2011/05/29(日) 00:48:39.31>>159出した先生に言えよ。
0500デフォルトの名無しさん
2011/05/29(日) 00:49:41.90プログラム終了時にメモリを返すのは基地外とQZだけ
覚えとくように
0501デフォルトの名無しさん
2011/05/29(日) 00:51:23.29終了した後は、どう転んでも回収されるんだから。
0502デフォルトの名無しさん
2011/05/29(日) 00:53:09.20それが、>>450の主張。
確保したメモリを返さないのはメモリリークと呼ばれても
し か た な い で す よ ね wwww
とっとと、>>282なおせよ。簡単ななおし方教えてやろうか?
mallocの代わりにmmap, freeの代わりにmunmapこれでケチの付けようがなくなる。
バカ丸出しだけどな。www
0503デフォルトの名無しさん
2011/05/29(日) 00:54:13.00保証されてるかどうかはわからんけど、ともあれ、macだとうまく動くってことかな
0504デフォルトの名無しさん
2011/05/29(日) 00:55:08.82freeしてればメモリリークと呼ばないのが>>450の主張だと思うんだが、どの辺でずれたの?
0505デフォルトの名無しさん
2011/05/29(日) 01:06:35.11>>502がそろそろ潮時かなって思ったあたりから
0506282
2011/05/29(日) 01:10:37.88ないと思いますよ、多分。
でも、もし見つかれば、メモリーリークしている領域の最初の16バイトを教えてください。(修正をかけます。)
それとメモリーリークの定義も。なにせ、malloc() しても free() しない(こともある)派のいうところのメモリーリークはよくわかりませんからね。
>>496
確かに私の環境では
ctype.h の is*(int c) は真のとき 32 を返しているなあ、1 じゃなく。
あと & をとっているのは、char c が符号拡張を受けると、往々にして2byte 文字を扱うときに嵌ってしまうから。
char が signed か unsigned かは環境依存だし、char -> int のプロモーションには特に気をつけて自分でどっちに転ぶか決めてしまっているのです。
これでいいのかどうかはわかりませんが。
0507デフォルトの名無しさん
2011/05/29(日) 01:18:46.64> strdupは内部でmallocを使っている。mallocしたメモリをfreeしないのはメモリリークだ。
とバカが宗教戦争を仕掛けてきたから、
mallocは内部でsbrk/mmap他を使っている、sbrk/mmapしたメモリを開放しないのはメモリリークだ。
と言っている。
0508デフォルトの名無しさん
2011/05/29(日) 01:24:25.58とっととメモリリークなおせよ。クズ。
0509デフォルトの名無しさん
2011/05/29(日) 01:26:47.87&の理由ありがとう。
>>371みたいにそもそもintで受けてしまうっていうのはどうなんだろ。
fgetcがint返すのも符号の問題があるからcharを避けたのかなぁ
0510デフォルトの名無しさん
2011/05/29(日) 01:38:55.97勝手にメモリーリークの定義をされても。
まあ、>>456 のとおり、メモリーリークの定義がふらふらしているようだし、やっぱりあんまり考えていないようですね。
>>507
> >strdupは内部でmallocを使っている。mallocしたメモリをfreeしないのはメモリリークだ。
これはひとつの考え方だと思いますよ。宗教戦争のネタになるくらいだから。
それに比べると、
>mallocは内部でsbrk/mmap他を使っている、sbrk/mmapしたメモリを開放しないのはメモリリークだ。
という宗教戦争は寡聞にして知りません。
free() しても OS にメモリリソースが返るとは限らないなんて、C FAQ にも書いてある既定事項なんですが、それをあげつらわれても。
であなたのいうところのメモリーリークってなんですか?
0511デフォルトの名無しさん
2011/05/29(日) 01:46:46.65演習問題などでは 7bit ascii しか使わないし、今回私が & を取ったのも、実ははじめて
gcc -ansi -pedantic -Wall
したらコンパイラが char は signed か unsigned かどっちですか?って聞いてくるもんだから、
ちゃっちゃと消しにまわっただけで、深い意味はありません。漢字でも扱わない限り問題ないんじゃないかなあ。
0512デフォルトの名無しさん
2011/05/29(日) 01:52:20.910513デフォルトの名無しさん
2011/05/29(日) 02:40:29.020514デフォルトの名無しさん
2011/05/29(日) 02:53:18.62だってわかりにくいんだもの。
>>456 でメモリーリークの例をあげておきながら、急に方針転換して、>>463 の定義にかわったので混乱してしまいました。
一貫していないんですよね。
0515デフォルトの名無しさん
2011/05/29(日) 02:54:47.080516デフォルトの名無しさん
2011/05/29(日) 03:02:48.85でも >>168 に一貫性がないことがよくわかりました。
ctype.h にはびっくりしましたし、悪い感情は持っていません。
おやすみなさい。
0517デフォルトの名無しさん
2011/05/29(日) 03:20:19.41for (i = 0; words[i].count > 0; i++) {
printf("%-32s %5d\n", words[i].word, words[i].count);
free(words[i].word);
}
0518デフォルトの名無しさん
2011/05/29(日) 03:26:41.13「 1 番目の引数を 'char *' から 'char **' に変換できません。」という
内容のエラーを起こしてしまいます。アドバイスをお願いします。
0519デフォルトの名無しさん
2011/05/29(日) 03:26:46.080520デフォルトの名無しさん
2011/05/29(日) 03:28:52.30QZ:宿題の回答としては無駄に複雑かつ要件を満たしていない
QZ批判:macのis系が1を返すことが保証されていたとしても要件を満たしてない
QZ批判批判:かなり後から書いたにもかかわらずエラー処理がない
0521デフォルトの名無しさん
2011/05/29(日) 03:30:18.36m = (char **)malloc(sizeof(char*) * 12);
0522デフォルトの名無しさん
2011/05/29(日) 03:34:14.69http://codepad.org/YY7ZqQ8m
0523デフォルトの名無しさん
2011/05/29(日) 03:37:05.49ありがとうございました。
よければ原因がなんだったのか具体的に教えて下さい
0524デフォルトの名無しさん
2011/05/29(日) 03:38:49.68>>520
>QZ:宿題の回答としては無駄に複雑かつ
はしかたがないとして、
>要件を満たしていない
についてkwsk
0525デフォルトの名無しさん
2011/05/29(日) 03:43:44.15たいしたこっちゃないよ。
> 同時に現れた「単語」の総数をプリントすること。
0526デフォルトの名無しさん
2011/05/29(日) 03:48:01.64[2]
malloc/realloc/callocで確保したヒープ変数がアプリケーション終了時
に確実にfreeされているかチェックする方法を考えて実装しなさい。
[3] Linux/Gcc4.5(Open source版)/C言語
[4] 無期限
0527デフォルトの名無しさん
2011/05/29(日) 03:49:39.020528デフォルトの名無しさん
2011/05/29(日) 03:53:46.96mはchar型へのポインタのポインタ(ポインタ配列)として確保しなければならないのに
char型へのポインタとして確保されていたから
そして呼び出しの型が合わずエラー
0529デフォルトの名無しさん
2011/05/29(日) 03:54:02.340530デフォルトの名無しさん
2011/05/29(日) 03:55:00.45CodeGuard
0531デフォルトの名無しさん
2011/05/29(日) 04:03:19.260532デフォルトの名無しさん
2011/05/29(日) 04:10:48.220533デフォルトの名無しさん
2011/05/29(日) 04:21:46.77コンテナが用意されているんだよな
言葉を換えればそれだけCは原始的で車輪の再発明が当たり前のように
されているので時間と労力の無駄が多い
0534デフォルトの名無しさん
2011/05/29(日) 08:39:14.53Google Performance tools の Heap Checker使うとか、
もしくは既存のメモリアロケータラップしてshared_ptrのように参照カウント追加すればでいけそうな気がする。
同時に、現れた「単語」の総数をプリントすること。
なら、出力に最初の1行も必要だね。
でも、句点が無いから強調の意味の繰返しとも読める。>>525
0536デフォルトの名無しさん
2011/05/29(日) 08:52:01.41my_mallocみたいなの作って、内部でカウンタ増やしてmalloc呼び出し
my_freeみたいなの作って、内部でカウンタ減らしてfreeするの作れってレベルじゃないのか?
授業内容どんなんなんだろうなぁ
0537デフォルトの名無しさん
2011/05/29(日) 09:14:02.61てめーがmallocしたメモリをfreeしないのはメモリリークだという勝手なルール押し付けてきたから、
「確保したメモリを開放しないのはメモリーリークだ」とより普遍化したルールを押し付けてるだけだ。
てめーのクソコードがメモリーリークしてる証拠だ。とっととなおせよ。
http://bellard.org/jslinux/でコンパイルできるようにインクルードと観測用のコード追加。
http://codepad.org/tfiYIu9T
実行結果:
~ # cat /dev/clipboard > 282.c
~ # tcc -o 282 282.c
282.c:175: warning: assignment makes pointer from integer without a cast
282.c:177: warning: assignment makes pointer from integer without a cast
~ # ./282 < 282.c > /dev/null
0x804a000 0x804c000 <<< main_呼び出しの前後で変わっているすなわち、メモリーリーク
確保したメモリを返さないのはメモリリークと呼ばれても
し か た な い で す よ ね wwww
0538デフォルトの名無しさん
2011/05/29(日) 09:27:50.100541デフォルトの名無しさん
2011/05/29(日) 10:04:43.10>>438の仕様が大雑把なんだよな
まぁ適当に判断してやるよ
0542541
2011/05/29(日) 10:19:30.190543デフォルトの名無しさん
2011/05/29(日) 10:43:54.52お聞きしたいのは、議論をするために急遽でっちあげたルールではなくて、
>>168 を書いたときに念頭においていたルールであり、避けるべきメモリーリークとはなにか、ということです。
0544デフォルトの名無しさん
2011/05/29(日) 10:47:38.77スケルトンみたいなコードの作成を依頼してみては?QZさんが書いてくれるかも
100円の小銭で105円の買い物をするの例え。
100円の小銭で30円の買い物3回してもよし。また100円足せば105円の買い物ができる。
strdup()も加える?なら、他にもありそうな無さそうな?>>526
0546デフォルトの名無しさん
2011/05/29(日) 11:09:00.88ご指摘感謝。訂正をかけます。
>>159 >>526
なお、calloc() については未対応です。
http://codepad.org/gShtpAyU
0547デフォルトの名無しさん
2011/05/29(日) 11:32:41.63普遍化かどうかは疑問ですね。
「malloc() したものは free() しない(こともある)派」、と括弧をつけてはいますが、
>>461 の指摘に答えはなく、実のところ、>>470 なんですね。
0548デフォルトの名無しさん
2011/05/29(日) 11:38:39.34変数については、freeしなくてもメモリリークとは言わない
だって参照がある(使える)んだからね
0549デフォルトの名無しさん
2011/05/29(日) 11:42:57.110550デフォルトの名無しさん
2011/05/29(日) 11:45:28.170551デフォルトの名無しさん
2011/05/29(日) 11:48:08.34GC 的には、それってまずいんじゃなかったんでしたっけ?
「普遍的」に使えないルールのような気が。
0552デフォルトの名無しさん
2011/05/29(日) 11:50:24.15プログラムがメモリを使いすぎているのと、
メモリリークは違うよ?
0553デフォルトの名無しさん
2011/05/29(日) 11:59:33.07free() しようと思えばいつでもできる、けどしない、ということですか。
完璧、というにはお粗末に見えるのですが。
0554デフォルトの名無しさん
2011/05/29(日) 12:13:20.410555デフォルトの名無しさん
2011/05/29(日) 12:22:31.92[1] 授業単元:C
[2] 問題文(含コード&リンク):
正の整数を入力したとき、その数値が素数であれば「素数です」、素数でないなら「素数ではありません」と表示するプログラムを作成しなさい
入力した値が0または負の整数であれば、繰り返し再入力させるようにプログラムを作成すること
0556デフォルトの名無しさん
2011/05/29(日) 12:23:52.11そんなこと言ってなくて、単純にメモリリークとは何か?って話
GCのある言語だって参照が残ってたら回収されない
0557デフォルトの名無しさん
2011/05/29(日) 12:32:20.82[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:Visual Studio2008
[3.3] 言語: C
[4] 期限:今日まで
0558デフォルトの名無しさん
2011/05/29(日) 12:57:48.040559デフォルトの名無しさん
2011/05/29(日) 13:06:52.000560デフォルトの名無しさん
2011/05/29(日) 13:23:23.20http://codepad.org/b3MUx76M
0561デフォルトの名無しさん
2011/05/29(日) 13:29:21.01[2] 問題文(含コード&リンク):
「*」の記号を利用して、入力した数字を等しい2辺に持つ、次のような直角二等辺三角形を表示するプログラムを作成しなさい
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン: Visual Studio2008
[3.3] 言語: C
[4] 期限:明日まで
0562デフォルトの名無しさん
2011/05/29(日) 13:30:06.380563デフォルトの名無しさん
2011/05/29(日) 13:31:34.11オレのルールは>>451だ。したがってメモリリークはない。
てめーが宗教戦争仕掛けてきて勝手なルールを押し付けようとしたんだから、他人の
ルールも受け入れろ。
続く…
0564デフォルトの名無しさん
2011/05/29(日) 13:32:37.42#include <stdio.h>
int main(void) {
int i, j, n;
scanf("%d", &n);
for(i = 0; i < n; i++) {
for(j = 0; j <= i; j++) putchar('*');
putchar('\n');
}
return 0;
}
0565デフォルトの名無しさん
2011/05/29(日) 13:34:00.85これからお前が従うルールは「確保したメモリを開放しないのはメモリリーク」だ。
そして>>282のうんこコードをとっととなおせ。
確保したメモリを返さないのはメモリリークと呼ばれても
し か た な い で す よ ね wwww
0566デフォルトの名無しさん
2011/05/29(日) 13:44:33.690567デフォルトの名無しさん
2011/05/29(日) 14:06:10.77リンク先まちがっていませんか?
>>470 でしょう?
0568デフォルトの名無しさん
2011/05/29(日) 14:12:43.29おい、カス。なんとも見る気の起きないうんこコードだけど、頑張ってみてやったぞ。
> if (*(p - 1) == '\n')
> *(p - 1) = '\0';
課題にない勝手なデリミタ判定すんな。後出しでこれかよ。www
0570デフォルトの名無しさん
2011/05/29(日) 14:30:27.44なんとも、うんこなコードだねえ。
> exit(-1);
statusは実装依存だから、macosが期待する値(255以下の正整数)にするべき。
ヘボな初心者がよくやる間違い。www
0571デフォルトの名無しさん
2011/05/29(日) 14:33:14.25お前のルールでメモリリーク発見。wordがリークするぞ。www
> wd = xmalloc(sizeof(struct worddata), ID_WORDDATA);
> if (!wd) {
> fprintf(stderr, "cannot allocate enough memory, aborted.\n");
> exit(-1);
> }
0572デフォルトの名無しさん
2011/05/29(日) 14:35:45.39ここも二分木がリークするよな。www うんこコード。
> if (!word) {
> fprintf(stderr, "cannot allocate enough memory, aborted.\n");
> exit(-1);
> }
0573デフォルトの名無しさん
2011/05/29(日) 14:40:28.860574デフォルトの名無しさん
2011/05/29(日) 14:42:17.410575デフォルトの名無しさん
2011/05/29(日) 14:45:40.06プロジェクトからはハズされるだろ、大体
0576デフォルトの名無しさん
2011/05/29(日) 15:05:44.673文字読むたびにstrlen×2してreallocしてstrcatして … 目が腐る。
0577デフォルトの名無しさん
2011/05/29(日) 15:09:39.94草を生やしてまで書くような事じゃない
0578デフォルトの名無しさん
2011/05/29(日) 15:11:46.240579デフォルトの名無しさん
2011/05/29(日) 15:17:07.33どんな事が起きても平常心が保てないと、プロとは言えないw
0580デフォルトの名無しさん
2011/05/29(日) 15:33:59.59待ってました。ありがとうございます。
>課題にない勝手なデリミタ判定すんな。
そこは fgets() が勝手につけるデリミタを判定しているところですので無問題。
0581デフォルトの名無しさん
2011/05/29(日) 15:37:13.42iscntrlって知ってる?
0582デフォルトの名無しさん
2011/05/29(日) 15:39:49.28だからその平常心を保つための儀式だ。
しかし、うんこなコードだな。二分木つくるpush。
無条件でノードを作っておいて、検索して見つかったら廃棄。しかも再帰。
>>580
アウツ。fgetsが勝手につけるんじゃなくて元データからそうなっている。
0583デフォルトの名無しさん
2011/05/29(日) 15:41:18.06ご指摘ありがとうございます。
引数の値がどのように返されるかは環境依存なんで、逆にどんな値をつかってもいいのでは?
0584デフォルトの名無しさん
2011/05/29(日) 15:44:38.89>無条件でノードを作っておいて、検索して見つかったら廃棄。
んー、んー、たしかにつらいですね。かといって毎回、追加前に検索をかけるのも同じくらいにうんこだし。
なにかいい知恵があれば教えてください。
0585デフォルトの名無しさん
2011/05/29(日) 15:50:46.23ご指摘ありがとうございます。
「3 文字ごとにぐるぐる」ですが、
#define BUFFSIZE 3 /* >= 2 */
で指定していますので、2 以上の数値であればOKです。環境にあわせて 1024 なり 65536 なりに設定できるようにしています。
なおこの数値に関わらず、ファイルの1行あたりのバイト数に拘束されないように作っております。
0586デフォルトの名無しさん
2011/05/29(日) 15:54:55.28たしかに malloc() が NULL を返すと、すべてを放り投げて終了させていますね。
malloc()-free() 教徒としては、異常系でも free() するところでしょうけれども、信心が足りないところを見つけられてしまいましたか。
0587デフォルトの名無しさん
2011/05/29(日) 16:02:50.38いやぁダービーで儲けさせてもらった。
プログラミングだけじゃやっぱ食っていけねぇ
0588デフォルトの名無しさん
2011/05/29(日) 16:07:19.00ご指摘のとおり、'\n' を無条件にデリミタとして扱っております。
本来ならば、
int isDelimiter(char c)
で判定させるべきでした。
ただし、iscntrl('\n') は真ですので、問題の条件を満たしており問題はありません。
0589デフォルトの名無しさん
2011/05/29(日) 16:20:25.02ありがとうございました。
0590デフォルトの名無しさん
2011/05/29(日) 16:30:26.48[2] 問題文
30 29 28 27 26 計 140
25 24 23 22 21 計 115
20 19 18 17 16 計 90
15 14 13 12 11 計 65
計 計 計 計 計
90 86 82 78 72
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン: Visual Studio2010
[3.3] 言語: C
[4] 期限:6月8日
�Tfor文 もしくはwhile もしくはswitch
�U配列利用パターン
構造体は使わず(未履修)
I,2両方です。とほほ・・・。課題やり始めると時間がワープするみたいに
飛んでってしまう。その割にはエラーしか出ない。
0591デフォルトの名無しさん
2011/05/29(日) 16:32:35.29「2chで答えを貰う」ってのが課題なの?
0592デフォルトの名無しさん
2011/05/29(日) 16:37:03.58>>1
・問題文は、出題されたまま全文を書いてください。
0593デフォルトの名無しさん
2011/05/29(日) 16:49:49.74>課題やり始めると時間がワープするみたいに飛んでってしまう。
快感でしょう。
で、なにをどうすればいいのでしょうか?
0594デフォルトの名無しさん
2011/05/29(日) 17:01:03.93while(1){
words[0].word = strdup(p);
words[0].word = strdup(p);
}
2. これはメモリーリーク? 168( ) 282( ) 369( )
words[0].word = strdup(p);
3. これはメモリーリーク? 168( ) 282( ) 369( )
words[0].word = strdup(p);
words[0].word = strdup(p);
free(words[0].word);
0596デフォルトの名無しさん
2011/05/29(日) 17:56:14.86難問過ぎるだろ
0597デフォルトの名無しさん
2011/05/29(日) 18:06:52.43#include <stdio.h>
int main(void)
{
int i, j, x=30;
int sum_h, sum_v0=0, sum_v1=0, sum_v2=0, sum_v3=0, sum_v4=0;
for(i=0;i<4;i++){
sum_h=0;
for(j=0;j<5;j++)
{
sum_h+=x;
switch(j)
{
case 0: sum_v0+=x; break;
case 1: sum_v1+=x; break;
case 2: sum_v2+=x; break;
case 3: sum_v3+=x; break;
case 4: sum_v4+=x; break;
}
printf("%3d ", x);
x--;
}
printf("計 %3d\n", sum_h);
}
printf(" 計 計 計 計 計\n");
printf("%3d %3d %3d %3d %3d\n", sum_v0, sum_v1, sum_v2, sum_v3, sum_v4);
return 0;
}
0598デフォルトの名無しさん
2011/05/29(日) 18:07:02.47>>438の仕様が大雑把なんだよな
まぁ適当に判断してやるよ
よろしくお願いします。
後、課題のプリントのほうにプログラムの例が載っているのですが、
そちらも記載した方がよろしいでしょうか?
0600デフォルトの名無しさん
2011/05/29(日) 18:45:25.780602デフォルトの名無しさん
2011/05/29(日) 18:51:25.87じゃあ、異常系でも回収するコードを書くのが信徒には要求されるのですね。けっこうつらいんですけど。
0603デフォルトの名無しさん
2011/05/29(日) 18:58:18.09異常系でも回収するコードを書くよ。だからC言語って生産性が悪いんだ。コードの大半がエラー処理だ。
通常、goto文でmallocとfreeを上下対称に書く(mallocに限った話じゃないが)。
int foo(void)
{
char *a, *b, *c;
a = malloc(1, sizeof(*a));
if (a == NULL) {
/** エラー出力 */
return文
}
b = malloc(2, sizeof(*b));
if (b == NULL) {
/** エラー出力 */
goto err1;
}
c = malloc(3, sizeof(*c));
if (c == NULL) {
/** エラー出力 */
goto err2;
}
/** なんかの処理(free(a), free(b), free(c)とかするのかも) */
return文
err2:
free(b);
err1:
free(a);
return文
}
0604デフォルトの名無しさん
2011/05/29(日) 19:03:51.18ふむ。
思い通りの malloc() にNULL を返させるにはどうすればいいでしょうか。
私の xmalloc() ならば簡単ですが、一般にはそういうのは使わないでしょうし。
0605デフォルトの名無しさん
2011/05/29(日) 19:08:58.56機能テストレベルなら自プログラムの裏でメモリを食いまくるプロセスを動かすとかかな。
単体テストレベルなら、テスト用ライブラリでmallocをオーバーライドさせて、
任意のタイミングでNULLを返すとかやるんだろう。
0606デフォルトの名無しさん
2011/05/29(日) 19:09:23.680607デフォルトの名無しさん
2011/05/29(日) 19:13:00.34#include <stdio.h>
#include <stdlib.h>
#define malloc mymalloc
static void *mymalloc(size_t size)
{
return NULL;
}
int main(void)
{
char *a;
a = malloc(1);
if (a == NULL) {
perror("malloc");
return 1;
}
free(a);
return 0;
}
あるいはgdbにお願いするか。
0608デフォルトの名無しさん
2011/05/29(日) 19:13:31.010609デフォルトの名無しさん
2011/05/29(日) 19:24:00.22メモリプールでも使ってろよ
0610デフォルトの名無しさん
2011/05/29(日) 19:26:07.58うるせーマイコン馬鹿。
0611デフォルトの名無しさん
2011/05/29(日) 19:29:14.49もうちっと考えれば少し楽できるよ
0612デフォルトの名無しさん
2011/05/29(日) 19:32:58.88mallocを3回読んでるのは例え話であって、a, b, cを配列的にアクセスすればいいんじゃね?ってのとはちょっと違う。
1回目のmallocがfopenとかでもエラー処理は必要でしょ?
0613デフォルトの名無しさん
2011/05/29(日) 19:34:19.48そうじゃなくてNULLで初期化しておくと楽できるってだけ
オーバーヘッドが云々とか言われたら知らんけど
0614デフォルトの名無しさん
2011/05/29(日) 19:36:51.93もう少し詳しく。
0615デフォルトの名無しさん
2011/05/29(日) 19:45:52.81しょぼ、しょぼ、なが〜いプログラムをつくる。
ところが、出来る人がつくると、
えーこんなにみじかいのとか、こんなやり方が
あるのとか。
ブレークスルーをもとめてみたいな。
0616デフォルトの名無しさん
2011/05/29(日) 20:23:50.19地の言葉を使いたまえ、キミに合わせよう
0617デフォルトの名無しさん
2011/05/29(日) 21:04:14.42free(NULL) はなにもしないから、NULL で初期化しとけば、取り合えず
エラー時は free(a); free(b); free(c); ってやっとけばいいって話だろ。
>>612 で fopen() の話出てるんだから、オーバーヘッド以前に単なるバカ
だと思うけど。
0619デフォルトの名無しさん
2011/05/29(日) 21:10:19.64Fault Simulator でも使えばええやん、
って書こうとしたら、メーカーの Web に載ってない...。
Micro Focus に吸収されたときに、無くなったんだろうか。
0620デフォルトの名無しさん
2011/05/29(日) 21:12:42.84> 自分が分からないからって馬鹿呼ばわりはヒドイな
じゃあ、ちゃんと説明してみて。
0622デフォルトの名無しさん
2011/05/29(日) 21:19:13.78こんなのある、
ちょっとプレゼン資料見難いけども。
0623622
2011/05/29(日) 21:19:32.53ttp://prezi.com/aigm45d07lrp/sexyhook2/
0624デフォルトの名無しさん
2011/05/29(日) 21:36:15.50>まずはどこをバカだと思ったのか説明してみてよ
>>617 だと fopen() はだめだろ。
なんかいい方法があるなら、書いてみてよ。
0625デフォルトの名無しさん
2011/05/29(日) 21:41:03.21こんなプレゼンどうやってつくったんだ?
今はやりなんですか?
ちょっとやってみたい。
0627デフォルトの名無しさん
2011/05/29(日) 21:55:31.79mallocは一例に過ぎないんだから、それにしか適用できないものを出すのはアホ
0628デフォルトの名無しさん
2011/05/29(日) 21:56:53.50ねえ、>>613 で「楽できる」って書いてるんだから、その方法とっとと書いたら?
0629613
2011/05/29(日) 22:09:53.010630デフォルトの名無しさん
2011/05/29(日) 22:13:06.02これ楽しいなぁ
0632デフォルトの名無しさん
2011/05/29(日) 22:14:44.52>答えでてんじゃん
これのことか? (w
>> それにしか適用できないものを出すのはアホ
0634デフォルトの名無しさん
2011/05/29(日) 22:19:05.53お前のやり方だと fclose() に NULL 渡さないのも「楽できる」んだろ?
どうやってやるんだ?
書いてみなよ。
0635デフォルトの名無しさん
2011/05/29(日) 22:21:48.51ちなみにfree(NULL)の挙動はC規約にある?
0636613
2011/05/29(日) 22:23:29.95自分で答え書いてるって言ったのになw
int hoge(void)
{
FILE *fp=NULL;
int *p=NULL;
fp=fopen(...);
if(fp==NULL) goto err;
p=malloc(...);
if(p==NULL) goto err;
// なんか処理
// 後処理とか
return 1;
err:
free(p);
if(fp) fclose(fp);
return 0;
}
0637625
2011/05/29(日) 22:25:08.81正直(最初は新鮮だった)ppt ももう飽きちゃって‥‥‥。
意味のない「眩暈感」がいい。
>>623 の内容自体を指しているのなら勘違いごめんなさい。
32bit 時代のアセンブラはちとわからない。
0638デフォルトの名無しさん
2011/05/29(日) 22:31:18.54free(NULL) はOK とあります。
ISO/IEC 9899:1999 7.20.3.1.2
fclose(NULL) はない。
ISO/IEC 9899:1999 7.19.5.1
0639デフォルトの名無しさん
2011/05/29(日) 22:33:50.81thx
0640デフォルトの名無しさん
2011/05/29(日) 22:35:37.96>ちなみにfree(NULL)の挙動はC規約にある?
ある。
>>636
さんざ引っ張って結局それかよ。
0641デフォルトの名無しさん
2011/05/29(日) 22:38:17.81>if(fp==NULL) goto err;
>if(fp) fclose(fp);
なんで、こんな一貫性のないコードが書けるんだ?
0642デフォルトの名無しさん
2011/05/29(日) 22:40:29.400643デフォルトの名無しさん
2011/05/29(日) 22:45:08.720644デフォルトの名無しさん
2011/05/29(日) 22:46:56.340645デフォルトの名無しさん
2011/05/29(日) 22:55:41.810646デフォルトの名無しさん
2011/05/30(月) 01:36:21.40いや、お前だろ
0647デフォルトの名無しさん
2011/05/30(月) 01:42:11.16これのシェルソートを選択ソートにしたいです
よろしくおねがいします
ソースコードのs[6]の比較回数 s[7]s[8]の交換回数が主に必要なデータになります
0648デフォルトの名無しさん
2011/05/30(月) 04:00:01.760649デフォルトの名無しさん
2011/05/30(月) 04:05:21.35時代はmalloc/freeは一体不可分。
不要なメモリは極力システムに返すように設計しなければ、システム
全体が使い物にならなかった。
しかし何故かコードはメモリにロードされっぱなしだったことが問題視され
ていて、DLLやらSOなどの概念が生まれたが、これはHDがそれなりに
発達して仮想メモリも実現できるようになった頃と大差がなかった
0650デフォルトの名無しさん
2011/05/30(月) 04:34:16.090651デフォルトの名無しさん
2011/05/30(月) 04:44:26.45http://ideone.com/FjhTh
こんな感じですか?
s[]の付け方の基準がいまいち分からないのでご自分で後は修正して下さい
実行オーダーはO(N^2)のはずです
0652デフォルトの名無しさん
2011/05/30(月) 05:07:40.240653デフォルトの名無しさん
2011/05/30(月) 05:34:37.590654デフォルトの名無しさん
2011/05/30(月) 06:02:45.700655デフォルトの名無しさん
2011/05/30(月) 06:36:28.120656デフォルトの名無しさん
2011/05/30(月) 06:36:36.860657デフォルトの名無しさん
2011/05/30(月) 08:12:36.130658デフォルトの名無しさん
2011/05/30(月) 08:35:24.01killされたときにもシグナル捕まえてちゃんとfreeしないとダメだね。
SEGVとかメモリアロケータの中で発生する事も多いけど、特製のメモリアロケータなんだろうな。
大変だな、信者。
0659デフォルトの名無しさん
2011/05/30(月) 08:46:34.200660デフォルトの名無しさん
2011/05/30(月) 08:58:23.650661デフォルトの名無しさん
2011/05/30(月) 09:20:15.380662デフォルトの名無しさん
2011/05/30(月) 09:28:43.54[2] 問題文(含コード&リンク):
今回は、単方向リストを用いて電話帳のプログラムを作ってもらいます。実装するのは、入力、削除、表示、終了、load、saveです
1.入力は、名前、電話番号を入力する。(可能ならばソートを行う)
2.saveは終了時にsaveを行うかどうか判断してから終了を行う(txtで保存する)
3.loadで読み込んだtxtファイルに再び、入力、削除、表示を行えるようにする
4.ヒント(mallocの意味を調べること)
[3.1] OS:vista
[3.2] コンパイラ名とバージョン:Linux又は、Visual Studio
[3.3] 言語: C
[4] 期限:本日中
0663デフォルトの名無しさん
2011/05/30(月) 09:35:18.29{
char name[ NAMESIZE ]; /* 氏名 */
char tel[ TELSIZE ]; /* 電話番号 */
struct List *next; /* 次の電話帳のアドレス */
} List;
List *input( List *head ); /* データを入力する関数 */
・
int main(void)
{
List *list,*head;
char command = '\0';
head = load( head );
while( 1 )
{
printf( "コマンドを入力してください\n" );
printf( "入力(I),削除(D),表示(P),終了(E): ");
command = getchar();
while( getchar() != '\n');
switch( command )
{
case 'I':
case 'i':
head = input( head );
・
よろしくおねがいします。
0665デフォルトの名無しさん
2011/05/30(月) 09:48:34.830666デフォルトの名無しさん
2011/05/30(月) 10:22:48.810667デフォルトの名無しさん
2011/05/30(月) 10:56:12.080668デフォルトの名無しさん
2011/05/30(月) 11:23:09.290669647
2011/05/30(月) 11:37:09.52シェルソートと交換回数は同じになると思のですが、交換回数と思われるs[7]で降順だけとても大きな数になるのはなぜでしょうか?
また比較回数はどこにあたるのでしょうか?
よろしくお願いします
0670デフォルトの名無しさん
2011/05/30(月) 11:51:17.160671デフォルトの名無しさん
2011/05/30(月) 12:24:59.190672デフォルトの名無しさん
2011/05/30(月) 12:59:51.280673デフォルトの名無しさん
2011/05/30(月) 13:28:22.10シグナルハンドラから抜けた先は、C のスタートアップですか?ならば信者としては free() しなくちゃいけないですね。
そうでなければ、free() する必要性を感じませんね。
↑いらない >>669
s[5]++; if (a[j] < min) {
s[6]++; min = a[j];
s[7]++; k = j;
}
}
s[8]++; t = a[minIdx]; a[minIdx] = a[i]; a[i] = t;
0675674 忍法帖【Lv=1,xxxP】 ◆/91kCCQXBo
2011/05/30(月) 14:40:02.73s[8]++; t = a[k]; a[k] = a[i]; a[i] = t;
修正
0676デフォルトの名無しさん
2011/05/30(月) 15:28:03.09プログラム修正したのですが
シェル
http://ideone.com/whXyL
選択
http://ideone.com/Cl39G
昇順で0になるので
比較回数はランダム2399 昇順0 降順62500
交換回数はn - 1 でどれも499でいいのでしょうか?
0678デフォルトの名無しさん
2011/05/30(月) 15:57:35.11お前バカすぎて話になんない。
スタートアップに帰るならfree必要、それ以外は不要という教義に修正するのか? ww
信者たる者、どんな条件でもfreeすべきだろ。
c6e5511a42026dc7b7f43848fec3cdcdf53fe2ab4d7b8d86d8372510f7742b79
比較成功回数はランダム2399 昇順0 降順62500
交換 回数はどれも499 n-1
0680602
2011/05/30(月) 16:10:56.74神の教えはそう説くのですが、我ら下々には時として苛斂誅求な要求でもあり、世の宗教にも修正主義という言葉もありますし、
適当なところで折り合いをつけるのが、ひいては神の御威光を世に知らしめることになると信じております。
神よ、なにとぞお許しを。異常系の free() は勘弁してください。
0681デフォルトの名無しさん
2011/05/30(月) 16:25:04.23C / Linux
2.問題文
あるアルファベットの文字列中に出現する「a」の出現数を表示するプログラムを作れ。
3.条件
アルファベットの文字列は確実適当にプログラム内に作ること。
26文字全てのアルファベットの出現数を保持する配列を作ること。
大文字、小文字は区別しない。
宜しくお願いします。
0682デフォルトの名無しさん
2011/05/30(月) 17:10:13.22教義を修正するという事はてめーが仕掛けた宗教戦争の敗北を認めて撤退するんだな?
二度と来んなカス。
0683デフォルトの名無しさん
2011/05/30(月) 17:47:29.87んー、落としどころは予定通り >>599 となりましたし。
あと、strdup() の返り値が NULL かどうかみていない、とつっこもうかと思いましたが、それは >>282 にもいえることですので、遠慮しておきました、って書いてるくせに本当に遠慮してるのか?
それより次の宿題、宿題。
0684デフォルトの名無しさん
2011/05/30(月) 20:22:51.22うんこな教義を異教徒に押し付けようと宗教戦争仕掛けた詫びを入れてもらおうか。
0685デフォルトの名無しさん
2011/05/30(月) 20:55:21.55[1] 授業単元:課題
[2] 問題文:次に示す関数はどのような計算、処理を行うものか説明せよ。
問1.1
int sum(int start, int end)
{
int ans;
inti;
ans = 0;
for(i = start; i <= end; i++){
ans = ans + i;
}
return ans;
}
問1.2
int is_number(char c)
{
if('0' <= c && c <= '9'){
return 1;
}
else{
return 0;
}
}
[3] 環境
[3.1]Linux
[3.2]gcc
[3.3] 言語:C
[4] 期限:本日中
0686デフォルトの名無しさん
2011/05/30(月) 21:14:33.16[2] 問題文:問3.1次の関数を作成せよ。
/*xとyのうち小さいほうを返す*/
double min2(double x, double y)
問4.1
問3.1の関数min2を利用して4つの実数値から最小の値を返す関数min4を作成せよ。
/*w,x,y,z*/
double min4(double w, double x, double y, double z)
問4.2
関数の効能が3つ挙げられている。関数の効能がどのようなものか問4.1の関数min4の作成を具体例として挙げて説明せよ。
1.関数単位で手続きをまとめることにより、プログラム全体を見通しよく構成することができる
2.関数にまとめられた手続きは手続きの詳細を知らなくても呼び出すだけで簡単に利用できる
3.よく使う手続きを関数の形にまとめておき何度でも再利用できる
[3] 環境
[3.1]Linux
[3.2]gcc
[3.3] 言語:C
[4] 期限:本日中
0687デフォルトの名無しさん
2011/05/30(月) 21:21:29.221.2:文字cが数字なら1を0を返す
0688デフォルトの名無しさん
2011/05/30(月) 21:26:43.94[2] 問題文:問2次のプログラムにTEL:(0561)89-2111を入力したときの実行結果を書け。
#include<stdio.h>
int main(void)
{
char string[128];
char *strPtr;
printf("文字?");
scanf("%s",string);
for(strPtr = string;*strPtr != '\0';strPtr++){
if(is_number(*strPtr)){//前レスの問1.2の関数
*strPtr = '#';
}
}
printf("%s\n",string);
return 0;
}
[3] 環境
[3.1]Linux
[3.2]gcc
[3.3] 言語:C
[4] 期限:本日中
0689デフォルトの名無しさん
2011/05/30(月) 21:29:31.190690デフォルトの名無しさん
2011/05/30(月) 21:52:18.020691デフォルトの名無しさん
2011/05/30(月) 21:52:42.20またなぜそのような結果になるのか教えてもらえないでしょうか?
0692デフォルトの名無しさん
2011/05/30(月) 21:56:45.59http://codepad.org/gDrQfjcR>>684
>>684
んー、根に持つタイプなんですね。
0693692
2011/05/30(月) 21:58:12.00リンクミスを訂正します。
http://codepad.org/gDrQfjcR
0694デフォルトの名無しさん
2011/05/30(月) 22:04:26.43double min2(double x, double y)
{
if(x<y) return x;
else return y;
}
/* 関数min2を利用して4つの実数値から最小の値を返す関数 */
double min4(double w, double x, double y, double z)
{
return min2(min2(w,x), min2(y,z));
}
0695デフォルトの名無しさん
2011/05/30(月) 22:26:32.60http://codepad.org/aNXNHnz9 visual c
>>692
あたりめーだ。てめーが自分から仕掛けた宗教戦争で全面敗北したんだからな。
0696デフォルトの名無しさん
2011/05/30(月) 22:27:45.94[2] 問題文:
関数の効能が3つ挙げられている。関数の効能がどのようなものか前レスの問4.1の関数min4の作成を具体例として挙げて説明せよ。
1.関数単位で手続きをまとめることにより、プログラム全体を見通しよく構成することができる
2.関数にまとめられた手続きは手続きの詳細を知らなくても呼び出すだけで簡単に利用できる
3.よく使う手続きを関数の形にまとめておき何度でも再利用できる
[3] 環境
[3.1]Linux
[3.2]gcc
[3.3] 言語:C
[4] 期限:本日中
0697デフォルトの名無しさん
2011/05/30(月) 22:34:37.32>List **find(List **p, const char *name, const char *tel)
この書き方が個人的に好み。
でも、なぜ、データの書き換わらない find() で List **p を渡すのですか?むしろ、
input(List **haed, ...)
delete(List **head, ...)
load(List **had, ...)
の方が合理的だと思いますが、どうでしょうか?
あと線形リストのソーティングはおいしい課題なのに、パスするとはもったいない。
0698デフォルトの名無しさん
2011/05/30(月) 22:53:48.45コード読めないバカは引っ込んでろ。
0699デフォルトの名無しさん
2011/05/30(月) 22:54:20.78失礼。線形リスト全体にソーティングはかけずに、insert() のときに挿入点を見つける形にしているのですね。なるほど。
0700デフォルトの名無しさん
2011/05/30(月) 23:19:05.69線形リスト全体のソーティングは(馬鹿馬鹿しいので)とりやめ、
>>695 に習って、入力時に挿入ポイントを探す形に訂正いたしました。
http://codepad.org/2B6aNIrD
0701デフォルトの名無しさん
2011/05/30(月) 23:54:39.04Bidirectional Iteratorだから速いソートは大抵使えないし
俺はいつも各オブジェクトを指すポインタ配列をソート前にリストを
一なぞりして作りそれでqsort()ソートし、後からリストをつなげ直している
その方が圧倒的に速い
0702デフォルトの名無しさん
2011/05/30(月) 23:57:43.36線形リスト使う理由がなさそうだ
0703デフォルトの名無しさん
2011/05/30(月) 23:59:47.60でも確かC++のstd::listのメンバ関数sort()はそうやってると聞いたぜ
0704デフォルトの名無しさん
2011/05/31(火) 00:07:52.63要素の追加を重視する場合に有効。
0705デフォルトの名無しさん
2011/05/31(火) 00:10:23.10vectorはO(N)
0706デフォルトの名無しさん
2011/05/31(火) 00:43:35.74浪漫がない‥‥いや、独り言。
シェルソートあたりが実用的に使えないでしょうか。
0707デフォルトの名無しさん
2011/05/31(火) 00:50:59.98線形リストをダイレクトにソートするなんて発想は想定外だぜ。さすがうんこ。ww
0708デフォルトの名無しさん
2011/05/31(火) 00:55:00.32シェルソートも要素数が多いと最初のうちは要素を走査する時間がO(N)掛かって
全体としてはO(1/2N^2)=O(N^2)となるだろ
0709デフォルトの名無しさん
2011/05/31(火) 00:56:04.96リンクをピシパシ張りなおすのは一度やってみたいと思いませんか?普通思わない‥‥‥そうですか。そうかもしれない。
0710デフォルトの名無しさん
2011/05/31(火) 00:58:35.27暇だったらN=1000000位で双方向リストでシェルソートとポインタを拾ってポインタ配列を
作ってそれでソートしてそれを元にポインタを付け直すのと時間を比べてみてくれ
0711デフォルトの名無しさん
2011/05/31(火) 00:59:12.62SIGKILLの場合、OSがプロセスの終了と共に根こそぎメモリ管理情報を解放するから要らない。
近頃はメモリアロケータの中ではSEGVは起こらず、
メモリアロケータから戻った後にメモリアクセス、例外、頑張ったがメモリアロケートできません、SEGVが起こる。
0712デフォルトの名無しさん
2011/05/31(火) 01:13:37.43うんこ教信者はmallocしたメモリは全部freeすべしという教義に従っている。
したがって如何なる場合においてもfreeしなければならない。
SIGKILLを捕まえられないOSは異端のOSだから使わないんだろ。
> 近頃はメモリアロケータの中ではSEGVは起こらず、
んなこたーない。
メモリをボロボロに破壊されてもSEGVを起こさないコーディングテクニックなど存在しない。
0713デフォルトの名無しさん
2011/05/31(火) 01:16:15.10シェルソートの場合、gap離れたオブジェクトを指すポインタは最初の一回の走査でいいか
後は隣のオブジェクトを辿るだけだからなあ
意外と速いかも
要素の交換はポインタの付け替えよりも内容をそっくり入れ替えた方が速いよなあ
0714デフォルトの名無しさん
2011/05/31(火) 01:16:32.130715デフォルトの名無しさん
2011/05/31(火) 01:18:09.23双方向リストはソートの場合あまり役に立たないか
結局Random Access Iteratorが使えないと何らかの技法が必要になる
0716デフォルトの名無しさん
2011/05/31(火) 01:21:51.97{
int h, i, j;
keytype x;
h = 13;
while (h < n) h = 3 * h + 1;
h /= 9;
while (h > 0) {
for (i = h; i < n; i++) {
x = a[i];
for (j = i - h; j >= 0 && a[j] > x; j -= h)
a[j + h] = a[j];
a[j + h] = x;
}
h /= 3;
}
}
シェルソートのメイン部分だがこの j-=h という部分が単方向リストだと苦しいなあ
それに双方向リストでもループ事に走査し直しだしやっぱりO(N^2)かなあ
0717デフォルトの名無しさん
2011/05/31(火) 01:26:17.59>内容をそっくり入れ替えた方が速いよなあ
そっか‥‥その発想の方がまともだなあ。
特に、container と containee(造語) を構造上でも分離する(void *data;)するのならば、それしかない。
あと、シェルソートより(この前見かけた)コムソートが有望ですね。
0718デフォルトの名無しさん
2011/05/31(火) 01:30:19.70h = h * 10 / 13;
これは一度全要素を走査して全要素数を把握しておく必要がある
それを除けば単方向リストには良さそうだ
0719デフォルトの名無しさん
2011/05/31(火) 01:39:25.55[2] 問題文(含コード&リンク):http://www.dotup.org/uploda/www.dotup.org1675270.c.html
◎パスワード:1234
[3] 環境
[3.1] OS:ubuntu
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語:C
[4] 期限:5月中
[5] リンクのファイルの中に問題文も書いています。
ポインタや構造体を十分に理解してない状態で作成していますので
超初歩的な間違いばかりだと思いますがよろしくお願いします。
0720デフォルトの名無しさん
2011/05/31(火) 05:16:16.520722デフォルトの名無しさん
2011/05/31(火) 07:22:24.80むかしモリタポだけでやってくれるスレがあったのだが
潰された
0723デフォルトの名無しさん
2011/05/31(火) 09:01:45.36>有償が常識
有償でやるなら自分でブログ作ってそこでやれQZの糞
0724デフォルトの名無しさん
2011/05/31(火) 11:16:33.83>>719
http://pastebin.com/wRxCA191
%F, %Sは設問が不明なのでパス。
0725デフォルトの名無しさん
2011/05/31(火) 13:43:11.91[2] 問題文(含コード&リンク):
int型の二つの同じ長さを持つ配列があるとする。
この二つの配列の値の和を一方の配列に代入する関数
void add(int *address1, int * address2, int length)を定義し、
その動作を確認するプログラムkadai7-1.cを作りなさい。
ただし、答えはaddress1で指定された配列に代入されるものとし、
lengthは2つの配列の長さを表すものとする。
ただし、int a[2], b[2];
scanf("%d %d %d %d", &(a[0]), &(a[1]),&(b[0]),&(b[1]));
で配列の値をセットするものとして、答えは以下で出力されるものとする。
printf("a = %d %d, b = %d %d\n", a[0], a[1], b[0], b[1])
[3] 環境
[3.1] OS:linax
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語:C
[4] 期限: ([2011年6月2日まで]
よろしくおねがいします。
0726デフォルトの名無しさん
2011/05/31(火) 13:44:44.19[2] 問題文(含コード&リンク):
キーボードから入力した10文字以内の任意の文字列の中で、
ある特定の文字が最初に表れる位置からそれ以降の部分文字列を返す関数
char *cut_str(char *address1, char target_char)を定義し、
その動作を確認するkadai7-2.cを作りなさい。
ただし、文字列と、ある特定の文字の入力は、
char str[10], target_char;
scanf("%s %c", str, &target_char);
で入力されるものとして、
答えは以下で出力されるものとする。
printf("answer = %s\n", cut_str(str, target_char));
[3] 環境
[3.1] OS:linax
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語:C
[4] 期限: ([2011年6月2日まで]
0727デフォルトの名無しさん
2011/05/31(火) 13:56:12.70#include <stdio.h>
void add(int *address1, int *address2, int length)
{
while(length--) *address1++ += *address2++;
}
int main(void)
{
int a[2], b[2];
scanf("%d %d %d %d", &(a[0]), &(a[1]),&(b[0]),&(b[1]));
add(a, b, 2);
printf("a = %d %d, b = %d %d\n", a[0], a[1], b[0], b[1]);
return 0;
}
0728デフォルトの名無しさん
2011/05/31(火) 15:11:10.720729デフォルトの名無しさん
2011/05/31(火) 15:16:29.510730デフォルトの名無しさん
2011/05/31(火) 15:17:04.44バカ発見w
何が起こるか説明してみろよw
0731デフォルトの名無しさん
2011/05/31(火) 15:24:05.420732デフォルトの名無しさん
2011/05/31(火) 15:32:58.90いみわからん
0733732 忍法帖【Lv=2,xxxPT】 732
2011/05/31(火) 15:33:01.28>>726
#include <stdio.h>
char *cut_str(char *address1, char target_char){
for( ;*address1; address1++)
if(*address1 == target_char)
return address1;
return address1;
}
int main(void){
char str[10], target_char;
scanf("%s %c", str, &target_char);
printf("answer = %s\n", cut_str(str, target_char));
}
0734デフォルトの名無しさん
2011/05/31(火) 16:26:52.770735デフォルトの名無しさん
2011/05/31(火) 17:12:02.07俺は取った
0736デフォルトの名無しさん
2011/05/31(火) 17:15:00.510737デフォルトの名無しさん
2011/05/31(火) 17:28:32.49取った?てことはわざわざ手元にコードをおいてるのね
0739デフォルトの名無しさん
2011/05/31(火) 18:11:28.54人の書き方は参考になる
自分の思いも付かないアルゴリズムとか平気であるしな
本なんか読むより余程ためになるよ
0740デフォルトの名無しさん
2011/05/31(火) 18:20:50.00そりゃそうだけど、>>727は見れば終わりでは。
…と、理解度を一括りにしてはいけないのは重々承知で。
でも、>>727を勉強に利用しようと思う段階の人が、
癖だろうと切り捨てるところに違和感を覚えた。
深読みしすぎですまない。
0741デフォルトの名無しさん
2011/05/31(火) 18:35:51.73ただ勉強そのものは一生し続ける必要があるだろ
その時に変な括弧が付いていたら取りたくなるのが悲しき性
0742デフォルトの名無しさん
2011/05/31(火) 18:38:41.19宿題スレまとめwikiの更新してくれたとかかな
0743デフォルトの名無しさん
2011/05/31(火) 18:58:04.620744デフォルトの名無しさん
2011/05/31(火) 19:18:58.570745デフォルトの名無しさん
2011/05/31(火) 19:43:24.810746デフォルトの名無しさん
2011/05/31(火) 19:46:35.560747デフォルトの名無しさん
2011/05/31(火) 20:29:07.00[2] 問題文
「不思議の国のアリス」の電子小説版(http://www.gutenberg.org/files/11/11.txt)の
本文に含まれている異なる単語の数を求めよ。ただし以下の条件は守ること。
・対象は「CHAPTER I. Down the Rabbit-Hole」の行から「THE END」の行までとする。
両行ともカウント対象とする。プログラムは引数なしで実行し、カレントディレクトリにある
alice.txtから本文を読み込ませること。出力は「異なる単語数」のみを数字で1つ出力すること。
・大文字は全て小文字にする。
・'(アポストロフィ)がついているものは1語と見なす。
単語間にあるアポストロフィー以外の記号は無視する。
例:I'll , We'veなど
・綴りが同じであれば意味が違っていても1語とみなす。
単語末にあるアポストロフィについて、別の単語としてカウントしてください。
例:「I」は一人称単数(自分)としてのIとローマ数字の1を表すIの
例:cats' と cats 。
2種類の使われ方がされているが、同じ単語とみなす。
・複数形( cup とcups)、過去・過去完了形(have とhad)、現在分詞形(have とhaving)の
変化はそれぞれ別々の単語とみなす。
・- (ダッシュ)でつながれた単語は2語に分ける。
例:cherry-tart → cherry とtart
・その他の記号ははずす。
例;, . ! ? : や引用や台詞としてのシングルクォート
アポストロフィーの直前に記号がくる場合( 例 !' など)は無視する。
[3] 環境
[3.1] OS: (Windows/Linux/等々):Windows7
[3.2] コンパイラ名とバージョン:gcc バージョンは不明
[3.3] 言語:C言語
0748デフォルトの名無しさん
2011/05/31(火) 20:48:25.82「無視する」の意味を教えてください。
>単語間にあるアポストロフィー以外の記号は無視する。
>- (ダッシュ)でつながれた単語は2語に分ける。
abc-xyz
は、
abc xyz
の2語になるとして、
abc&xyz
は
abcxyz と同等になるのですか?
それとも abc xyz の2語になるのですか?
どの記号だと2語にわけ、どの記号だと「無視する」――その記号が存在しないものとして扱う、のかもう少し情報がありませんか?
アポストロフィの扱いについて
>・'(アポストロフィ)がついているものは1語と見なす。
>単語末にあるアポストロフィについて、別の単語としてカウントしてください。
これは、アポストロフィはあたかもアルファベットの一部として扱うことでよいでしょうか?というか、そのように扱うつもりです。
>・その他の記号ははずす。
はずす、とはどういう意味ですか。あたかも存在しないように扱えばよろしいでしょうか?
情報をいただければありがたいです。とりあえずの雛形は 6/1 23:59 までには提供できると思います。
0749デフォルトの名無しさん
2011/05/31(火) 21:01:57.590750デフォルトの名無しさん
2011/05/31(火) 21:03:17.75>単語間にあるアポストロフィー以外の記号は無視する。
「アポストロフィ以外の記号」を含むものはこれがない単語と
同じに扱うようにするということです。
>abc&xyzはabcxyz と同等になるのですか?
これはabcとxyzと分けて考えます
>これは、アポストロフィはあたかもアルファベットの一部として扱うことでよいでしょうか?
その通りです。
>はずす、とはどういう意味ですか。あたかも存在しないように扱えばよろしいでしょうか?
その通りです。記号が存在しなかったときの単語と同じ単語が他にあれば同一の単語とみ
みなし、カウントには含みません
情報が足りずすいません。どうかよろしくお願いします
0751デフォルトの名無しさん
2011/05/31(火) 21:17:43.84>とりあえずの雛形は 6/1 23:59 までには提供できると思います。
時間掛け過ぎだろ
今日中にしろ
0752デフォルトの名無しさん
2011/05/31(火) 22:00:37.46会話文の終わりのアポストロフィと
単語の終わりにくっついたアポストロフィとの
判定が難しすぎるw
こんな奴
it was labelled 'ORANGE MARMALADE',
0753752
2011/05/31(火) 22:08:02.83cats' は無いものとしてよさげ
こんだけ
MARMALADE'
ME'
not'
ME'
better'
thimble'
RABBIT'
won't'
sir'
nose'
were'
ordered'
never'
men'
0754デフォルトの名無しさん
2011/05/31(火) 22:09:32.60緻密な計算が間に合わないだろバカ
0755デフォルトの名無しさん
2011/05/31(火) 22:11:13.64あ?雛形まってんだよカス
0756デフォルトの名無しさん
2011/05/31(火) 22:13:38.990757デフォルトの名無しさん
2011/05/31(火) 22:30:55.64ビルド通ってないけどこんな感じ?
正直面倒くさい問題だ。C++のSTLでも使えれば楽だが・・・
alice.txtの中見てないから、最終行の判定が必要なのかもわからん。
http://ideone.com/Guopk
これ以上メンテナンスせんので、誰か引き継いでくれい。
参考にならなければ捨ててよし
0758デフォルトの名無しさん
2011/05/31(火) 22:40:45.960759デフォルトの名無しさん
2011/05/31(火) 22:43:16.90難しいから例外として 'tis の判定を先にするくらいじゃね
0760デフォルトの名無しさん
2011/05/31(火) 23:04:57.03[2] 問題文:学籍番号、名前を入力する。
100件のデータが入力されるかEOF(Ctrl+Z)が入力されたら終了とする。
(学籍番号と氏名で1件とする)
例にならって結果を出力すること。
例:
入力:
学籍番号>1
名前>ISHIDA
学籍番号>6
名前>NAKATANI
Ctrl+Z
出力:
学籍番号1のアドレス:001F0F00 名前ISHIDAのアドレス:001F0F04
学籍番号6のアドレス:001F0F18 名前NAKATANIのアドレス:001F0F1C
・
・
・
※アドレスの値は環境によって変化します。
[3] 環境
[3.1] OS:Windows 7 Pro
[3.2] コンパイラ名とバージョン: visual studio
[3.3] 言語:C言語
[4] 期限: 2011年6月3日(金)午後6時まで
[5] その他の制限:学籍番号、名前には構造体を使い、
学籍番号はint型、名前はchar型とすること。
0761760
2011/05/31(火) 23:08:15.05>100件のデータが入力されるかEOF(Ctrl+Z)が入力されたら終了とする。
データは30件入力されたら終了とする です。大変失礼しました。
0762デフォルトの名無しさん
2011/05/31(火) 23:21:37.86どんなに長い名前を入力されても問題なく動く必要があるの?
0764デフォルトの名無しさん
2011/05/31(火) 23:38:49.73Ctrl+Zで終了がなくなると>>760の例に反するけどいいの?
0765デフォルトの名無しさん
2011/05/31(火) 23:41:54.66puts("2627");
0766760
2011/05/31(火) 23:44:23.50はい。大丈夫です。
問題文打ってたら目がそれて一部分
別の問題を書いてしまったようです。
データは30件の入力で終了で間違いありませんので、
30件打ち終えたら終了して、例のとおりに
学籍番号と名前のアドレスを表示させるようなプログラムで
よろしくお願いします。
0767デフォルトの名無しさん
2011/06/01(水) 00:00:22.38単語末にあるアポストロフィについて、別の単語としてカウントしてください。
例:cats' と cats 。
例:「I」は一人称単数(自分)としてのIとローマ数字の1を表すIの
2種類の使われ方がされているが、同じ単語とみなす。
0768デフォルトの名無しさん
2011/06/01(水) 00:03:31.99・綴りが同じであれば意味が違っていても1語とみなす。
単語末にあるアポストロフィについて、別の単語としてカウントしてください。
例:「I」は一人称単数(自分)としてのIとローマ数字の1を表すIの
例:cats' と cats 。
2種類の使われ方がされているが、同じ単語とみなす。
○
・綴りが同じであれば意味が違っていても1語とみなす。
例:「I」は一人称単数(自分)としてのIとローマ数字の1を表すIの
2種類の使われ方がされているが、同じ単語とみなす。
・単語末にあるアポストロフィについて、別の単語としてカウントしてください。
例:cats' と cats 。
だろうと適当に読み替えてた。
0769748
2011/06/01(水) 00:39:05.98>>753, >>758 の情報を加味して >>335 を改変したものです。
オプション -v で識別した単語を出力します。
http://codepad.org/EVPpsqbo
>>765
一致しました。
0770デフォルトの名無しさん
2011/06/01(水) 00:58:22.04前に似たものをつくっているので、それをベースに頑張ってみましたが、ちょっと足りませんでした。
0771デフォルトの名無しさん
2011/06/01(水) 01:00:59.27懲りないなロートルは
0772デフォルトの名無しさん
2011/06/01(水) 01:15:25.97適度に簡単でそこそこ速い二分木よりもいい map の実装は、そうみあたらないかと。
0773デフォルトの名無しさん
2011/06/01(水) 01:34:18.97同じ部分があるとすぐにバレるんだよ
0774デフォルトの名無しさん
2011/06/01(水) 01:47:15.47>二分木でなくてrealloc()で後からソートしてもいいだろ
??
kwsk
>同じ部分があるとすぐにバレるんだよ
他の方の実装を待ちましょうか。
0775デフォルトの名無しさん
2011/06/01(水) 02:14:09.61よほど自分のコードを出したくないのかと勘ぐってしまう。
って書くとお前が書けって言うのかなぁ。。
0776デフォルトの名無しさん
2011/06/01(水) 02:45:53.23相変わらずのソースコードでなにより
俺も嫌がらせっぽい解答を書くことはあるけど
ここまでやったことはない
感心した
0777デフォルトの名無しさん
2011/06/01(水) 05:19:28.380778デフォルトの名無しさん
2011/06/01(水) 06:32:14.560779デフォルトの名無しさん
2011/06/01(水) 06:40:57.620780760
2011/06/01(水) 07:14:10.94[1] 授業単元:プログラム言語
[2] 問題文:学籍番号、名前を入力する。
データが30件入力されたら終了し、結果を出力する。
(学籍番号と氏名で1件とする)
例にならって結果を出力すること。
例:
入力:
学籍番号>1
名前>ISHIDA
学籍番号>6
名前>NAKATANI
・
・
・
出力:
学籍番号1のアドレス:001F0F00 名前ISHIDAのアドレス:001F0F04
学籍番号6のアドレス:001F0F18 名前NAKATANIのアドレス:001F0F1C
・
・
・
※アドレスの値は環境によって変化します。
[3] 環境
[3.1] OS:Windows 7 Pro
[3.2] コンパイラ名とバージョン: visual studio
[3.3] 言語:C言語
[4] 期限: 2011年6月3日(金)午後6時まで
[5] その他の制限:学籍番号、名前には構造体を使い、
学籍番号はint型、名前はchar型とすること。
0781デフォルトの名無しさん
2011/06/01(水) 07:31:19.44struct student {
int no;
char name[20];
};
int main(void)
{
struct student a[30];
int i;
printf("入力:\n");
for(i = 0; i < 30; i++) {
printf("学籍番号>");
scanf("%d", &a[i].no);
printf("名前>");
scanf("%s", a[i].name);
}
for(i = 0; i < 30; i++) {
printf("学籍番号%dのアドレス:%p 名前%sのアドレス:%p\n", a[i].no, &a[i].no, a[i].name, &a[i].name);
}
return 0;
}
0782デフォルトの名無しさん
2011/06/01(水) 07:41:28.52> http://hibari.2ch.net/test/read.cgi/unix/1303635206/271
> From: [271] ◆QZaw55cn4c <sage>
> Date: 2011/05/31(火) 20:50:29.76
>
> >>267
> 失せろ
0783デフォルトの名無しさん
2011/06/01(水) 07:48:05.88どこが「嫌がらせ」だと思ったのか教えてください。
0785デフォルトの名無しさん
2011/06/01(水) 07:51:41.760786デフォルトの名無しさん
2011/06/01(水) 07:57:22.89とりあえず課題を解決できればそれでよしなんだから
0787デフォルトの名無しさん
2011/06/01(水) 08:02:29.80そのトリップは基本的にいらないからいいです。
0788デフォルトの名無しさん
2011/06/01(水) 08:22:45.23人のコード見るだけでも勉強になるしそれはそれでいいんじゃない?
0789デフォルトの名無しさん
2011/06/01(水) 09:05:56.75QZは自己愛性人格障害の上に強度のアスペルガー症候群(究極のKY)か
最低だな
0790デフォルトの名無しさん
2011/06/01(水) 09:18:13.11#define P_FIRST_LINE "CHAPTER I."
#define P_LAST_LINE "THE END"
http://ideone.com/MmoIq
Total 3737 lines, form 40 line to 3370 line, it's 3331 lines.
% head -n 3370 alice.txt | tail -n 3331 | 168a.out
2627
0792デフォルトの名無しさん
2011/06/01(水) 12:48:34.16[2] 問題文(含コード&リンク):
Jacobi法の確認プログラム(2x2行列)と直交行列の角度計算方法を例として,
2×2対称行列の固有値と固有ベクトルを求めるプログラムを作成しなさい
↓確認プログラム
http://codepad.org/zjJntLI9
↓直交行列の角度計算方法
/*�����s���̊p�x�̌v�Z*/
if(a[i][i]==a[j][j]) theta=PI/4.0;
else theta=atan2(2*a[i][j],(a[i][i]-a[j][j]))/2.0;
[3] 環境
[3.1] OS:Windows
[3.2] gcc
[3.3] C
[4] 期限:2011年6月2日Am10:00まで
0793デフォルトの名無しさん
2011/06/01(水) 13:00:13.16http://ideone.com/ckkIu
% head -n 3370 alice.txt | tail -n 3331 | 371.out
2627
0795デフォルトの名無しさん
2011/06/01(水) 17:15:18.89この言葉の意味を教えてください
0796デフォルトの名無しさん
2011/06/01(水) 17:31:26.33QZのプログラムだと2627個、>>794のプログラムだと3073個になるな
どちらが間違ってるんだ?
0797デフォルトの名無しさん
2011/06/01(水) 17:47:34.39[2] 問題文(含コード&リンク):
[A]宣言による場合 short d[L][M][N];
[B]動的確保による場合 ([A]と同じサイズ。生成法は講義時と同様:参考コードhttp://ideone.com/nWTXg)
short型の3次元配列を生成した場合について、(1)〜(7)の解答を導け。
(上の宣言による場合と動的確保による場合の両方について答えよ。
なお、short型とポインタ型のサイズはそれぞれ2バイトと8バイトとする)
(1)要素d[i][j][k]へのアクセス手順・・・書き方の例:メモリアクセス → 計算 → メモリアクセス → 計算 → メモリアクセス
aai aai+8i *(aai+8i) *(aai+8i)+4j *(*(aai+8i)+4j)
(2)要素d[i][j][k]へのアクセスに要するアドレス計算とメモリアクセスの回数
(3)メモリ使用量(L,M,Nを用いて表せ)・・・書き方の例:M×N×sizeof(X)+M×sizeof(X*)+sizeof(X**)バイト
(4)L=3,M=N=512の場合のメモリ使用量(KB単位、小数点以下1桁まで。ただし1KBは1024Bとする。)
(5)L=M=512,N=3の場合のメモリ使用量(上と同じ条件)
(6)関数への渡し方・・・書き方の例:func(aax);
(7)関数での受け方・・・書き方の例:func(int **aay){ }
[3] 環境
[3.1] OS:Linux
[3.2] gcc
[3.3] 言語:C言語
[4] 期限:2011年6月1日23時まで
0798デフォルトの名無しさん
2011/06/01(水) 18:24:24.34ほとんどネット上のプログラムの改造だけど答えは正しいみたい
http://codepad.org/BX481Idy
0799デフォルトの名無しさん
2011/06/01(水) 18:39:13.68>>794 は alice.txt のうち、
「CHAPTER I. Down the Rabbit-Hole」の行から「THE END」の行までだけを標準入力から食わせないと正しく動作しません。
>>769 は、alice.txt すべてを自分で読み込み、対象範囲を自分で判断してカウントします。
結局どちらも 2627 を出力します。
>>747
>>794 のコメントアウトの記述にあわせて -v オプションの内容を充実させました。
http://codepad.org/85H86wmw
0800デフォルトの名無しさん
2011/06/01(水) 19:32:03.78[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
番号(整数型),名前(文字型、アルファベット15文字まで),点数(整数型)のメンバを持つ構造体を作り、以下の処理をするプログラムを作りなさい。
ただし、各メンバの値の出力には%4d(番号),%15s(名前),%5d(点数)を用いること。
http://www.gazo.cc/up/40631.jpg
(画像にプログラム例があります。)
[3] 環境
[3.1] OS: windows7
[3.2] コンパイラ名とバージョン:Microsoft Visual C++ 2008 Express edition
[3.3] 言語:C++
[4] 期限:本日中
[5] その他の制限:
必ず構造体を用いること。入出力はscanfとprintfでお願いします。
0801デフォルトの名無しさん
2011/06/01(水) 19:32:39.71[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
番号(整数型),名前(文字型、アルファベット15文字まで),点数(整数型)の
メンバを持つ構造体配列(最初にキーボードから入力する人数分の要素をもつ)を作り、
以下の処理をするプログラムを作りなさい。 ただし、各メンバの値の出力には%4d(番号),%15s(名前),%5d(点数)を用いること。
http://www.gazo.cc/up/40638.jpg
(画像にプログラム例があります。)
http://codepad.org/eeszgB3O
ここまで出来ています。
[3] 環境
[3.1] OS: windows7
[3.2] コンパイラ名とバージョン:Microsoft Visual C++ 2008 Express edition
[3.3] 言語:C++
[4] 期限:本日中
[5] その他の制限:
http://codepad.org/eeszgB3O の様な感じで、続きをできたらお願いしたいです。
0802デフォルトの名無しさん
2011/06/01(水) 19:40:16.90消えろクズwwww
0803719
2011/06/01(水) 20:34:58.8065行目print_profileの74行目あたりからです
すいません、問題文に書き忘れがありました(-_-;
(1)%P nでn=0の時、登録したデータを全件出力
(2)n<0のとき、登録したデータの後ろからn件出力
例:50件登録していて %P -10 と入力したとき、40番→49番の順に出力
試行錯誤してみたのですがなかなかうまくいかないです
どなたかよろしくお願いしますm(__)m
0804デフォルトの名無しさん
2011/06/01(水) 20:45:48.57うんこのトリップ割って得意満面なハッカー(笑)はお前か。www
0805デフォルトの名無しさん
2011/06/01(水) 20:52:42.59アンカ間違えてんじゃねーよクソ新参が
半年ROMってろ
0806デフォルトの名無しさん
2011/06/01(水) 20:55:53.55間違ってねーよ。スーパーハッカー(笑)はお前だろ。
うんこのトリップ割りなんて臭い事やってねーで、宿題解いてやれよ。www
0807デフォルトの名無しさん
2011/06/01(水) 21:06:26.31アンカは間違えるしワケのわからん勘違いはするし・・・どうしようもねーな
それと「。」やめようかクソ新参
0808デフォルトの名無しさん
2011/06/01(水) 21:22:54.21うわっ、キモ。
リアルで鳴かすぞガリチビ。
。。。。。。。。
0809デフォルトの名無しさん
2011/06/01(水) 21:32:23.74同一と見なしてもなんら問題ない。
ここで三点リーダーつかえない池沼は… >>757… こいつか。
language: C++ (gcc-4.3.4) <= 質問者の制約条件守れ。
12 /* ファイルサイズの取得 */ <= fstat使え。バカ。
20 memset( pszBuf, '\0', fsize+1 ); <= 直後にリードするのに初期すんな。
一番苦労しそうな単語の切り出しはパス。しかも、データ構造は何の工夫もない配列。www
うんこのコードを上回るウンコっぷり。
実質何もやってないコードをよくもこれだけ自慢げに貼れるな。 大物過ぎる。ww
0810デフォルトの名無しさん
2011/06/01(水) 21:32:54.55お前も使えてないじゃねーかwwwwwwww
0811デフォルトの名無しさん
2011/06/01(水) 21:33:57.930812デフォルトの名無しさん
2011/06/01(水) 21:39:20.370813デフォルトの名無しさん
2011/06/01(水) 21:45:09.98http://ideone.com/pyzLu
0814デフォルトの名無しさん
2011/06/01(水) 21:51:37.890815デフォルトの名無しさん
2011/06/01(水) 21:52:31.88よし、じゃあ片方はこっち使うといいよ
http://ideone.com/DVg9C
0816デフォルトの名無しさん
2011/06/01(水) 22:10:28.60[2] ソースコード上で用意に修正/改造できるような形式の
簡単な自動無限長対話分作成機を作れ
出力例:
A:であるからして、C言語プログラム作成は難しいのであります。
B:ほんとうにそうですね。
A:なんて面倒なんだ
B:ポインタの扱いがキモですね。
A:君はC言語を何年やったんだ?
B:5年だけど、上達は難しいですね。参考書がクソなんですよ。
..........
質問文には的確に答えること。話しが閉じず永遠に続くこと
が条件だそうです。
[3] Windows Vista/Visual studio???/C言語
[4] 6/14まで
[5] ヘンテコな課題ですがよろしくお願いします。
0817デフォルトの名無しさん
2011/06/01(水) 22:21:45.56http://codepad.org/orBiC8F9
0818デフォルトの名無しさん
2011/06/01(水) 22:21:52.91多分お前の授業内容分かんないから、適切なものは誰にもつくれないぞ
自動無限長対話分作成機って時点で(分を文に直しても)よく分かんないし
人工無脳を作れって意味にも取れるが
授業単元名に見合わないレベルな気もするしようわからん
出力例みると明らかに直前の相手の話だけじゃなくて前々回まで踏まえてるし……
まさか無限ループすればいいのか?
0819デフォルトの名無しさん
2011/06/01(水) 22:23:44.43じゃあ構造体に番号をいれたやつ。
http://codepad.org/RKN0PZoX
0820デフォルトの名無しさん
2011/06/01(水) 23:00:03.93プログラムもありがとうです。 >>800はhttp://uproda.2ch-library.com/383953Ftm/lib383953.jpg の問題で、
>>801はhttp://uproda.2ch-library.com/383951rv8/lib383951.jpg の問題です。
画像が切れちゃっててごめんなさい。
もしよろしければ、もう一つもお願いしたいです。
0821デフォルトの名無しさん
2011/06/01(水) 23:01:52.87レスありがとうございます。
プログラムもありがとうです。
>>800はhttp://uproda.2ch-library.com/383953Ftm/lib383953.jpg の問題で、
>>801はhttp://uproda.2ch-library.com/383951rv8/lib383951.jpg の問題です。
画像が切れちゃっててごめんなさい。
もしよろしければ、もう一つもお願いしたいです。
0822デフォルトの名無しさん
2011/06/01(水) 23:10:14.98期限を23時までと書きましたが、勝手ながら明日の12時までとさせていただきたく思います。
もし時間があれば分かる問題だけでもいいのでよろしくお願いします。
0823デフォルトの名無しさん
2011/06/01(水) 23:36:43.45アンカーくらい打てよ
0824デフォルトの名無しさん
2011/06/02(木) 00:05:35.28[2] 問題文(含コード&リンク):
標準入力で
8+5 と打ったら 13がでてくるような
電卓を作れ、四則演算に対応していれば良い
[3] 環境
[3.1] OS windows
[3.2] gcc
[3.3] C言語
[4] 期限: 無期限
[5] その他の制限: この単元では文字列操作について習いました
0826デフォルトの名無しさん
2011/06/02(木) 00:28:10.12http://ideone.com/KFfOq
0827デフォルトの名無しさん
2011/06/02(木) 00:29:23.61#include <stdio.h>
int main(void)
{
double x,y,result;
char op;
scanf("%lf%c%lf",&x,&op,&y);
switch(op)
{
case '+':
result=x+y;
break;
case '-':
result=x-y;
break;
case '*':
result=x*y;
break;
case '/':
result=x/y;
break;
}
printf("%f",result);
return 0;
}
0828デフォルトの名無しさん
2011/06/02(木) 00:40:36.25>>747です。Cygwinを使っているのですが、
どうすればファイルを読み込むのでしょうか?
よければ教えてもらえないでしょうか
0829デフォルトの名無しさん
2011/06/02(木) 00:42:53.81>>794のこと?それならパイプ
0830デフォルトの名無しさん
2011/06/02(木) 00:45:25.08間違えました。>>794です。
パイプというのはなんでしょうか
知識足らずでスイマセン
0831デフォルトの名無しさん
2011/06/02(木) 01:02:45.78標準入出力をプログラム間で連携(パイプ)する仕組み、例えば、
/* print3.c */
#include <stdio.h>
int main() {
printf("3");
return 0;
}
という 3 を表示するだけの print3.exe と、
/* twice.c */
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
printf("%d", n * 2);
return 0;
}
という入力された数字を2倍にする twice.exe を作って、
print3.exe | twice.exe
って実行してみてみると、print3.exeの標準出力 3 がtwice.exeの標準入力として使われて、結果 6 って表示される、みたいな。
0832831
2011/06/02(木) 01:09:20.41>>831の実行ファイルを使って、
print3.exe | twice.exe | twice.exe
ってすれば 12 が表示される、面白いっしょ。
0833デフォルトの名無しさん
2011/06/02(木) 01:13:55.92なるほど
分かりやすい説明どうもありがとうございます!
0834デフォルトの名無しさん
2011/06/02(木) 01:20:36.17>>794 は不思議の国のアリスの本文(chapter i 〜the end) を切り取って ./a.exe (cygwin なら .out じゃなくて .exe) の標準入力に流さないといけない。
その切り取りが、head コマンドであり、tail コマンドです。
めんどくさい or わからない、のならば、その辺もみんなやってくれる >>799 をお勧めします。
0835デフォルトの名無しさん
2011/06/02(木) 01:25:35.01[2] 問題文(含コード&リンク)
2重forループを使って変則九九表を表示します。結果は次のようになります。
81 72 63 54 45 36 27 18 9
72 64 56 48 40 32 24 16 8
63 56 49 42 35 28 21 14 7
54 48 42 36 30 24 18 12 6
45 40 35 30 25 20 15 10 5
36 32 28 24 20 16 12 8 4
27 24 21 18 15 12 9 6 3
18 16 14 12 10 8 6 4 2
9 8 7 6 5 4 3 2 1
これと同じ結果になるように2重whileループ版と2重do-while版のプログラムを書いてください。
#include <stdio.h>
int main(void)
{
int i, j;
for (i=9; i>0; i--) {
for(j=9; j>0; j--) printf("%2d", i*j);
puts("");
}
return 0;
}
[3.1] OS: unix
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限:6月4日
よろしくお願いします。
0836デフォルトの名無しさん
2011/06/02(木) 01:26:13.32#pragma warning(disable:4996)
#include <stdio.h>
struct seiseki {
int id;
char name[15+1]; // 文字型配列の宣言
int score;
};
int main(void)
{
struct seiseki data;
// キーボードからアルファベットを入力し、配列nameに記憶させる
data.id = 1;
printf("%d番の人のデータ\n 名前:", data.id);
scanf("%15s", data.name);
printf(" 点数:");
scanf("%d", &data.score);
printf("\n***** データ *****\n\n");
// 配列nameの中身をディスプレイに表示
printf("%4d%15s%5d\n", data.id, data.name, data.score);
return 0;
}
0837デフォルトの名無しさん
2011/06/02(木) 02:37:57.81ありがとうございます!
もう今日は来ないかもと思っていたので嬉しいです。
お聞きしたいのですが、
>>813>>815さんや>>836さんみたいにプログラム上手くなれるお勧めの参考書かサイトってありますか?
どうしてそんなに上手いのか知りたいです
0838デフォルトの名無しさん
2011/06/02(木) 03:10:44.86[2] 問題文(含コード&リンク):
「整列アルゴリズムの効率性の比較」
ファイル名:file007.dat //(仮)
を整列対象データとする。
上記のデータを配列に格納し、下記4種の整列アルゴリズムを用いて整列する。
このとき移動回数および実行時間(clock関数)を記録する。
(1) 単純挿入法
(2) 単純選択法
(3) バブルソート
(4) クイックソート
[3] 環境
[3.1] Linux
[3.2] gcc
[3.3] C言語
[4] 期限: 明日
[5] その他の制限:
・最初に読み込むファイル名は絶対パスとしてmainプログラム中で記述し、コマンドライン上の引数による指定、およびリダイレクトによる入力指定はしないこと。
・移動回数、実行時間等、測定結果をプログラムの最後にprintfで出力する。
・整列結果はコンソール、ファイルのどちらにも出力しない。
0839デフォルトの名無しさん
2011/06/02(木) 03:10:59.82--- 813.c
+++ 814.c
@@ -3,0 +4 @@
+ int id;
@@ -16 +17,2 @@
- printf("%d番の人のデータ\n 名前:", i+1);
+ data[i].id = i+1;
+ printf("%d番の人のデータ\n 名前:", data[i].id);
@@ -28 +30 @@
- printf("%4d%15s%5d\n", i+1, data[i].name, data[i].tensuu);
+ printf("%4d%15s%5d\n", data[i].id, data[i].name, data[i].tensuu);
0840デフォルトの名無しさん
2011/06/02(木) 03:17:11.70file007.dat の内容を教えてください。どんなデータを整列するかわからないとプログラムは書けません。
http://ideone.com/BN6wW #Output
0842デフォルトの名無しさん
2011/06/02(木) 04:21:23.250843わかりませんのでよろしくお願いします
2011/06/02(木) 06:25:21.83[2]次の文章には誤りがあって仕様通りの動作をしない。
(文法エラーは無い筈である。)
最適な仕様を推測し、コードの誤りを見つけてそれを修正し
仕様通りの動作をするように修正しなさい。
#include <stdio.h>
int main(int argc,char **argv){
char s[8];FILE *f;int i,line;
while(argc--){
f=fopen(*argv++,"r");
if(f==NULL)continue;
for(line=0;;){
if(NULL==fgets(s,sizeof(s),f))break;
printf("%06d:%s",++line,s);
}
fclose(f);
}
return 0;
}
[3-1] Linuz(Open suse)
[3-2] Eclipse IDE
[3-3] C
[4] 6/7 正午まで[email protected]までメール
0844デフォルトの名無しさん
2011/06/02(木) 08:08:00.96"仕様"とやらが1行7字以内確定なら
ttp://ideone.com/Rjkhi
0845デフォルトの名無しさん
2011/06/02(木) 08:09:15.71[2] 問題文(含コード&リンク):
[A]宣言による場合 short d[L][M][N];
[B]動的確保による場合 ([A]と同じサイズ。生成法は講義時と同様:参考コードhttp://ideone.com/nWTXg)
short型の3次元配列を生成した場合について、(1)〜(7)の解答を導け。
(上の宣言による場合と動的確保による場合の両方について答えよ。
なお、short型とポインタ型のサイズはそれぞれ2バイトと8バイトとする)
(1)要素d[i][j][k]へのアクセス手順
(2)要素d[i][j][k]へのアクセスに要するアドレス計算とメモリアクセスの回数
(3)メモリ使用量(L,M,Nを用いて表せ)・・・書き方の例:M×N×sizeof(X)+M×sizeof(X*)+sizeof(X**)バイト
(4)L=3,M=N=512の場合のメモリ使用量(KB単位、小数点以下1桁まで。1KBは1024Bとする。)
(5)L=M=512,N=3の場合のメモリ使用量(上と同じ条件)
(6)関数への渡し方・・・書き方の例:func(aax);
(7)関数での受け方・・・書き方の例:func(int **aay){ }
[3] 環境
[3.1] OS:Linux
[3.2] gcc
[3.3] 言語:C言語
[4] 期限:2011年6月2日14時まで
分かるところだけでもいいので何卒よろしくお願いします。
0846デフォルトの名無しさん
2011/06/02(木) 08:13:03.09http://codepad.org/F80yd9P
一行余分に表示されてしまうのが口惜しいところ。
0847デフォルトの名無しさん
2011/06/02(木) 09:25:08.60URLは大文字小文字区別せず!これが仕様だ
0848デフォルトの名無しさん
2011/06/02(木) 09:31:25.07String型の配列として与えられた人の名前を全て使って「しりとり」を作りましょう。
参考資料ファイルを自分のプロジェクトにコピーもしくはインポートし、50音順で並んでいる配列をしりとりの原理で並び替え、出力するプログラムを作成してください。
-----------Original NameList-----------
ごりら
らっぱ
りんご
-----------Sorted NameList-----------
りんご
ごりら
らっぱ
単語は適当に自分がうめるのでプログラミングそのものだけつくってもらえませんか?
0849デフォルトの名無しさん
2011/06/02(木) 09:40:57.51>>1
マルチ?
http://hibari.2ch.net/test/read.cgi/tech/1303105502/817
0850デフォルトの名無しさん
2011/06/02(木) 09:47:32.42はいすいません。スレチだと思い、こちらに質問させてもらいました(;´Д`)
0851デフォルトの名無しさん
2011/06/02(木) 09:52:39.82// putchar('\n');
0852デフォルトの名無しさん
2011/06/02(木) 09:56:12.82さっさとどっちかで終了して一本化しろクズ
0853デフォルトの名無しさん
2011/06/02(木) 09:57:51.63ということで申し訳ないんですがご指南よろしくお願いします。
0854デフォルトの名無しさん
2011/06/02(木) 09:58:25.400855デフォルトの名無しさん
2011/06/02(木) 10:04:04.760856デフォルトの名無しさん
2011/06/02(木) 10:12:05.76char s[8]; ⇒ char s[800];
0857デフォルトの名無しさん
2011/06/02(木) 10:15:57.74こういう人まだ生き残ってるんだ。
0858デフォルトの名無しさん
2011/06/02(木) 10:18:38.53[2]次の *文章* には誤りがあって仕様通りの動作をしない。
0859デフォルトの名無しさん
2011/06/02(木) 10:37:50.18[2] 問題文
下記の虫食い算をfor文を使い、計算によって、
求めるプログラムを作成しなさい。
ただし、void ○○という文、puzzle文を使用してはならない。
�@ □1
×□1
−−−−
□□□
□□□
−−−−
9□□□
�A □□
×□□
−−−−
□□□
□4□
−−−−
□3□□
[3] 環境
[3.1] OS:Windows7
[3.3] C言語
[4] 今日の19時まで
[5] 多重ループまで
プログラミング初心者なんで全くわかりません。
どうかよろしくお願いします。
0860デフォルトの名無しさん
2011/06/02(木) 10:38:03.83コード→文章
これじゃねの?
0861デフォルトの名無しさん
2011/06/02(木) 10:52:43.0691 * 91 = 8281
0862デフォルトの名無しさん
2011/06/02(木) 10:56:51.66- while(argc--){
+ while(--argc){
0863デフォルトの名無しさん
2011/06/02(木) 10:58:17.060864デフォルトの名無しさん
2011/06/02(木) 11:01:38.70それはわかってるんですが、それをコンピューターに
計算させて求めたいんです。
0865デフォルトの名無しさん
2011/06/02(木) 11:07:44.92組み合わせがねーよって言ってるんだと思うよ
0866デフォルトの名無しさん
2011/06/02(木) 11:07:51.430867デフォルトの名無しさん
2011/06/02(木) 11:13:49.37a,b,c,dとresultが問題文の筆算の各行に対応してます, 虫食い部分は-1を入れておいてください
非常に効率の悪い方法を採用しています
コードも汚いです
0868デフォルトの名無しさん
2011/06/02(木) 11:16:32.30本当だ。ミスってた。
□1
×□□
−−−−
□□□
□□□
−−−−
9□□□
正しくはこうでした。申し訳ありません。
0869デフォルトの名無しさん
2011/06/02(木) 11:26:08.09int main(void)
{
int i, j, k, a, b, c;
for(i = 1; i <= 9; i++) {
for(j = 9; j <= 9; j++) {
for(k = 0; k <= 9; k++) {
a = i * 10 + 1;
b = j * 10 + k;
c = a * b;
if(c / 1000 == 9) {
printf("%4d\n", a);
printf(" *%d\n", b);
printf("----\n");
printf("%4d\n", a * k);
printf("%d\n", a * j);
printf("----\n");
printf("%d\n", c);
}}}}
return 0;
}
0870デフォルトの名無しさん
2011/06/02(木) 11:28:09.02for(j = 1; j <= 9; j++) {
0871デフォルトの名無しさん
2011/06/02(木) 11:36:12.13ありがとうございます。できれば�Aの解答も
教えていただきたいのですが。
0872デフォルトの名無しさん
2011/06/02(木) 11:59:31.94int main(void)
{
int i, j, k, l, a, b, c;
for(i = 1; i <= 9; i++) {
for(j = 0; j <= 9; j++) {
for(k = 1; k <= 9; k++) {
for(l = 0; l <= 9; l++) {
a = i * 10 + j;
b = k * 10 + l;
c = a * b;
if(a * k / 10 % 10 == 4 && c / 100 % 10 == 3) {
printf("%4d\n", a);
printf(" *%d\n", b);
printf("----\n");
printf("%4d\n", a * l);
printf("%d\n", a * k);
printf("----\n");
printf("%d\n", c);
}}}}}
return 0;
}
0873デフォルトの名無しさん
2011/06/02(木) 12:06:52.63助かりました。本当にありがとうございました。
0874デフォルトの名無しさん
2011/06/02(木) 13:18:40.47[2] 問題文(含コード&リンク): キーボードより整数 a を入力して、 a×a の2次元配列を動的メモリ確保し、その配列の中に a×a の九九の計算結果を代入し、その内容を表示するプログラムを作成せよ。
(入力例)
input num : 3
(出力)
1 2 3
2 4 6
3 6 9
[3] 環境
[3.1] OS: Windows7
[3.2] コンパイラ名とバージョン: Visual Studio 2008
[3.3] 言語: C
[4] 期限: 6月5日09:00まで
[5] その他の制限:ありません。
0875デフォルトの名無しさん
2011/06/02(木) 13:32:42.06#include <stdlib.h>
int main(void)
{
int i, j, num, **p;
printf("input num:");
scanf("%d", &num);
p = malloc(num * sizeof(int*));
for(i = 0; i < num; i++) p[i] = malloc(num * sizeof(int));
for(i = 0; i < num; i++) for(j = 0; j < num; j++) p[i][j] = (i + 1) * (j + 1);
for(i = 0; i < num; i++) {
for(j = 0; j < num; j++) printf("%d ", p[i][j]);
putchar('\n');
}
for(i = 0; i < num; i++) free(p[i]);
free(p);
return 0;
}
0876デフォルトの名無しさん
2011/06/02(木) 13:38:44.45ttp://ideone.com/6r3VO
0877876
2011/06/02(木) 13:39:17.470878デフォルトの名無しさん
2011/06/02(木) 14:03:46.27>>876
お二方とも、迅速な回答本当にありがとうございます!
0879デフォルトの名無しさん
2011/06/02(木) 18:12:36.0010,000個の整数がランダムになっています。
ex.
29957
74219
93455
83728
14696
95105
9321
56698
22276
・
・
・
0880デフォルトの名無しさん
2011/06/02(木) 19:06:16.12C99で書くなっつーの
int **array; でコンパイルエラーになるだろうが
0881デフォルトの名無しさん
2011/06/02(木) 21:42:58.70[2] 問題文(含コード&リンク):ttp://www.eonet.ne.jp/~sth/node100.html
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語:C
[4] 期限: 2011/6/3 6:00:00
[5] scanfを利用せずに、
#include <stdlib.h>
#define BUFFER_SIZE (256)
char buf[BUFFER_SIZE];
fgets(buf, BUFFER_SIZE, stdin)
temp = atoi(buf);
を利用して文字を入力。
念の為に、悩んで出来なかったゴミソースを晒しておきます。
ttp://codepad.org/bUuad28O
0882デフォルトの名無しさん
2011/06/02(木) 22:15:36.19>
>
>
> for(s=i-1;s>=0;s--){
> if(s==-1) break;
> if(retu[s] < temp){
> for(t=s;t<i;t--) retu[t+1] = retu[t];
> break;
> }
> }
> retu[s] = temp;
for(s = i - 1; s >= 0; s--) if(retu[s] < temp) break;
for(t = i; t > s; t--) retu[t + 1] = retu[t];
retu[s + 1] = temp;
if(temp == 0) break;
>for(v=1;v<i;v++) printf(", %d",retu[v]);
for(v=1;v<=i;v++) printf(", %d",retu[v]);
0883デフォルトの名無しさん
2011/06/02(木) 22:21:40.73迅速なご回答本当にありがとうございます。助かりました。
0884デフォルトの名無しさん
2011/06/02(木) 22:35:39.78こんなんじゃだめ?
#include<stdio.h>
#include <stdlib.h>
#define BUFFER_SIZE (256)
#define MAX 500
int main(void){
int temp,i,s;
int retu[MAX];
char buf[BUFFER_SIZE];
retu[0] = 0;
for (i = 0; i < MAX; i++){
printf("正整数: ");
fgets(buf, BUFFER_SIZE, stdin);
retu[i] = atoi(buf);
if (retu[i] == 0) break;
for (s = i; s > 0; s--) {
if (retu[s-1] < retu[s]) {
temp = retu[s - 1];
retu[s - 1] = retu[s];
retu[s] = temp;
} else break;
}
}
printf("入力された整数は小さい順に");
printf(" %d", retu[i]);
for(s = i - 1; s >= 0; s--) printf(", %d", retu[s]);
printf(" です.\n");
return 0;
}
0885デフォルトの名無しさん
2011/06/02(木) 22:39:09.110886881
2011/06/02(木) 22:42:10.34恐らくですが、提示された手順の
「5 入力数値を格納すべき箇所を空けるために、既に記憶されている配列の要素のうち、この入力数値よりも大きな数字をひとつ後ろにずらしているか」を満たしていないかと思います。
お時間を割いて頂きありがとうございました。
0887デフォルトの名無しさん
2011/06/02(木) 23:53:20.59#include <stdio.h>
#include <stdlib.h>
#define ARRAY_SIZE (128)
#define BUFFER_SIZE (256)
int main(void)
{
int i, nums[ARRAY_SIZE], n = 0, temp;
char buf[BUFFER_SIZE];
for (n = 0; n < ARRAY_SIZE; n++) {
printf("正整数: ");
if (fgets(buf, BUFFER_SIZE, stdin) == NULL)
return 1;
temp = atoi(buf);
if (temp == 0)
break;
for (i = n; i > 0 && temp <= nums[i - 1]; i--)
nums[i] = nums[i - 1];
nums[i] = temp;
}
if (n == 0)
return 2;
printf("入力された整数は小さい順に");
for (i = 0; i < n - 1; i++)
printf(" %d,", nums[i]);
printf(" %d です.\n", nums[i]);
return 0;
}
0889デフォルトの名無しさん
2011/06/03(金) 07:59:09.88http://codepad.org/ZnXLmud4>>838
0890デフォルトの名無しさん
2011/06/03(金) 08:01:18.11http://codepad.org/ZnXLmud4
0891デフォルトの名無しさん
2011/06/03(金) 08:13:41.49大事なコードなので・・・
0892デフォルトの名無しさん
2011/06/03(金) 08:28:43.290893デフォルトの名無しさん
2011/06/03(金) 12:40:00.31そですかね。じゃあ、
>>838
>>892 のアドバイスにしたがって、内容を変更しました。
http://codepad.org/mF1D4PHi
0894デフォルトの名無しさん
2011/06/03(金) 14:03:36.41[2] 問題文:2つの n 次元ベクトル a,b の内積を求めるプログラムを作成せよ。尚、n の個数は未定であるので、動的メモリを利用せよ。
(入力例)
何個入力しますか? : 5
a input num[0] : 12.3
a input num[1] : 5.6
a input num[2] : 7.89
a input num[3] : 9.51
a input num[4] : 62.7
b input num[0] : 0.12
b input num[1] : 34.56
b input num[2] : 7.89
b input num[3] : 75.3
b input num[4] : 86.1
(出力)
inner product : 6371.837100
[3] 環境
[3.1] OS: Windows7
[3.2] コンパイラ名とバージョン: Visual Studio 2008
[3.3] 言語: C
[4] 期限: 6月7日09:00まで
[5] その他の制限:ありません。
0895デフォルトの名無しさん
2011/06/03(金) 14:57:10.06http://codepad.org/NpriQZbH
0896デフォルトの名無しさん
2011/06/03(金) 22:06:11.63[2] 問題文(含コード&リンク):/* ... */の箇所を埋めて以下のような実行結果になるようにプログラムを作成せよ。(長いので次レスに続きます)
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語:C
[4] 期限: 2011/6/4
0897デフォルトの名無しさん
2011/06/03(金) 22:09:02.49#include <stdio.h>
int *search0(int x[], int n){
/* ... */
}
int main(void){
int x[MAX], n, i, *res;
printf("配列の個数 > "); scanf("%d", &n);
for (i = 0; i < n; i++) {
printf("%d番目の整数 > ", i);
scanf("%d", &x[i]);
}
res = search0(x, n);
if (res != NULL) {
printf("%d\n", (int)(res - x));
} else {
printf("-1\n");
}
return 0;
}
実行結果
配列の個数 > 5
0番目の整数 > 9
1番目の整数 > 9
2番目の整数 > 0
3番目の整数 > 9
4番目の整数 > 0
2
実行結果
配列の個数 > 1
0番目の整数 > 1
-1
0898デフォルトの名無しさん
2011/06/03(金) 22:22:25.06#include <stdio.h>
void inputMatrix(int X[2][2], char *name)
{
int i, j;
printf("行列 %s:\n", name);
for (i = 0; i < 2; i++) {
for (j = 0; j < 2; j++) {
printf("%s[%d][%d] > ", name, i, j);
scanf("%d", &X[i][j]);
}}}
void printMatrix(int X[2][2], char *name){
int i, j;
printf("行列 %s:\n", name);
for (i = 0; i < 2; i++) {
for (j = 0; j < 2; j++) {
printf("%4d", X[i][j]); }
printf("\n");
}}
void addMatrix(int A[2][2], int B[2][2]){
/* ... */
}
0899デフォルトの名無しさん
2011/06/03(金) 22:24:00.16int main(void){
int A[2][2], B[2][2];
inputMatrix(A, "A");
inputMatrix(B, "B");
printMatrix(A, "A");
printMatrix(B, "B");
addMatrix(A, B);
printMatrix(A, "A+B");
return 0;}
実行結果
行列 A:
A[0][0] > 1
A[0][1] > 2
A[1][0] > 3
A[1][1] > 4
行列 B:
B[0][0] > 5
B[0][1] > 6
B[1][0] > 7
B[1][1] > 8
行列 A:
1 2
3 4
行列 B:
5 6
7 8
行列 A+B:
6 8
10 12
0900デフォルトの名無しさん
2011/06/03(金) 22:26:38.73int main(int argc, char *argv[])
{
int i;
for (i = 0; i < /* ... */; i++) {
/* ... */
}
return 0;
}
実行結果 1 2
1
2
実行結果 aaa bbb ccc
aaa
bbb
ccc
0901デフォルトの名無しさん
2011/06/03(金) 22:37:14.44値渡しを採用しているC言語で,
関数においてなぜ引数の指し示す文字列を変更できたのかを簡潔に説明せよ.
0902デフォルトの名無しさん
2011/06/03(金) 22:42:29.13ポインタを値渡ししたから
0903デフォルトの名無しさん
2011/06/03(金) 22:53:35.10これいい問題だよな
0904デフォルトの名無しさん
2011/06/03(金) 22:53:51.25STLにおいてstd::map<char *, int>は期待通りの動作にならない
その理由を「ポインタ」「文字列」「アドレス」という単語を使って説明せよ。
0905デフォルトの名無しさん
2011/06/03(金) 23:19:04.24期待通りってなんだよ?
それ定義したら動かせるだろ?
0906デフォルトの名無しさん
2011/06/03(金) 23:24:14.910907デフォルトの名無しさん
2011/06/03(金) 23:26:00.22エスパースレ向きかも
0908デフォルトの名無しさん
2011/06/03(金) 23:41:47.65ありがとうございます。
いくつか聞きたいのですが
バブルにある flag
#define BUFFSIZE 1024
の意味って何ですか。
あとメイン関数を1つにする方法ってありますか。
0909デフォルトの名無しさん
2011/06/03(金) 23:51:51.220910893
2011/06/04(土) 00:02:57.68>バブルにある flag
バブルソートにはいろいろなバリエーションがあり、ここで書いてみたものは、この flag が 1 であればループを回り続けます。
隣同士の比較交換を、順番にデータのはじめから終わりまでひととおり行うのを一まとまりとし、この一まとまりのなかで一回でも交換が発生したら flag が 1 になります。
0911デフォルトの名無しさん
2011/06/04(土) 00:06:05.53#if 1
#else
#endif
0912893
2011/06/04(土) 00:06:29.32>#define BUFFSIZE 1024
ここでは、fgets() で一行を文字列として char buff[] に一旦読み込み、あらためて、sscanf() を使って、buff[] から int 型の変数に変換してみました。
でも、素直に fscanf() を使えばよかったかなあ。
この buff[] の大きさを 1024 に指定しているのが、この行の内容です。
0913デフォルトの名無しさん
2011/06/04(土) 02:21:17.98[2] 問題文(リンク):ttp://www.csg.is.titech.ac.jp/~chiba/lecture/cur/cs2/cs09.html
[3] 環境
[3.1] OS:Win XP
[3.2] コンパイラ名とバージョン: Visual C++ 2010 Express
[3.3] 言語: C++
[4] 期限: 6/6(月)
お願いします。
0914デフォルトの名無しさん
2011/06/04(土) 02:35:24.30そのままリンク貼るのはやめろ。
大学ばれるし教師に2chからアクセス行くことがばれるかもしれない。
0915デフォルトの名無しさん
2011/06/04(土) 02:38:36.23回答はここに送ればいいの?
0916デフォルトの名無しさん
2011/06/04(土) 02:51:52.63手抜きの手抜き
0917893
2011/06/04(土) 03:11:58.79>メイン関数を1つにする方法
ごめんなさい。以下のようになります。
http://codepad.org/i4Xvutte
0918デフォルトの名無しさん
2011/06/04(土) 03:51:04.71templateでフィボナッチとかちょっぴりマニアックな問題だな.
って程でもないか.なんにせよそのままリンクするのはまずいだろう.
0919デフォルトの名無しさん
2011/06/04(土) 03:57:16.48これQZに解けるかな?
解けなかったらQZはC++が分からないという事になる
0920デフォルトの名無しさん
2011/06/04(土) 04:44:23.97とりあえず1だけ
http://codepad.org/2v29xf5M
0921デフォルトの名無しさん
2011/06/04(土) 04:48:17.16http://codepad.org/wYnqcGYr
http://codepad.org/rQV2hRhg
0923デフォルトの名無しさん
2011/06/04(土) 05:05:26.35#include <stdio.h>
int
main(void)
{
int i, a[20], s = 0, csum[5];
for (i = 0; i < 20; i++)
scanf("%d", &a[i]);
for (i = 0; i < 20; i++) {
printf("%4d", a[i]);
s += a[i];
csum[i % 5] += a[i];
if (i % 5 == 4) {
printf(" sum %4d¥n", s);
s = 0;
}
}
for (i = 0; i < 5; i++)
printf(" sum");
printf("¥n");
for (i = 0; i < 5; i++)
printf("%4d", csum[i]);
printf("¥n");
return 0;
}
0924デフォルトの名無しさん
2011/06/04(土) 05:17:13.30この程度なら誰でも解けるからこれではC++を理解しているとは言えないだろ
0925デフォルトの名無しさん
2011/06/04(土) 05:25:41.24まあ、それはそうですね。
というか、「理解している(霧」って書いた覚えはないですけれども、どうしてそうなっちゃってるんでしょう?
やっぱりモリタポスレのテンプレートにC++をいれちゃったのがまずかったかなあ。
0926デフォルトの名無しさん
2011/06/04(土) 05:29:02.860927デフォルトの名無しさん
2011/06/04(土) 05:30:14.220928デフォルトの名無しさん
2011/06/04(土) 05:30:54.90一応有職ですけれどもね。なんで無職ということになっちゃったんでしょうね?不思議不思議。
0929デフォルトの名無しさん
2011/06/04(土) 05:34:13.860930デフォルトの名無しさん
2011/06/04(土) 05:36:04.75元来天然ボケな素質はあったんですがそれを開発促進してなんとかなってます。
0931デフォルトの名無しさん
2011/06/04(土) 05:37:57.55有職の奴が平日の昼間から2chに書けるかよ
嘘も休み休み言え
0932デフォルトの名無しさん
2011/06/04(土) 05:39:45.78あんな糞コードを書いてる奴が有職とはとても思えない
0933デフォルトの名無しさん
2011/06/04(土) 05:42:08.410934デフォルトの名無しさん
2011/06/04(土) 05:43:56.010935デフォルトの名無しさん
2011/06/04(土) 05:45:32.84◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
0936デフォルトの名無しさん
2011/06/04(土) 05:47:16.00発達障害かアスペルガーか知らんが、病気に分類されるレベルの理解力のなさだろ
0937デフォルトの名無しさん
2011/06/04(土) 05:48:54.90有給というものがありまして。2chに使うのはどーかと思いますが。
>>932
マじゃないので。
>>933
ノートはCore2Duo 1G, デスクトップは phenom x6 になりました。
0938デフォルトの名無しさん
2011/06/04(土) 05:51:03.29◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
0939デフォルトの名無しさん
2011/06/04(土) 05:52:31.720940デフォルトの名無しさん
2011/06/04(土) 05:53:59.02それでも職にはなんとかつけていますねえ。世間でいわれるほど難しいことじゃあないんですけれどもね。
もっともパートナー get は難しいですね。これは仕方がない。
0941デフォルトの名無しさん
2011/06/04(土) 05:55:07.97◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
0942デフォルトの名無しさん
2011/06/04(土) 05:56:01.75◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
0943デフォルトの名無しさん
2011/06/04(土) 05:56:02.28んー、6 core をフルに使うコードはまだ書いてないのでよくわからないです。あ、馬鹿なのは前からわかってます。
0944デフォルトの名無しさん
2011/06/04(土) 05:56:42.93◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
0945デフォルトの名無しさん
2011/06/04(土) 05:57:28.03◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
0946デフォルトの名無しさん
2011/06/04(土) 05:58:56.74>ノートはCore2Duo 1G, デスクトップは phenom x6 になりました。
嘘付いて楽しいですか?じゃあ次はSSE2をバリバリに使った宿題と
マルチコアの宿題でも出してみようかな
すぐばれるような嘘は付くなよ
0947デフォルトの名無しさん
2011/06/04(土) 06:05:08.98あれ?どちらも今時分は型落ちというか、屁ノムなんて下取りに出して砂橋にするのがふつーというくらいに、お安いものなんですけれども、それでも嘘っぽいですかね。
sse2 は当分無理でしょうが、マルチプロセス・マルチスレッドな課題なら、今までにもいろいろ結構書いてきてますけれどもね。
0948●
2011/06/04(土) 06:07:50.08◆QZaw55cn4cが有給と称して昼間からどれ位書いてるかすぐに分かりますよ
確かかなりの量を書いていたような
そんなに有給の多い会社ってありましたっけ?
0949デフォルトの名無しさん
2011/06/04(土) 06:08:30.83◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
0950デフォルトの名無しさん
2011/06/04(土) 06:08:51.93◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
0951デフォルトの名無しさん
2011/06/04(土) 06:13:48.730952デフォルトの名無しさん
2011/06/04(土) 06:15:33.83そうそう、書き込み時間をヒストグラムにとってみるとよくわかりますよ。特定の時間帯にしか書いてないはずですから。
あとうちの会社は2chに書き込めます。まあ串に残るのでアレなんではありますが。
有給もあんまりとると周りに迷惑ですから、ほどほどにしています。それでも結構流してしまってるんですけどね。
0953デフォルトの名無しさん
2011/06/04(土) 06:18:36.91◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
0954デフォルトの名無しさん
2011/06/04(土) 08:30:02.91[2] 問題文(含コード&リンク):/* ... */の箇所を埋めて以下のような実行結果になるようにプログラムを作成せよ。(長いので次レスに続きます)
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語:C
[4] 期限: 2011/6/4
0955デフォルトの名無しさん
2011/06/04(土) 08:31:36.45#include <stdio.h>
int main(int argc, char *argv[])
{
int i;
for (i = 0; i < /* ... */; i++) {
/* ... */
}
return 0;
}
実行結果 1 2
1
2
実行結果 aaa bbb ccc
aaa
bbb
ccc
0956デフォルトの名無しさん
2011/06/04(土) 08:34:02.87#include <stdio.h>
int *search0(int x[], int n){
/* ... */
}
int main(void){
int x[MAX], n, i, *res;
printf("配列の個数 > "); scanf("%d", &n);
for (i = 0; i < n; i++) {
printf("%d番目の整数 > ", i);
scanf("%d", &x[i]);
}
res = search0(x, n);
if (res != NULL) {
printf("%d\n", (int)(res - x));
} else {
printf("-1\n");
}
return 0;
}
実行結果
配列の個数 > 5
0番目の整数 > 9
1番目の整数 > 9
2番目の整数 > 0
3番目の整数 > 9
4番目の整数 > 0
2
実行結果
配列の個数 > 1
0番目の整数 > 1
-1
0957デフォルトの名無しさん
2011/06/04(土) 08:36:35.27#include <stdio.h>
void inputMatrix(int X[2][2], char *name)
{
int i, j;
printf("行列 %s:\n", name);
for (i = 0; i < 2; i++) {
for (j = 0; j < 2; j++) {
printf("%s[%d][%d] > ", name, i, j);
scanf("%d", &X[i][j]);
}}}
void printMatrix(int X[2][2], char *name){
int i, j;
printf("行列 %s:\n", name);
for (i = 0; i < 2; i++) {
for (j = 0; j < 2; j++) {
printf("%4d", X[i][j]); }
printf("\n");
}}
void addMatrix(int A[2][2], int B[2][2]){
/* ... */
}
0958デフォルトの名無しさん
2011/06/04(土) 08:37:36.90int main(void){
int A[2][2], B[2][2];
inputMatrix(A, "A");
inputMatrix(B, "B");
printMatrix(A, "A");
printMatrix(B, "B");
addMatrix(A, B);
printMatrix(A, "A+B");
return 0;}
実行結果
行列 A:
A[0][0] > 1
A[0][1] > 2
A[1][0] > 3
A[1][1] > 4
行列 B:
B[0][0] > 5
B[0][1] > 6
B[1][0] > 7
B[1][1] > 8
行列 A:
1 2
3 4
行列 B:
5 6
7 8
行列 A+B:
6 8
10 12
0959デフォルトの名無しさん
2011/06/04(土) 09:29:12.291レスに収まらない時はテキストファイルでアプロダにうpしてリンクしてくれると有りがたい
解1
・一つ目の/* ... */
argc
・二つ目の /* ... */
if (i == 0) {
continue;
}
puts(argv[i]);
解2
#define MAX 10
int i;
for (i = 0; i < n; i++ ) {
if (x[i] == 0) {
return &x[i];
}
}
return NULL;
解3
int i, j;
for (i = 0; i < 2; i++) {
for (j = 0; j < 2; j++) {
A[i][j] += B[i][j];
}
}
0960デフォルトの名無しさん
2011/06/04(土) 11:37:14.31言い訳必死
会社から書き込めるとは、ロクな会社じゃねーな
少なくとも大手ではない
まともな会社なら情報流出を防ぐためにガッチリ楯を組んで絶対に
中から勝手なアクセスは許さない
しかし850MHzのノート→Core2Duo、PhenomX6とかいきなりグレードアップ
するとか、取って付けたような嘘
見苦しいしバレバレなんで
職があるのなら変なスレを立ててモリタポ稼ぎなどする必要がなかろうに
0961デフォルトの名無しさん
2011/06/04(土) 11:49:05.67>中から勝手なアクセスは許さない
こういう会社の方が、中はまともじゃないケースが多いような・・・
0962デフォルトの名無しさん
2011/06/04(土) 11:53:13.150963デフォルトの名無しさん
2011/06/04(土) 12:05:46.83大手は皆そうだぞ
0964921
2011/06/04(土) 12:16:37.48malloc()/free()信者としては、(正常系で)new したものは delete しなくちゃ、ということで。
1. http://codepad.org/VarEO3Oa
”template を駆使して"とのことですが、こんなありきたりのしか思いつかないんですけど。
3. http://codepad.org/8Kkw9Jhg
0965デフォルトの名無しさん
2011/06/04(土) 12:35:13.86http 以外は(ntp, ftp でさえも)通らないんですけどもね。
http/post メソッドは通ったりするんですね。無論、串が刺さっており、アクセス調査結果もバッチりアナウンスされてますけどね。
それとは別にメールはmsの蔵人らしいのですが、ときどき止まるんで困ったもんだ。
>しかし850MHzのノート→Core2Duo、PhenomX6とかいきなりグレードアップ
今はお安いんですよ、 sandy bridge のおかげで。c2d ノートもいまや奥で¥8k とか。
>職があるのなら変なスレを立ててモリタポ稼ぎなどする必要がなかろうに
ネタですよ。でも盛況?でしたから、java も加えて次スレたてようかな。そういえば java の宿題スレって消滅しているとこですしね。
0966●
2011/06/04(土) 13:33:19.95【◆QZaw55cn4c 隔離】C/C++の問題を片付けます
http://hibari.2ch.net/test/read.cgi/tech/1289715349/
では平日の7:00-18:00、01:00-06:00に書いているのは
月曜日 7
火曜日 4
水曜日 2
木曜日 1
金曜日 4
【モリタポ有償】C/C++の問題を片付けます(2)
http://hibari.2ch.net/test/read.cgi/tech/1295273862/
月曜日 20
火曜日 1
水曜日 20
木曜日 6
金曜日 5
特に夜中01:00-06:00の書き込みが多いですね
0967●
2011/06/04(土) 13:39:42.23http://hibari.2ch.net/test/read.cgi/tech/1291471791/
月曜日 4
火曜日 2
水曜日 6
木曜日 1
金曜日 0
C/C++の宿題片付けます 145代目
http://hibari.2ch.net/test/read.cgi/tech/1294061094/
月曜日 4
火曜日 1
水曜日 0
木曜日 0
金曜日 2
C/C++の宿題片付けます 146代目
http://hibari.2ch.net/test/read.cgi/tech/1296387672/
月曜日 0
火曜日 5
水曜日 5
木曜日 2
金曜日 1
0968●
2011/06/04(土) 13:43:09.62http://hibari.2ch.net/test/read.cgi/tech/1305867431/
月曜日 3
火曜日 0
水曜日 6
木曜日 1
金曜日 4
こんな感じです
コテ付きで平日の昼間もしくは深夜の書き込みがこれだけ多いのですから
コテ外しでの書き込みはもっと多いでしょうね
皆さんどう思います?仕事しながらこんなに書けますか?俺には到底無理です
0969デフォルトの名無しさん
2011/06/04(土) 13:45:46.60でも在宅でPCスペック云々は考えにくい。
0970デフォルトの名無しさん
2011/06/04(土) 13:48:55.42もう触れるなよ.そっとしておくに限る.
0971デフォルトの名無しさん
2011/06/04(土) 13:52:02.66CPU、Cashes、Mainboard、SPD、Graphicsのスクリーンショットを
PNGでうpしてもらいましょうか
証拠としてはそれで十分だと思いますが
0972デフォルトの名無しさん
2011/06/04(土) 13:57:22.52PNGだとどこかからやら引っ張ってくるかもしれませんからね
Exifが入ってると日時が入るので捏造しにくい
0973デフォルトの名無しさん
2011/06/04(土) 14:10:04.890974デフォルトの名無しさん
2011/06/04(土) 14:12:57.67東工大の3のやつ、テンプレートを駆使ってどういう意味かわからん
find<T,N>(...){ return *array==value?true:Finder<T,N-1>::find(array+1,value); }
ってことでいいのかね?
しかし gcc -O3 でアセンブリ見た限りじゃ>>964のようにループで書いたって展開されてるし
array, value がコンパイル時に定数になっているかどうかが全てじゃないのかと。
何かもっと深い話があるのだろうか?
0975デフォルトの名無しさん
2011/06/04(土) 14:28:38.61●で荒らしたら●を焼かれるぞ
荒らすわけがないだろ
0976デフォルトの名無しさん
2011/06/04(土) 14:31:26.27ID制にしても◆QZaw55cn4cの嘘が見抜けるわけじゃないだろ
むしろデメリットが多すぎる
0977デフォルトの名無しさん
2011/06/04(土) 14:36:02.70真面目なやり取りをするユーザーにとってはID制にすることでデメリットは何もないけど
0978デフォルトの名無しさん
2011/06/04(土) 14:38:12.38いや有益な情報量が約1/4程度になるのは料理板などの無ID→ID制になった板で
はっきりしている
この板もそうなるだろう
0979デフォルトの名無しさん
2011/06/04(土) 14:39:27.580980デフォルトの名無しさん
2011/06/04(土) 14:41:21.56この辺の判断は俺たちがするもんじゃない
運営がする
0981デフォルトの名無しさん
2011/06/04(土) 14:44:54.27毒とクスリは紙一重って昔から言うね。
0982デフォルトの名無しさん
2011/06/04(土) 14:45:22.280983デフォルトの名無しさん
2011/06/04(土) 14:47:43.06じゃあ運営にID変更を願い出てみたら?
ここよりも煽りが10倍以上はひどいと思われる地下板で運営の判断はこうだった
「二度と来るな死ね」
ID変更を願う人というスレを立ててそれを見せてこれだぞ
0984デフォルトの名無しさん
2011/06/04(土) 14:51:31.380985デフォルトの名無しさん
2011/06/04(土) 14:53:09.55http://hibari.2ch.net/test/read.cgi/tech/1307166756/
次スレ立てて置いた
●はこういう使い方をしないとな
0986デフォルトの名無しさん
2011/06/04(土) 14:53:41.79もっとやれってことか・・
0987デフォルトの名無しさん
2011/06/04(土) 14:59:07.77宿題スレ以外ではどうだ?あまり煽りはないだろ?
煽りがひどいスレ1つだけを取り上げて云々言うのもどうかと思うんだが?
それって偏見が入ってないか?
0988981
2011/06/04(土) 15:03:02.34だが
基本的にID制は反対な立場なんで。
0989デフォルトの名無しさん
2011/06/04(土) 15:04:35.07IDを導入した板は例外なく過疎ってる
0990デフォルトの名無しさん
2011/06/04(土) 15:05:41.38スレの話題が限定していると、覗きに来る奴も限られるんじゃないの?
宿題スレは職業プログラマが暇つぶしに来て煽っている気がする。
0991デフォルトの名無しさん
2011/06/04(土) 15:08:00.28「気がする」じゃなあ〜
確たる証拠を挙げてから物を言えよ
0992デフォルトの名無しさん
2011/06/04(土) 15:08:35.77不必要に(効果があいまいな...但し判断は難しい)トリを
付けるのもこのスレの”偽善性あるいは偽悪性"に鑑み
非常に神経を使ってほしいもの
0993デフォルトの名無しさん
2011/06/04(土) 15:11:37.43と、QZ自身が申しております
嫌ならトリ付けるなよ
0994デフォルトの名無しさん
2011/06/04(土) 15:12:14.880995デフォルトの名無しさん
2011/06/04(土) 15:13:32.09匿名掲示板で証拠なんて無理
0996デフォルトの名無しさん
2011/06/04(土) 15:26:17.73>>992じゃないけど偽善性が高いスレなんだし
0997デフォルトの名無しさん
2011/06/04(土) 15:29:35.41なるほど。天麩羅メタなんて一生縁がないと思っていますが、そういうふうにもかけるんですね。
0998デフォルトの名無しさん
2011/06/04(土) 15:32:06.600999デフォルトの名無しさん
2011/06/04(土) 15:37:21.88>”偽善性あるいは偽悪性"に鑑み
意味不明。
特定トリップに過剰反応する奴がアホなだけやん。
というか、トリップつけなくても盛況ですね。ともかくめでたいことです。
1000デフォルトの名無しさん
2011/06/04(土) 15:39:56.8910011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。