C/C++の宿題を片付け ..
[2ch|▼Menu]
159:デフォルトの名無しさん
08/06/20 20:17:00
>>158
主キーというか登録順でいいんじゃない?

160:デフォルトの名無しさん
08/06/20 20:45:33
>>157 これじゃmalloc使ってないよ。よし。
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
typedef struct lt{
  double value;
  lt *left;
  lt *right;
}o_list;
void main(){
  vector<double> vec;
  double tmp;
  int k, v;
  for( k=0; k<5; k++ ) {
    cout << k+1 << " of 5 : "; // cout
    cin >> tmp; // cin
    vec.push_back(tmp);
  }
  sort(vec.begin(), vec.end());
  for( v=0; v<5; v++ ) {
    cout << vec[v] << endl; // cout
  }
}

161:デフォルトの名無しさん
08/06/20 20:46:10
>>50 C言語指定だと勝手に解釈してみた
#include<stdio.h>
#include<stdlib.h>
typedef struct tag_list_t{
int value;
struct tag_list_t *next;
}list_t;
list_t *list_add(list_t *list, int value){
list_t *member, *member_new, *prev;
member_new=malloc(sizeof(list_t));
member_new->value=value;
member_new->next=NULL;
for(member=list,prev=NULL;member;prev=member,member=member->next)
if(member->value > value) break;
if(!prev){
member_new->next=list;
return member_new;
}
member_new->next=prev->next;
prev->next=member_new;
return list;
}
void list_print(list_t *list){
for(;list;list=list->next) printf("%d\n", list->value);
}
int main(void){
list_t *list=NULL;
int value;
while(scanf("%d", &value)==1) list=list_add(list, value);
list_print(list);
return 0;
}

162:デフォルトの名無しさん
08/06/20 20:56:09
>>154
こんなんでいいのかな?

#include <stdio.h>

void strRev(char *str) {
if(*str!='\0') strRev(str+1);
putchar(*str);
}

int main(void) {
int i;
char buf[64],*str[128];

for(i=0;fgets(buf,sizeof(buf),stdin)!=NULL;i++) {
*(str+i)=buf;
strRev(*str);
}
return 0;
}


163:デフォルトの名無しさん
08/06/20 20:56:48
>>50

c++でmalloc?

164:デフォルトの名無しさん
08/06/20 21:02:58
>>50 の人気に shit!

165:デフォルトの名無しさん
08/06/20 21:05:33
>>83-85
遅れましたが、ありがとうございました

166:デフォルトの名無しさん
08/06/20 21:20:38
>>162
ありがとうございます。
ですが、コンパイルしたファイルを単体で実行するとフプログラムが終了しないのですが・・・。
これはどうしようもないのでしょうか?

167:デフォルトの名無しさん
08/06/20 21:24:45
繰り返し処理についてなんですが


168:デフォルトの名無しさん
08/06/20 21:27:15
>>166
Ctrl+D

169:50
08/06/20 21:27:20
何とか提出に間に合いました。
>>157 様、>>160 様、>>161 様、
お手数おかけました。本当に有難う御座います。
何とか提出が間に合いました。

>>164
C++のを使ってますね。

170:デフォルトの名無しさん
08/06/20 21:28:47
Cなの?C++なの?という疑問をすべてスルーして提出まで
やってのけた>>50はある意味大物か

171:デフォルトの名無しさん
08/06/20 21:28:50
>>162
>*(str+i)=buf;
まさかこれで文字列がコピーされてるとか思ってる?

172:50
08/06/20 21:29:08
何か同じの2回言ってる orz
期限のとかも間違えてたし…。
すみません、次からはちょっと落ち着いて書き込もうと思います。

173:デフォルトの名無しさん
08/06/20 21:31:25
>>171
少なくともそれを期待したコードにはなってないから分かってると思うよ

174:デフォルトの名無しさん
08/06/20 21:32:59
>>173
そうか?
str[i]に毎回同じbuffのアドレスいれてるからわかってないと思うんだが。

175:デフォルトの名無しさん
08/06/20 21:34:10
一見簡単そうにみえるようにちょちょっとやるのがここの醍醐味
printf とか scanf とか再帰とかw

176: ◆qQYVX6rY3I
08/06/20 21:41:35
1.授業単元:データ構造

2.問題文:URLリンク(kansai2channeler.hp.infoseek.co.jp)

3.環境:vista C++
visual studio2008

4.期限: 6/21(土)夕方6時まで

5.その他の制限:基本事項は習ってます。期限が近くてかなり焦ってます。
         どうかよろしくおねがいします。



177:152
08/06/20 21:44:26
>>153
ありがとうございます
調べてみます

178:デフォルトの名無しさん
08/06/20 22:00:26
>>174
しかも毎回*(str+i)にbuffを入れておきながら、関数に渡してるのは*strという事実
意味ねーw

179:デフォルトの名無しさん
08/06/20 23:47:50
[1] 授業単元:アルゴリズム
[2] 問題文(含コード&リンク):()
課題@
「騎士の巡回」の解を求めるプログラムを用いて、チェス盤の1辺Nが5と6の場合について、経路の数を求めよ。(スタート地点は(0,0)とする。)
尚出力は、解の数と、時間計算量の評価回数、それに実行時間を示すこと。
課題A
「騎士の周遊」とは、「騎士の巡回」に加えて、経路の最後のマスからスタート地点に1手で戻れる経路を求める問題である。チェス盤の1辺Nが5と6の場合について、この条件を満たす経路の数を求めよ。
尚出力は、解の数と、時間計算量の評価回数、それに実行時間を示すこと。
課題B
 下記に示すチェス盤では、移動できる部分をoで、移動できない部分をxで示している。このようなチェス盤に対する 「騎士の周遊」の解の総数を求める問題に対して、時間計算量を見積もった上で、プログラムを実行
