C/C++の宿題片付けます 128代目at TECH
C/C++の宿題片付けます 128代目 - 暇つぶし2ch950:デフォルトの名無しさん
09/07/12 19:15:07
【質問テンプレ】
[1] 授業単元: C言語
[2] 問題文(含コード&リンク):
下に示すように,要素数が7 でint 型の配列に読み込んだ全要素を逆順に並べ替えるプログ
ラムを作成せよ.

vx[ 0] : 58
vx[ 1] : 32
vx[ 2] : 17
vx[ 3] : 46
vx[ 4] : 22
vx[ 5] : 73
vx[ 6] : 69
vx[ 0] = 69
vx[ 1] = 73
vx[ 2] = 22
vx[ 3] = 46
vx[ 4] = 17
vx[ 5] = 32
vx[ 6] = 58
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: Visual Studio 2008
 [3.3] 言語: C
[4] 期限: 7月14日まで
[5] その他の制限:

951:デフォルトの名無しさん
09/07/12 19:31:40
>>950
#include <stdio.h>
void rev(int* a,int size){
int i,temp;
for(i = 0;i < size/2;i++){
temp = a[i];
a[i] = a[size-i-1];
a[size-i-1] = temp;
}
}
int main(){
int i;
int vx[] = {58,32,17,46,22,73,69};
printf("before\n");
for(i = 0;i < sizeof(vx)/sizeof(vx[0]);i++){
printf("vx[%d] = %d\n",i,vx[i]);
}

rev(vx,sizeof(vx)/sizeof(vx[0]));

printf("after\n");
for(i = 0;i < sizeof(vx)/sizeof(vx[0]);i++){
printf("vx[%d] = %d\n",i,vx[i]);
}
return 0;
}

952:デフォルトの名無しさん
09/07/12 19:35:58
>>950
#include <stdio.h>
#define MAX_COUNT 7
int main() {
  int i, t, vx[MAX_COUNT];

  for(i=0; i<MAX_COUNT; i++) { /* 入力 */
    printf("vx[%2d] : ", i);
    if(scanf("%d", &vx[i]) != 1) {
      scanf("%*s"); i--;
    }
  }
  for(i=0; i<MAX_COUNT/2; i++) { /* 入れ替え */
    t = vx[i], vx[i] = vx[MAX_COUNT-1-i], vx[MAX_COUNT-1-i] = t;
  }
  for(i=0; i<MAX_COUNT; i++) { /* 表示 */
    printf("vx[%2d] = %d\n", i, vx[i]);
  }
  return 0;
}

953:デフォルトの名無しさん
09/07/12 20:05:19
誰か>>946をお願いいたします。

954:デフォルトの名無しさん
09/07/12 20:18:51
>>946
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[]) {
  FILE *fp1, *fp2;
  
  if(argc != 3) {printf("Usage : %s file1 file2\n", argv[0]); return 1;}
  if(strcmp(argv[1], argv[2]) == 0) {puts("同じファイルです"); return 0;}
  fp1 = fopen(argv[1], "rb");
  if(fp1 == NULL) {printf("%s file open error!\n", argv[1]); return 1;}
  fp2 = fopen(argv[2], "rb");
  if(fp2 == NULL) {printf("%s file open error!\n", argv[2]); fclose(fp1); return 1;}
  while(getc(fp1) != getc(fp2)) {
    puts("異なります");
    fclose(fp2);
    fclose(fp1);
    return 2;
  }
  puts("同じです");
  fclose(fp2);
  fclose(fp1);
  return 0;
}

955:デフォルトの名無しさん
09/07/12 20:56:03
>>954
ありがとうございます

956:デフォルトの名無しさん
09/07/12 22:07:29
どなたか>>949お願い出来ませんか?
一つのプログラムにまとめて頂いても結構ですので、よろしくお願いいたします。

957:デフォルトの名無しさん
09/07/12 22:55:27
[1] 授業単元: C言語
[2] 問題文(含コード&リンク):
100個の乱数を発生させ最大値、最小値、平均を求める
また最大値、最小値それぞれ何番目にあるか答えよ
(最初に読み込んだデータを1番目とする)
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 7月20日まで
[5]基本的なのでお願いします