し、解の総数と時間計算量(評価回数)を求めよ。

以下、授業中に板書された課題@のソートと、課題Bのチェス盤を載せておきます。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限:6月23日(月)まで
[5] その他の制限:  
課題@の上のソートじゃなくても全然構わないです。
たくさんありますが・・・よろしくお願いしますm(__)m

180:179
08/06/20 23:51:43
改行するの忘れました・・・
読みにくくて申しわけないですorz

181:デフォルトの名無しさん
08/06/20 23:53:25
[1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク):
文字列(英小文字)を入力し、その文字列を任意の数(1〜25)だけずらして、
文字列を暗号化する関数encryptを作成せよ。
(注)1文字ずらして暗号化する場合
「a」→「b」、「b」→「c」、「z」→「a」
という変換をして暗号化する

<実行例>
------英字の暗号化------
文字列を入力してください(英小文字)
hello
何文字ずらしますか?(1〜25)
1
------暗号化された文字列-----
ifmmp
[3] 環境
 [3.1] OS: Linux
 [3.3] 言語: C
[5] その他の制限: ポインタ使用可です。

よろしくお願いします。


182:デフォルトの名無しさん
08/06/21 00:08:47
#include <stdio.h>

void encrypt(char *str, int n)
{
while(*str) {
*str = 'a' + (*str - 'a' + n) % 26;
str++;
}
}
int main(void)
{
char str[256];
int n;

puts("------英字の暗号化------");
puts("文字列を入力してください(英小文字)");
scanf("%s", str);

puts("何文字ずらしますか?(1〜25)");
scanf("%d", &n);

encrypt(str, n);
puts("------暗号化された文字列-----");
puts(str);

return 0;
}

183:デフォルトの名無しさん
08/06/21 00:13:20
>>182
while(*str) {
*str = 'a' + (*str - 'a' + n) % 26;
str++;
ここを少し説明していただけませんか?


184:デフォルトの名無しさん
08/06/21 00:45:23
単にchar配列をn文字前に進めてるだけだろ

185:デフォルトの名無しさん
08/06/21 00:46:51
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:6/23
/[5] その他の制限:特になし

よろしくお願いします

186:デフォルトの名無しさん
08/06/21 00:56:06
>>185
double mean(int a[] , int length)
{
int i;
double ave=0.0;
for(i=0;i<length;i++)
ave+=a[i];
return ave / (double)length;/*キャストいらないかもしれないけど明示するために一応付けとく*/
}

187:デフォルトの名無しさん
08/06/21 01:14:56
>>158
ソートは出題者のほうもよくわかってない感じなんで、とりあえず追加だけお願いします。

188:デフォルトの名無しさん
08/06/21 01:36:03
>>187
ういっ、もう少しでうpするでおじゃる●のクソースが見られるでおじゃるよ

189:デフォルトの名無しさん
08/06/21 01:43:10
>>187 >>79
URLリンク(kansai2channeler.hp.infoseek.co.jp)


190:デフォルトの名無しさん
08/06/21 01:45:08
>>187 >>79
URLリンク(kansai2channeler.hp.infoseek.co.jp)
ちと訂正したでおじゃ

191:デフォルトの名無しさん
08/06/21 01:47:04
クソースとへりくだりつつも、内心、「作品」だと思っている
ところがイタい

192:デフォルトの名無しさん
08/06/21 01:48:02
>>183
a〜zまでは文字コードが昇順に並んでいることと、a〜zまでは26文字あること。
それくらいしか気になる点はないと思う。

193:デフォルトの名無しさん
08/06/21 01:56:23
>>191
何をおっしゃるか、これは紛れもなく初心者向けにレベルを落とした
クソースでおじゃっ

194:デフォルトの名無しさん
08/06/21 02:08:40
>>187 >>79 すまぬ、さらに訂正。
URLリンク(kansai2channeler.hp.infoseek.co.jp)

195:デフォルトの名無しさん
08/06/21 02:42:30
どうみても初心者向けとは思えないプロ教育を受けた人のコード
である件について

196:デフォルトの名無しさん
08/06/21 02:46:43
ねーよw

197:デフォルトの名無しさん
08/06/21 03:01:18
えぇ〜〜、思いつきで書いたクソースゆえ、しかも
プロとしてコードを書いてないゆえ、クソースということで
我慢してもらっているでおじゃる。上には上がいるゆえ、
まだまだ精進するでごじゃるよ。

198:デフォルトの名無しさん
08/06/21 05:52:41
>>151
URLリンク(kansai2channeler.hp.infoseek.co.jp)

199:デフォルトの名無しさん
08/06/21 06:36:40
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:CPad for Borland C++Compiler
 [3.3] 言語:C言語
[4] 期限:来週の月曜まで
[5] その他の制限:ポインタまで習いました

全然わからないのでよろしくお願いします

200:デフォルトの名無しさん
08/06/21 09:58:43
>>199
汚いソースですが。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
MOJIで文字の種類、HANIで範囲を指定できるようにしました。
範囲チェックとかしてないので入力不可文字を範囲に含めないように。
マスターの文字列については一応重複チェックしてます。

201:デフォルトの名無しさん
08/06/21 10:02:34
実行してみた?

202:デフォルトの名無しさん
08/06/21 10:09:33
あー、環境書いてなかった。
gccでやってるからbccだと動かないかもしれない。

203:デフォルトの名無しさん
08/06/21 10:12:17
環境関係なく無限ループになる可能性があるんだが。

204:デフォルトの名無しさん
08/06/21 10:20:16
うむ。単純ミスorz
今のままだと重複したら無限ループするので
makerandomstrのi--;の次の行にc=0;入れてください。

205:デフォルトの名無しさん
08/06/21 10:32:21
ソースを上げる時は、せめて

テスト済みなのか、
コンパイル済み(文法エラー無し)
未コンパイルなのか、コメントに書きませんか?

206:デフォルトの名無しさん
08/06/21 10:36:14
宿題を片付けてほしい側
 ちゃんと動くソースコードがほしい
 題意を満たしていてほしい
 何も出来ない初心者なので全部やってください><

           ↑
   このギャップは埋められない
           ↓

宿題を片付ける側
 面白そうだからやってみた

(^ω^ がんばったお

207:デフォルトの名無しさん
08/06/21 10:43:10
>>205
コンパイル通らなきゃソース上げないと思うんだが。
未コンパイルの可能性があるのはレスに直接ソースを書いてる場合位のような。

>>205が質問側なのか回答側なのか知らないけど
回答してる側としてはそこまで要求されてもなあ、と思う。
質問者が単位落としたとしてもこっちには関係ないことだし。

208:199
08/06/21 10:58:21
>>200
ありがとうございます!
えーとbccでコンパイルしてみましたがヒットもブロウも0になってしまいます・・

209:>>132
08/06/21 11:23:14
>>132お願いします

210:デフォルトの名無しさん
08/06/21 11:38:39
[1] 授業単元:Cプログラミング
[2] 問題文(含コード&リンク)
>>151です。あと2問残ってたのでこちらもお願いします
下に載せてあるプログラムを応用して以下のプログラムを作ってください。
(3)画像の分割・結合のプログラム。
(各画像の左半分と右半分を取り出し一方の画像の左半分と他方の右半分を結合した画像を出力)
(4)画像の切り抜きをするプログラム
(カラー画像に任意の領域を指定して、指定部分の画像のみを得る)
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン:Microsoft Visual Studio 2003
 [3.3] 言語: C
[4] 期限: 6月22日までにお願いします
[5] その他の制限:printfの変わりにfprintf文を使ってください。
#include "plite.h"
int main(int argc,char **argv)
{
RGB in;
RGB out;
int i,j;
ReadRGB(&in,argv[1]);
MemRGB(&out,in.row,in.col);
for(i=0;i<out.row;i++){
for(j=0;j<out.col;j++){
out.R[i][j]=in.R[i][j];
out.G[i][j]=in.G[i][j];
out.B[i][j]=in.B[i][j];
}
}
writeRGB(&out);
return0;
}

211:デフォルトの名無しさん
08/06/21 11:48:14
山形大学ですねわかります

212:デフォルトの名無しさん
08/06/21 11:54:15
>>205
なんか不具合があればここで報告しなよ。

せっかくアップしてもノーレスなら対処しようが無い。
あとレスがあれば回答者のモチベーションも上がると思うが。

213:デフォルトの名無しさん
08/06/21 12:12:25
質問者のモティベーションのほうが大切なような気がしないでも
ないのだが...

214:デフォルトの名無しさん
08/06/21 12:13:09
ここに丸投げする奴にやる気があるとでも?

215:デフォルトの名無しさん
08/06/21 12:30:03
まぁ軽く藁をも掴む気概でいるんだろ

216:デフォルトの名無しさん
08/06/21 12:39:52
なんかあれだなここで丸投げしてる奴が、実務の一次請けとか発注元の卵だったりすると最悪だな。
丸投げの予行演習といったところか(w

217:デフォルトの名無しさん
08/06/21 13:14:37
>>216
そういうときは、クソースで返すでおじゃるよ

218:デフォルトの名無しさん
08/06/21 13:19:05
それが命取りだった

219:デフォルトの名無しさん
08/06/21 14:13:34
>>199
つ URLリンク(kansai2channeler.hp.infoseek.co.jp)
一応正常に動きますが マスタが含む文字を5文字連続で入力するとバグります。
例:マスタ "yoooo" 入力 "yyyyy".etc・・・
テスト用に不必要なものまで表示しています。気になるようでしたら削除してください。


220:219
08/06/21 14:28:21
>>219の訂正
マスタが含む文字を複数入力するとバグる orz
バイトいってくるわ

221:デフォルトの名無しさん
08/06/21 15:50:11
こんな課題でそんな糞コード出されても困る。

222:デフォルトの名無しさん
08/06/21 16:09:28
[1] Cプログラミング演習
[2] 1.登録番号"int no"と名前"cahr *name"と年齢"int age"を含む構造体person型の
配列を定義し初期化せよ。なお、最後のデータの名前にはNULLを入れておく。
登録番号は入力順に1,2,3,4,5とする。
配列の先頭アドレスを示す構造体person型のポインタを引数として与え、
データを年齢順に並び替える関数を作成せよ。

2.登録番号(int no)と名前(char *name)と年齢(int age)を含む構造体person型のポインタ変数を宣言し、
登録人数分だけの動的メモリを確保せよ。
そして、データをファイルから入力せよ。
ファイルの形式は、先頭に登録する人数とし、そのあとに人数分のデータを登録番号、
名前、年齢の順に書いていく。(下の例を参照)
登録番号は入力順に1,2,3,4,5…とする。
そして、入力した全員のデータを表示せよ。

(ファイルの例)
3
1 田中 20
2 大田 40
3 井上 35

[3] 環境
 [3.1] windows
 [3.2] Microsoft Visual Studio 2003
 [3.3] C
[4] 6/23まで
[5] とくになし

初心者なので、出来れば分かりやすいコードでお願いします。
お手数おかけしまして、申し訳ないです。
宜しく、お願いします。

223:デフォルトの名無しさん
08/06/21 16:16:19
>>210
URLリンク(kansai2channeler.hp.infoseek.co.jp)

224:デフォルトの名無しさん
08/06/21 16:20:24
>>219
ありがとうございます。
そこの部分考えてみます( ^ω^)

225:デフォルトの名無しさん
08/06/21 16:24:55
>>132,209
URLリンク(kansai2channeler.hp.infoseek.co.jp)

226:デフォルトの名無しさん
08/06/21 17:30:24
[1]プログラミング基礎
[2]10人までの氏名と点数の入力を受け付け、
点数が高い者から順に表示するプログラムを作成せよ
[3.1]windows
[3.2]gcc
[3.3]c
[4]月曜まで
[5]一度提出したのですが、再提出をくらいました
自分で作ったものが↓です
URLリンク(kansai2channeler.hp.infoseek.co.jp)
極力↑に近い解答をいただけると嬉しいです
よろしくお願いします

227:デフォルトの名無しさん
08/06/21 17:37:56
>>226
int ts;
for(i=0;i<10;i++){
for(int i=1;i<10;i++)
{
if(hito[i-1].score<hito[i].score){
ts=hito[i];
hito[i]=hito[i-1];
hito[i-1]=ts;
}
}
}


228:デフォルトの名無しさん
08/06/21 17:52:40
>>226
for(i=0;i<10;i++){
for(j=i+1;j<10;j++){
if(hito[i].score < hito[j].score){
hito[10] = hito[i];
hito[i] = hito[j];
hito[j] = hito[10];
}
}
}

229:デフォルトの名無しさん
08/06/21 18:19:30
[1] 授業単元: ドイツ言語入門
[2] 問題文:次に打ち込まれた文字列に対して適切な文章をそれぞれ返すプログラムをハッシュテーブルを用い、ドイツ言語で書きなさい。"Guten tag","Sie du Japaner?","unko"
[3] 環境 家賃三万円のそれなりの環境
 [3.1] OS: VISTA
 [3.2] コンパイラ名とバージョン:コンパイラとは何ですか?
 [3.3] 言語:ドイツ言語
[4] 期限:私の気が向くまで
[5] その他の制限:門限が7時です

230:デフォルトの名無しさん
08/06/21 18:20:17
反応がない見捨てられたようだ

231:デフォルトの名無しさん
08/06/21 18:20:43
ここの住人は冷たい・・・

232:デフォルトの名無しさん
08/06/21 18:21:06
VIPなら一分と待たずにレスが返ってくるのに・・・

233:デフォルトの名無しさん
08/06/21 18:21:37
やはりプログラマーの心は荒んでいるという噂は本当だったんですね

234:デフォルトの名無しさん
08/06/21 18:24:16
もう期限切れか

235:デフォルトの名無しさん
08/06/21 18:53:55
>>227>>228
ありがとうございます

236:デフォルトの名無しさん
08/06/21 20:24:51
>>226
ninzuu = i;
for(i=0;i<ninzuu-1;i++){
for(j=i+1;j<ninzuu;j++){
if(hito[i].score < hito[j].score){
ts = hito[i];
hito[i] = hito[j];
hito[j] = ts;
}
}
}
for(i=0;i<ninzuu;i++)

237:デフォルトの名無しさん
08/06/21 20:45:40
>>194
どうも素晴らしいソースありがとうございました。
余裕があればでいいので、削除と編集も作っていただきたいです。

238:デフォルトの名無しさん
08/06/21 20:48:49
>>236さんもありがとうございます

239:デフォルトの名無しさん
08/06/21 21:08:43
>>90お願いします。

240:デフォルトの名無しさん
08/06/21 21:11:21
>>237 >>187 >>79  削除を追加
URLリンク(kansai2channeler.hp.infoseek.co.jp)

241:デフォルトの名無しさん
08/06/21 21:14:20
>>240
ありがとうございました。ちなみにここって、自分の作ったソースのどこが悪いかって見てもらえるんですか?

242:デフォルトの名無しさん
08/06/21 21:16:42
>>241
さすがにそりゃスレ違い、となる。質問なら↓で
C言語なら俺に聞け(入門篇) Part 30
スレリンク(tech板)

243: ◆qQYVX6rY3I
08/06/21 21:54:51
すいません>>176です。
提出期限を完全に間違えてました。。
6/23
夕方6です。
いずれにせよ焦ってます;;
どなたか目を通してくれるとありがたいです;;

244:デフォルトの名無しさん
08/06/21 22:05:08
せ、せめてリアクションがほしかった・・・orz

245:デフォルトの名無しさん
08/06/21 22:15:28
何を問うているのかわかりずらいな、>>176

246:デフォルトの名無しさん
08/06/21 22:18:33
>>237 >>187 >>79  編集、削除を追加
URLリンク(kansai2channeler.hp.infoseek.co.jp)

247:デフォルトの名無しさん
08/06/21 22:25:04
>>241 >>237 >>187 >>79
URLリンク(kansai2channeler.hp.infoseek.co.jp)


248:デフォルトの名無しさん
08/06/21 22:31:49
【本日VIP投票日ですた】●第3回全板人気トナメ●【反省会会場】
スレリンク(news4vip板)

vipを助けてくれ!!!!!!!!
負けそうだ!!!!!
シベリア超特急に負けそうなんだ!!!!!!!!!!!


 俺 達 の v i p が 無 く な る ! ! ! ! ! ! ! !

ニュー速の本部を荒らして俺らに投票してくれ!!!!!!!!
 P C ケ ー タ イ 友 達 家 族 を フ ル 動 員 し て
コードをとってきてくれ!!!!!!!!!!!!!


ここで勝ったら二回戦もよろしく!!!!!!!!!!!


つまんねー話してないで協力するんだ!!!!!!!!!!!!!!!!
2chが変わってしまうぞ!!!!!!!!!!!!!!
助けてくれ!!!!!!!!!!!


まだまだ俺たちはおわれねぇ!!!!!!!!!!!!!!!!!!

249:デフォルトの名無しさん
08/06/21 22:43:04
>>176
>>243
問題文が悪い、そんなんじゃ誰も手を付けない
結局、逆ポーランド記法と通常の計算を数値入力でやれって事か?
やって欲しいなら、具体例をだしなよ

250: ◆qQYVX6rY3I
08/06/22 01:29:43
>>176です。

すいません。
問題文をそのまま載せたんですが
要点をまとめるべきでした。

つまり>>249さんの通りです。

例としては

入力数式
25.18,#,+,8,*,6,7,10,+,*,-,8,/

に対する答えは -5

となっています。

251:デフォルトの名無しさん
08/06/22 01:39:03
>>250
余計わからん

25.18,#,+,8,*,6,7,10,+,*,-,8,/
が-5になる流れを書いてくれ


252:デフォルトの名無しさん
08/06/22 02:15:19
まあ、この調子じゃ期限内に>>176が行なわれる事はないだろう
ヒントに3つの数字を3桁の数値に変換する関数とかあるのに、いきなり 25.18 とか…
本人が問題を理解してないか、問題文以外に課題の仕様があるのを正確に伝えて無いかがオチかと


253:デフォルトの名無しさん
08/06/22 02:17:19
まあ恐らく25,18の書き間違えだろう
それならば-5になる

254:デフォルトの名無しさん
08/06/22 02:51:54
25,18
だとしても逆ポーランド記法なら-6ではあるまいか…

255:デフォルトの名無しさん
08/06/22 02:53:28
スマン、桁落ちさせるのか、四捨五入だと思ってた…

256:デフォルトの名無しさん
08/06/22 03:23:52
”書き間違え”は”書き間違い”の書き間違えだろう

257:デフォルトの名無しさん
08/06/22 05:54:21
どなたか>>64をお願いします!

258:デフォルトの名無しさん
08/06/22 06:36:18
25,18,#,+,8,*,6,7,10,+,*,-,8,/

25
25,18
25,18,#
25,-18
25,-18,+
7
7,8,*
56
56,6
56,6,7
56,6,7,10
56,6,7,10,+
56,6,17
56,6,17,*
56,102
56,102,-
-46,8
-46,8,/
-5.75

こんな感じになった

259:デフォルトの名無しさん
08/06/22 07:11:13
>>176
URLリンク(kansai2channeler.hp.infoseek.co.jp)

260:デフォルトの名無しさん
08/06/22 11:53:48
>>148
そういう発言をしてるあなたはどこにお住まいの方ですか?
あなたの出した課題が載ってたとか?


261:デフォルトの名無しさん
08/06/22 12:23:24
気にすんなよ
最悪バレても単位が出ないだけだろ
もっとどうどうとしろ

262:デフォルトの名無しさん
08/06/22 13:39:55
1.授業単元:分岐演算テーブル作成

2.問題文:URLリンク(www-2ch.net:8080)

3.環境:C言語がコンパイル環境できるならどれでも可

4.期限: できるだけ早く

5.その他
他の分岐演算テーブルは解けたんですが、
最後がどうしても解けません・・・・数学に自信のある方お願いしますorz
※例題とかそういった説明補足に関してはreadme.txtを参照ください。

263:デフォルトの名無しさん
08/06/22 14:09:39
>>247
お願いした通り作って下さってありがとうございました。
質問なんですが16行目のtypedefってなんの処理なんですか?
何せまだC初めて3ヶ月しか経ってなくて…。

264:デフォルトの名無しさん
08/06/22 14:15:46
>>263
URLリンク(www.google.co.jp)

265:デフォルトの名無しさん
08/06/22 15:02:09
だ、誰か>>144を頼みます><

266:デフォルトの名無しさん
08/06/22 15:07:56
> ・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください

267:179
08/06/22 15:09:28
とりあえず騎士巡歴のソースを見つけたのですが、
これに時間計算量の評価回数と実行時間を
どういうやって出力させればいいか全く解りません。

どなたか・・・よろしくお願いします・・・
URLリンク(kansai2channeler.hp.infoseek.co.jp)

268:デフォルトの名無しさん
08/06/22 15:43:38
>>64,257
URLリンク(kansai2channeler.hp.infoseek.co.jp)
C99仕様

269:262
08/06/22 15:47:19
int main(void)
{
int i; /* ループカウンタ */
unsigned char chTable[256]; /* テーブル領域 */

/* テーブル初期化 */
for(i = 0; i < 256; i++)
{
/* このような式でdata.binのデータ内容と同じデータを生成させる */
chTable[i] = (unsigned char)((i % 2) ? 255 - (i + 1) / 2 : (i + 1) / 2);
}

return 0;
}

>>262の課題の算出方法に関する縛りですが、
上記ループ内の様な式で算出する事が条件です。


270:デフォルトの名無しさん
08/06/22 16:15:42
>>269
それは、読めば分かるから。余計な茶々はいれないで。
縛りについて、ほかには? S

271:262
08/06/22 16:22:16
>>270
すみません。一応スレ側にも書いておこうかと思って。
他の縛りは特にないです。


272:デフォルトの名無しさん
08/06/22 17:05:42
>>179
5x5, 6x6のそれぞれの解の個数わかる?

あってるのかどうかわからないから
アップできない。
ちなみにまだ課題1だけしか・・・

273:デフォルトの名無しさん
08/06/22 17:17:40
>>262
for(i=0; i<256; i++) chTable[i] = (int)(16-i/8.0) * (int)(16-i/8.0);

274:272
08/06/22 17:23:34
あ、C言語じゃん
C++で作ってしまった
もういいや

275:デフォルトの名無しさん
08/06/22 17:25:37
>>273
見た瞬間、間違ってるかと…
最初の値は0じゃね

276:デフォルトの名無しさん
08/06/22 17:26:52
見た瞬間とか言っていいレベルじゃないから、実行してから口から糞たれろ。

277:デフォルトの名無しさん
08/06/22 17:29:18
>>276
おまいさん、バイナリエディタすら持ってないのか…?

278:デフォルトの名無しさん
08/06/22 17:31:57
256をunsigned char に代入したらどうなると思ってんだよ、このボケが

279:デフォルトの名無しさん
08/06/22 17:33:02
0xFFです

280:デフォルトの名無しさん
08/06/22 17:36:11
(int)(16-0/8.0) * (int)(16-0/8.0)
これが256になるのか?

281:デフォルトの名無しさん
08/06/22 17:39:45
>>280
どうみても0

282:デフォルトの名無しさん
08/06/22 17:40:22
にはならない

283:デフォルトの名無しさん
08/06/22 17:40:31
16 * 16 が256にならないでどうすんだよw

284:270
08/06/22 17:41:55
unsigned char j;
unsigned char k;

for(i = 0; i < 256; i++)
{
if(i==0) {j=33; k=0;}
if(i==128) {j=253; k=1;}
/* このような式でdata.binのデータ内容と同じデータを生成させる */
if(i<128){
chTable[i]=k;
if((i&7)==0) {j-=2; k-=j;}
}
else{
if((i&7)==0) {j+=2; k+=j;}
chTable[i]=k;
}
if((i&15)==0) printf("\n%03X ", i);
printf("%02X ", chTable[i]);
}

for(i = 0; i < 256; i++)
{
(i==0) ? j=33, k=0 : 0;
(i==128) ? j=253, k=1 : 0;
/* このような式でdata.binのデータ内容と同じデータを生成させる */
(i<128) ? ( chTable[i]=k, ((i&7)==0 ? j-=2, k-=j : 0) ) :
( ((i&7)==0 ? j+=2, k+=j : 0), chTable[i]=k ) ;
(i&15)==0 ? printf("\n%03X ", i) : 0;
printf("%02X ", chTable[i]);
}

285:デフォルトの名無しさん
08/06/22 17:45:06
270の登場で、更に盛り上がってまいりましたw

286:デフォルトの名無しさん
08/06/22 17:49:05
(i==0) ? 0 : (int)(16-i/8.0) * (int)(16-i/8.0);

こうだろw
片落ち代入じゃ、同じデータを作っても式があってないって事だろ?
違うのか…

287:デフォルトの名無しさん
08/06/22 17:49:12
盛り上がるもなにも、猿以下のアホが湧いてるだけだろ。

288:デフォルトの名無しさん
08/06/22 17:49:23
[1] 授業単元: 実験
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
 単振り子の方程式の近似解をホイン法によって求めるプログラム
 ルンゲ・クッタ法のプログラムを資料として、オイラー法のプログラムは完成し、出力の値も問題ありませんでした。
 次にホイン法のプログラムを作り、実行したところ、
 本来ならば(π/4)cos(x)のグラフと近くなるはずの解の値が途中から一次方程式のようになってしまいます
 
[3] 環境
 [3.1] OS: LinuxまたはWindows
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 6月23日まで
[5] その他の制限:
 できれば自分の作ったプログラムの間違っている箇所を修正して作ってくださると助かります。
 今回の課題はプログラムリストの提出は求められていないので、多少動作が分かりにくくても問題はないです。
 最後に解の値を出力しているのは、そのデータをgnuplotでプロットするからです。

289:デフォルトの名無しさん
08/06/22 17:54:18
280は(int)(16-0/8.0) * (int)(16-0/8.0)がいくつになると思ったのか答えてくれ

290:デフォルトの名無しさん
08/06/22 17:56:02
0x00000100です

291:デフォルトの名無しさん
08/06/22 17:59:31
ID無しのスレでは何事も諸行無常なり

292:デフォルトの名無しさん
08/06/22 18:00:17
-と/の優先順位がわからないって小学生以下だなw

293:デフォルトの名無しさん
08/06/22 18:03:47
顔真っ赤な人がいると聞いて。


294:デフォルトの名無しさん
08/06/22 18:04:10
>>289
0/8.0ってプログラム落ちないか?

295:デフォルトの名無しさん
08/06/22 18:05:43
8.0/0なら落ちます

296:デフォルトの名無しさん
08/06/22 18:07:11
どこまで釣りでどこまで本気かわからないスレだw

297:デフォルトの名無しさん
08/06/22 18:09:21
270が可哀相だよ
合ってるよスゲーよ

298:デフォルトの名無しさん
08/06/22 18:10:09
この流れはwwwwwwwwwww

299:デフォルトの名無しさん
08/06/22 18:12:21
>>294
void main(){0/8.0;}

300:デフォルトの名無しさん
08/06/22 18:37:08
8x8のナイトの旅がなかなか解き終わらない(´・ω・`)

やっぱり総当り厳しいのかな・・・

301:デフォルトの名無しさん
08/06/22 18:37:10
[1] 授業単元:暇潰し
[2] 問題文(含コード&リンク):
平面上にn個の点について、それぞれ他の全ての点に対し2点を結ぶ辺を作り、その重みをユークリッドノルムとして計算し、昇順にソートする。
nは10万以上のため、全ての重みをメモリ上で保持してソートするのは現実的でない。現実の計算機上で高速に計算しソートする方法を示せ

[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: g++
 [3.3] 言語: C++
[4] 期限: (無期限]
[5] その他の制限: なし

前スレで回答がもらえなかったので再掲載。

302:デフォルトの名無しさん
08/06/22 18:47:54
>>288
h*の位置がおかしくねーか?
h*(fk1[i] + fk2[i])/2だと思うんだが。

303: ◆hN02YkuTxM
08/06/22 18:56:40
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: VC6.0
 [3.3] 言語: C
[4] 期限: 6月22日 13時まで
[5] その他の制限:
本文内にある三箇所の()の中にのみ手を加えて下さい

304:デフォルトの名無しさん
08/06/22 18:57:14
>>301
nが10万程度の場合ならば、主記憶が128GBの計算機を用いれば簡単。
S社の製品の場合、最も廉価なものであれば200万円程度で購入できる。

305:デフォルトの名無しさん
08/06/22 19:06:47
>>301
データをディスクに書き込んで、ディスク上でマージソート
再帰が深くなって断片がメモリに載るサイズになったら、好きなアルゴリズムを使ってメモリ上でソート

306:デフォルトの名無しさん
08/06/22 19:15:08
>>303
URLリンク(kansai2channeler.hp.infoseek.co.jp)

307:デフォルトの名無しさん
08/06/22 19:17:03
どうでもいいことだが

>>301
> 平面上にn個の点について、それぞれ他の全ての点に対し2点を結ぶ辺を作り、その重みをユークリッドノルムとして計算し、昇順にソートする。
# 平面上にn個の点について 〜中略〜 昇順にソートする。
なの?
それとも辺をソートするの?><;;

308:デフォルトの名無しさん
08/06/22 19:18:33
>>307
日本語でおk

309: ◆hN02YkuTxM
08/06/22 19:23:42
>>306
ありがとうございました

310:デフォルトの名無しさん
08/06/22 19:36:27
[1] 授業単元:C言語プログラミング
[2] 問題文(含コード&リンク)
10進数の正の整数を入力し、2進数に変換して表示せよ
可能ならば、正の実数も変換できるものを作成せよ
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C
[4] 期限:明日まで

よろしくお願いします

311:262
08/06/22 19:43:08
様々な解答ありがとうございます
上記の解答を元に自分なりに色々思考を
凝らしていきたいと思います


本当にありがとうございました

312:デフォルトの名無しさん
08/06/22 19:44:01
>>310
#include <stdio.h>

int main(void)
{
unsigned int n, i = 1 << sizeof(unsigned int) * 8 - 1;

scanf("%d", &n);
while((i&n)==0) i>>=1;
while(i) {
putchar(n & i ? '1' : '0');
i >>= 1;
}

return 0;
}


313:デフォルトの名無しさん
08/06/22 19:47:01
>>281
>>287
>>292
>>293
>>308


314:デフォルトの名無しさん
08/06/22 19:48:07
>>275
>>277
>>280

315:デフォルトの名無しさん
08/06/22 19:55:11
>>288
func(t, x, f) /*f(t, x)を定義*/ double t, x[], f[];{
f[0] = x[1]; f[1] = - (G/L0)*sin(x[0]);
}

を使わず
func(t,x,f,h)double t,x[],f[],h;{
f[0]=x[1]*h;f[1]=-(G/L0)*sin(x[0])*h;
}
として
for ( n = 0; n < n_step; n++ ) {
t[n+1] = T_s + (n+1)*h;
func(t[n], x[n], dfk1,h); /*dfk1=h* f(t[n], x[n])*/
for( i = 0;i < N_var; i++){
y[i] = x[n][i] + dfk1[i]; /*y[i]:中間変数Xn*/
}
func(t[n+1], y, dfk2,h); /*dfk2=h*f(t[n+1], y)=h*f(t[n+1], Xn)*/
for( i = 0; i < N_var; i++){
x[n+1][i] = x[n][i] + (dfk1[i] +dfk2[i])/2;
/*x[n+1] = x[n] + (fk1 + fk2)/2*/
}
}

316:デフォルトの名無しさん
08/06/22 20:09:00
>>310
#include <stdio.h>

void f1(int x) {
int y=x/2;
if(y!=0) f1(y);
printf("%d",x%2);
}

void f2(double x) {
int y;
double z=x*2.0;
y=(int)z;
z=z-(double)y;
printf("%d",y);
if(z!=0.0) f2(z);
}

int main(void) {
int i;
double r;
scanf("%lf",&r);
i=(int)r;
r=r-(double)i;
f1(i); putchar('.'); f2(r);
return 0;
}


317:デフォルトの名無しさん
08/06/22 20:14:52
>>103
微妙ですがありがとうございます

318:デフォルトの名無しさん
08/06/22 20:15:55
何様だw

319:デフォルトの名無しさん
08/06/22 20:19:35
ワロタ

320:デフォルトの名無しさん
08/06/22 20:21:17
>>263
>>247 に不要なゴミコードが残ってた・・・気づいたら消しておいて。
> printf("p : %p \n",p);
データ追加、コピーの辺り。あと、一番最後に free(list); を忘れてた。

>>264 に説明があるけど、コードの中では
struct p_dataの構造をDATA型として、struct node_listの構造をLIST型
として定義し、変数の宣言のときに、わざわざ struct p_data と書かずに
DATA以下適当に変数を宣言できるようになってる。

321:デフォルトの名無しさん
08/06/22 20:21:32
>微妙ですがありがとうございます
微妙ですが
微妙ですが
微妙ですが
微妙ですが
微妙ですが
微妙ですが
微妙ですが

322:デフォルトの名無しさん
08/06/22 20:23:08
>>103
> 俺のプレイ
> もうこれ以上は減らせないw
そうかそうか、何回も何回もやりまくってやりまくってぇ〜

323:デフォルトの名無しさん
08/06/22 20:24:12
>>312>>316
ありがとうございます
>>演算子(?)は初見なんでぐぐってきます

324:hoge ◆ZdPTx91qxk
08/06/22 20:36:18
>>312
URLリンク(kansai2channeler.hp.infoseek.co.jp)
まぁもう回答でてるっぽいけどな

325:デフォルトの名無しさん
08/06/22 20:39:45
ありがとうございます!!!!
微妙ですが

326:デフォルトの名無しさん
08/06/22 20:41:11
微妙ですが
が、今後のスタンダードかなるほど

327:デフォルトの名無しさん
08/06/22 20:41:39
このスレで笑ったのは初めてかもしれない

328:デフォルトの名無しさん
08/06/22 20:49:02
>>317
最近の人間はプログラムの意識が高いんだな…
構造体習って無いから使うな、簡単なコードで、人間と同等以上のAIプログラムを作れって…
と、作った本人が言って見るテスト

キミの周りの学生が、余裕でその課題をこなしてるなら
キミは今居る場所に居つづける事を考え直した方が良いかもよw


329:デフォルトの名無しさん
08/06/22 20:51:48
揚げ足取りがミイラ取りになってる件

330:デフォルトの名無しさん
08/06/22 20:57:17
微妙ですが私も揚げ足取りになってしまうかもしれません ><;

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

int型の数値データの内部表現を2進数で表示する。
実行に当たっては次のデータを入力して確認せよ。

[1]0
[2]1
[3]-1
[4]32767
[5]-32768

実行例↓

入力データ:-1
 内部表現:1111111111111111

入力データ:32767
 内部表現:0111111111111111

-----------------------------------------------


[3] 環境
 [3.1] OS: (Windows)
 [3.2] コンパイラ名とバージョン: (visual studio 2005 )
 [3.3] 言語: (C言語)
[4] 期限:25日まで
[5] その他の制限: (まだ大してC言語は習ってないので簡単な関数でお願いします)

332:デフォルトの名無しさん
08/06/22 21:11:35
>>331
なんか、前スレにマイナスにも対応しているものがあった・・・
ちと探してくる

333:デフォルトの名無しさん
08/06/22 21:14:37
>>332
わざわざすいません<(_ _*)>

334:デフォルトの名無しさん
08/06/22 21:20:35
>>331
int型は16bitでいいの?

335:デフォルトの名無しさん
08/06/22 21:25:17
>>331
URLリンク(kansai2channeler.hp.infoseek.co.jp)

336:デフォルトの名無しさん
08/06/22 21:29:04
>>331
#include <stdlib.h>
#include <stdio.h>

void main(int argc,char* argv[])
{

int _in = atoi(argv[1]);
int i;
for(i = 0;i < 32;i++)
{
printf("%d",(_in & (0x80000000>>i) )?1:0);
}
printf("\n");
}

数値は引数で入力、エラーチェックはしてない

337:デフォルトの名無しさん
08/06/22 21:33:54
>>331
#include<stdio.h>
int main( void ){
int i,n;
printf("入力データ:");
scanf("%d",&n);
printf(" 内部表現:");
for(i=0;i<16;++i){
if(n & 1<<15-i) printf("1");
else printf("0");
}
return 0;
}

338:デフォルトの名無しさん
08/06/22 21:34:00
微妙だな

339:デフォルトの名無しさん
08/06/22 21:40:10
いや、絶妙だ

340:デフォルトの名無しさん
08/06/22 21:42:20
>>334
VS2005でWinが対象だから32bitじゃない?


341:デフォルトの名無しさん
08/06/22 21:42:51
絶妙ですがありがとうございます

342:デフォルトの名無しさん
08/06/22 21:45:06
まっ、待ってたもう、麻呂の16進数まで対応したクソースを拝むでおじゃるよ
もう少し待ってたもう

343:デフォルトの名無しさん
08/06/22 21:51:37
>>340
実行例が16桁だから…

344:デフォルトの名無しさん
08/06/22 21:52:05
int i,n;
int bit=sizeof(int)*8;
//nをキーボードから入力
for(i=bit-1; i>=0; i--)
printf("%d", n>>i&1);


345:デフォルトの名無しさん
08/06/22 21:52:46
>>343
それは確かに気になった…。


346:331
08/06/22 22:02:29
テキストの問題なんですけど、何ビットとか書いてないんですよ・・・
多分16ビットでOKだと思います。


347:デフォルトの名無しさん
08/06/22 22:03:37
Winでint型だと普通は32bitだけどね

348:デフォルトの名無しさん
08/06/22 22:07:13
普通にsizeof演算子使えよ
でも1byteが9bitの環境もあるって聞いたことあるな


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4256日前に更新/251 KB
担当:undef