958:デフォルトの名無しさん
09/07/12 23:13:34
>>957
URLリンク(kansai2channeler.hp.infoseek.co.jp)

959:デフォルトの名無しさん
09/07/12 23:54:24
>>958
ありがとうございました!

960:デフォルトの名無しさん
09/07/13 00:34:48
[1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク):
下に示すように,要素数が5 でint 型の配列に、5 人の学生の身長を読み込んで、その平均
身長を求めるプログラムを作成せよ。
身長を入力してください
1 番: 178
2 番: 175
3 番: 165
4 番: 179
5 番: 172
平均身長: 173.8vx[ 0] : 58
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: Visual Studio 2008
 [3.3] 言語: C
[4] 期限: 7月15日まで
[5] その他の制限: まだ基礎しか習ってません。

よろしくお願いします。

961:960
09/07/13 00:36:39
訂正です

平均身長: 173.8vx[ 0] : 58

平均身長: 173.8

962:デフォルトの名無しさん
09/07/13 01:09:27
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
URLリンク(www.dotup.org)
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc 3.4
 [3.3] 言語:C
[4] 期限: 090714
[5]特になし

お願いします

963:デフォルトの名無しさん
09/07/13 01:40:40
>>949 >>956
はいよ。
URLリンク(kansai2channeler.hp.infoseek.co.jp)

964:デフォルトの名無しさん
09/07/13 01:59:52
[1] 授業単元: プログラミング演習2
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS: Linux CentOS5
 [3.2] コンパイラ名とバージョン: gcc 3.4.1
 [3.3] 言語: C
[4] 期限: 2009年07月14日10:00
[5] その他の制限: じpに入っているk1.cを書き換えて完成させろという課題です。
よろしくお願いいたします。

965:デフォルトの名無しさん
09/07/13 02:00:02
>>960
#include <stdio.h>

int main(void)
{
double ave = 0;
int a[5];
int i;
for (i = 0; i < 5; i++) { printf("%d番: ", i + 1); scanf("%d", &a[i]); }
for (i = 0; i < 5; i++) ave += a[i];
printf("平均身長: %.1f\n", ave / 5);
return 0;
}

966:デフォルトの名無しさん
09/07/13 02:12:45
>>964
最初から自分で書くなら兎も角、他人の書いた途中なソースに加筆して完成させるというのは
それ以上の高度なスキルが必要でこのスレでそれが出来そうなのは麻呂(ry

967:デフォルトの名無しさん
09/07/13 02:21:10
分子=1
分母=1063
1/1063=(0.000940733772342)
0.
[
0009407337723424270931326434619002822201317027281279397930385700846660( 70)
3951081843838193791157102539981185324553151458137347130761994355597365( 140)
9454374412041392285983066792097836312323612417685794920037629350893697( 210)
0837253057384760112888052681091251175917215428033866415804327375352775( 280)
1646284101599247412982126058325493885230479774223894637817497648165569( 350)
1439322671683913452492944496707431796801505174035747883349012229539040( 420)
4515522107243650047036688617121354656632173095014111006585136406396989( 490)
6519285042333019755409219190968955785512699905926622765757290686735653( 560)
8099717779868297271872060206961429915333960489181561618062088428974600( 630)
1881467544684854186265286923800564440263405456255879586077140169332079( 700)
0216368767638758231420507996237064910630291627469426152398871119473189( 770)
0874882408278457196613358419567262464722483537158984007525870178739416( 840)
7450611476952022577610536218250235183443085606773283160865475070555032( 910)
9256820319849482596425211665098777046095954844778927563499529633113828( 980)
7864534336782690498588899341486359360301034807149576669802445907808090( 1050)
310442144873]( 1062)


968:デフォルトの名無しさん
09/07/13 02:30:59
下手の横好きってやつなんだけど、>>954のプログラムについて聞きたい
getc関数は一文字しか返さないから、その文字がたまたま一緒だった場合、
別の内容だったとしても同じだと判断してしまう危険性とかはないんだろうか?
バイナリファイル自体がよく解ってない初心者なので、
誰かちょっと解説してもらえると助かる

969:デフォルトの名無しさん
09/07/13 03:04:25
>>968
その通り、getc,fgetcは使用すべきではないし、
ロジックもあなたの言う通り間違ってる。
コードを加筆修正して正しいコードを書いてみそ

とでも>>954は言いたげな漢字

970:デフォルトの名無しさん
09/07/13 05:13:09
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
URLリンク(kansai2channeler.hp.infoseek.co.jp)

[3] 環境
 [3.1] OS: Windows XP
 [3.2] コンパイラ名とバージョン:Visual Studio 2005
 [3.3] 言語:C
[4] 期限:7/16/
[5] その他の制限:
問題文の通りにやっていただければ結構です。
宜しくお願いします。

971:デフォルトの名無しさん
09/07/13 05:51:03
>>970
/* */
len = (int)str_length(st);
for(i=0;i<len/2;i++) {
temp = *(st+i);
*(st+i) = *(st+len-i-1);
*(st+len-i-1) = temp;
}
/* */
rev_str(str);

972:デフォルトの名無しさん
09/07/13 06:03:57
>>949
#include <stdio.h>
#define LEN 8192

int findrepeat(int r[], int *head, int *tail)
{
int i, j;
for (i = 0; r[i]; ++i)
for (j = i + 1; r[j]; ++j)
if (r[i] == r[j]) { *head = i; *tail = j; return 1; }
return 0;
}
int main(void)
{
int q[LEN], r[LEN];
int n, head, tail, i;

printf("n? "); scanf("%d", &n);
if (n == 1) { printf("1 / 1 = 1"); return 0; }

for (i = 0; i < LEN; ++i) q[i] = r[i] = 0;
head = tail = -1;
q[0] = 1 / n; r[0] = 1 % n;
for (i = 1; i < LEN && r[i - 1] != 0; ++i) {
q[i] = 10 * r[i - 1] / n; r[i] = 10 * r[i - 1] % n;
if (findrepeat(r, &head, &tail)) break;
}

printf("1 / %d = %d.", n, q[0]);
for (i = 1; q[i] || r[i]; ++i) { if (i - 1 == head) printf("("); printf("%d", q[i]); if (i == tail) printf(")"); }
return 0;
}

973:デフォルトの名無しさん
09/07/13 06:42:36
おはようございます>>678 です。

結局>>686をCに変換できませんでした…
どなたか、Cに書き換えてはいただけないでしょうか。

974:デフォルトの名無しさん
09/07/13 06:47:12
最初からCって書いて置けよ
C++もはいってるじゃねーか

975:デフォルトの名無しさん
09/07/13 06:50:32
>>973
どうみてもC++じゃなくてCで書かれてるんだが

976:デフォルトの名無しさん
09/07/13 06:53:10
>>975
拡張子がtxtのままとかどうせレベルの低い話なんだろうけどなw

977:デフォルトの名無しさん
09/07/13 06:54:32
>>976
それプラス
・課題(11_1)はmain_11_1をmainに書き換えてコンパイル
・課題(11_2)はmain_11_2をmainに(ry
ってのがわかってないんだと思う

978:デフォルトの名無しさん
09/07/13 06:56:50
ああ、あまりにもあほらしくて中みてなかったが課題をまとめてくれてるのかw
ほんとにて取り足取りでないとできないのかw

979:デフォルトの名無しさん
09/07/13 07:36:42
これはいいツンデレ

980:デフォルトの名無しさん
09/07/13 07:47:26 BE:511223696-DIA(287979)
次スレ立てました
C/C++の宿題片付けます 129代目
スレリンク(tech板)

981:デフォルトの名無しさん
09/07/13 08:28:03
>>968
getcでもファイルの最後まで比較しながら読み込んでいけばいいんだけどね。
あなたの言うとおり、>>954は最初の1文字でしか判定してないから思いっきり間違ってる。
本人はwhile使ってるあたり、最後まで比較したつもりなんだろうけど。

982:デフォルトの名無しさん
09/07/13 08:50:46
>>954 をいじるとこうなるのかな
do {
char c1, c2;
c1 = getc(fp1);
c2 = getc(fp2);
if (c1 != c2) { puts("異なります"); return 2; }
} while (c1 != EOF);
puts("同じです");
return 0;

983:デフォルトの名無しさん
09/07/13 08:51:41
char じゃなくて int じゃないとまずいか

984:デフォルトの名無しさん
09/07/13 09:01:24
初心者のころcharで受けて、ファイルの途中で読み込み終了して困ったことがあったなぁ。

985:デフォルトの名無しさん
09/07/13 10:00:54
>>966
そこで麻呂はない

986:デフォルトの名無しさん
09/07/13 10:29:46
>>975 >>736

987:デフォルトの名無しさん
09/07/13 10:45:07
>>986
「どうみても」といいつつちゃんと見てなかったw
こいつは失礼した

988: ◆jG/Re6aTC.
09/07/13 12:48:55
[1] 授業単元:アルゴリズム論演習
[2] 問題文(含コード&リンク):
 (1)3つ以上の整数の階層的プログラミングを行うプログラムを
 作成せよ。ただし、整数間の距離は差、クラスタ間の距離はそ
 れぞれの要素間の距離のうち最小のものとする。出力は、クラ
 スタか、あるいは整数a,bを足して得られるクラスタをa,bとし、
 これを帰納的に適用する表現で表せ。たとえば、1,2,5に対す
 る出力は((1,2),5)である。

 (2)3つ以上の2次元ベクトルの階層的プログラミングを行うプ
 ログラムを作成せよ。ただし、ベクトル(u1,u2)と(v1,v2)の間
 の距離をsqrt(u1*v1 + u2*v2)とし、クラスタ間の距離はそれ
 ぞれの要素間の距離の平均とする。出力は(1)の表現を用いよ。
[3] 環境
 [3.1] OS:Windows
 [3.2] VisualStudio2008EE
 [3.3] 言語:C/C++のどちらでも可
       (できれば後学のためC++でお願いします。)
[4] 期限: [2009年07月23日まで]
[5] その他の制限:特に制限はありません。


989: ◆jG/Re6aTC.
09/07/13 12:50:09
>988
よろしくお願いいたします><;

990: ◆/91kCCQXBo
09/07/13 13:00:51
>>982 お世話になった。
>>953 の時は作業中だったのに無理してしまった。

>>955 line 12 : while(getc(fp1) != getc(fp2)) {
 ↓
int c1=0,c2;
/*  do if((c1 = getc(fp1)) != (c2 = getc(fp2))) {
    puts("異なります");
    fclose(fp2);
    fclose(fp1);
    return 2;
  } while (c1 != EOF);
*/
  while (c1 != EOF) if((c1 = getc(fp1)) != (c2 = getc(fp2))) {

991:デフォルトの名無しさん
09/07/13 13:17:08
>>678
g++ でコンパイルしてみること。
エラーが出たらエラーメッセージを貼り付けること。

992: ◆jG/Re6aTC.
09/07/13 14:14:37
>988
(誤)階層的プログラミング
(正)階層的クラスタリング
でした^^;
よろしくです。

993:デフォルトの名無しさん
09/07/13 14:35:11
>>971
ありがとうございます。

994:デフォルトの名無しさん
09/07/13 15:20:18
[1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク): URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS: Windows Vista
 [3.2] コンパイラ名とバージョン: VC 2009 
[3.3] 言語: C言語
[4] 期限: 7/14 15時
[5] その他の制限: define,for文など

よろしくお願いします



995:デフォルトの名無しさん
09/07/13 15:27:54
>>994 連立1次方程式の解をガウスの消去法用いて解く
問題>>162 解答>>174(9580)>>183(9582)

996:デフォルトの名無しさん
09/07/13 16:18:31
たとえば
3481
という数字(4桁/0含む)が与えられたとき
0 = 3 + 4 - 8 + 1
1 = 3 + 4 - 8 * -1
2 = -(3 + 4 - 8 - 1)
3 = 3 * 4 - 8 - 1
4 = (3 / (4 + 8))^-1
...
のように加減乗除のみで整数を順に造っていってください

997:デフォルトの名無しさん
09/07/13 16:24:11
最後の例で思いっきり加減乗除を使っていない件

998:794
09/07/13 19:34:47
ここ2日ほど熱があり寝込んでました
先生に相談すると今週の間だけ待ってくれるとのこと
まだ未解決なので再度宜しくお願いします

999:デフォルトの名無しさん
09/07/13 19:47:01
>>998
なんかのギャグですか?

1000:デフォルトの名無しさん
09/07/13 20:39:34
ume

1001:1001
Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch