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


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

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



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

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

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

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

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

974 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 17:32:00 ]
[1] 授業単元:C言語
[2] 問題文

文字列が回文かどうか判定をするプログラムを作成せよ

実行例

文字列を入力してください。
abcdcba(Return)
abcdcbaは回文です。

文字列を入力してください。
unko6yy6oknu(Return)
unko6yy6oknuは回文です。

文字列を入力してください。
abcdefg(Return)
abcdefgは回文ではありません。

[3] 環境
 [3.1] Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 7/30まで
[5] その他の制限:特になし

ポインタを使わなければいけないみたいですがさっぱり分かりません。
先生方、もしよろしければお助けください。お願いします。


975 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 17:58:32 ]
>>974
pc11.2ch.net/test/read.cgi/tech/1184003625/598

976 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 18:12:28 ]
>>974
釣りはとっとけこのクソッタレ野郎
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4758.c

977 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 18:15:23 ]
ワザとやってんのかな

978 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 18:17:28 ]
// >>974
#include <stdio.h>
#include <string.h>
#include <stdbool.h>

bool isPalindrome(const char * word)
{
unsigned len = strlen(word);
if (len == 0) return false;
for (unsigned ic = 0; ic < len / 2; ++ic) {
if (word[ic] != word[len - 1 - ic]) return false;
}
return true;
}

int main()
{
char buf[200];
scanf("%199[^\n]", buf);
printf("%s is%s palindrome.\n", buf, isPalindrome(buf) ? "" : " not");
return 0;
}


979 名前:974 mailto:sage [2007/07/26(木) 19:52:31 ]
>>975
>>976
>>978
ありがとうございました

980 名前:943 mailto:sage [2007/07/26(木) 20:05:11 ]
>>947
>>948

返事遅れてすいませんでした
明日実行してみます
ありがとうございました

981 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 20:21:04 ]
>>970
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4759.zip
問題文に沿って作ったものと、2つの各要素を個別に追加したもの計3ファイル
2つの要素を両方追加したファイルが必要なら自分で作ってくろ。

982 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 21:28:47 BE:94671252-2BP(12)]
次スレ立てました
C/C++の宿題を片付けます 94代目
pc11.2ch.net/test/read.cgi/tech/1185452895/



983 名前:プログラミング初心者 [2007/07/26(木) 22:18:40 ]
>>936
ありがとうございます。
一度やってみましたがデバッグ後に何すればいいのかわかりません

984 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 22:27:32 ]
とりあえず、分かるところまででいいから解読しようとしようよ。

985 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 23:11:17 ]
>>935 同じディレクトリのwc_test.txtを読み込んで、単語数を数えて出力する。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4760.c

986 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 00:04:02 ]
[1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク):
以下の円周率を求めるプログラムに、
ニュートン法を適用し、加減乗算のみに書き換えなさい。

kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4761.txt
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: 特になし
 [3.3] 言語: C
[4] 期限: 2007年7月27日23:00まで
[5] その他の制限: よろしくお願いします。

987 名前:デフォルトの名無しさん [2007/07/27(金) 00:33:50 ]
[1] 授業単元: プログラム言語
[2] 問題文:
再帰関数を用いて以下のような三角形を印字せよ。
入力:3

**
***
*の個数も印字せよ。
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン: gcc 3.4
 [3.3] 言語: C
[4] 期限: 2007年7月23日22:00まで
[5] その他の制限:
forで以下のように作ったのですが、再帰の場合の書き方がわかりません。以下を再帰に書き換えるような形で作っていただけると、大変有り難いです。
よろしくお願い致します。

#include<stdio.h>
int kazu(int n);
main()
{ int a,b;
scanf("%d",&a);
b=kazu(a); }
int kazu(int n)
{ int i,j;
for(i=1;i<=n;i=i+1)
{ for(j=0;j<i;j=j+1)
{ printf("*"); }
printf("\n"); }
}

988 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 00:42:55 ]
>>815
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4762.c
凝りに凝りまくったぜぇ
誰かに丸投げしたのが一目瞭然なほどにな
本当に丸投げスレは地獄だぜフウハァハー

989 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 00:47:56 ]
>>987
#include<stdio.h>
int kazu(int n);
main()
{ int a,b;
scanf("%d",&a);
b=kazu(a);
printf("%d\n",b);}
int kazu(int n)
{ int i,j;
if(n<1)return 0;
j=kazu(n-1);
for(i=0;i<n;i=i+1)
{ printf("*"); }
printf("\n");
return j+n;}

990 名前:デフォルトの名無しさん [2007/07/27(金) 00:58:54 ]
>989さん
どうもありがとうございます。
本当に助かりました。

991 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 01:07:29 ]
おねがいします
[1] 授業単元:プログラミング基礎
[2] 問題文(含コード&リンク):
空白または改行で区切られている単語だけからなる文章があるとする。
これを列は15文字以内(全角を1文字、半角は0.5文字とする)
にして、最小の行に納めるようにせよ。
注意:単語の途中で改行をはさむことはできない。
(例)
123456789012345<-15文字分はここまで
--------ここから-----------------
日本 中国 アメリカ インド
フランス イタリア スペイン
メキシコ ドイツ カナダ イギリス スイス
サウジアラビア 南アフリカ共和国 ブラジル
--------ここまで----------------
(実行結果)
日本 中国 アメリカ インド
フランス イタリア スペイン
メキシコ ドイツ カナダ イギリス
スイス サウジアラビア
南アフリカ共和国 ブラジル

[3] 環境
 [3.1] OS: linux
 [3.2] コンパイラ名とバージョン: gcc2.95-3
 [3.3] 言語: C
[4] 期限: 8月1日
[5] その他の制限:
無制限(授業でならっていないものでも、自分で勉強して理解したのなら何をつかってもいい)

992 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 01:10:50 ]
丸投げってことは何も使っちゃ駄目ってことか・・・



993 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 01:24:04 ]
>>991
面白そうな問題だ。ちょっと時間がないんで解けないが・・・
これってナップサック問題っていうんだっけ?
あれみたいな感じで、入力内容によっては全パターン検索
しようとしたら膨大な時間になりそうな風に感じるんだが。
そういうの詳しい人いない?

994 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 01:33:03 ]
ナップサックというより組み合わせ計画問題。
グリーディ法でいけそうな問題だね。めんどくさそうだけど

995 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 03:03:10 ]
>>935
#include<iostream>
#include<string>
#include<vector>

using namespace std;

int main(void){
    vector<string> v;
    string word;
    int i;

    while(1){
        cin >> word;
        if(cin.eof() || cin.fail()) break;
        for(i=0;i<v.size();i++){
            if(v[i]==word) break;
        }
        if(i>=v.size()) v.push_back(word);
    }
    for(i=0;i<v.size();i++){
        cout << v[i] << "," << v[i].size() << " ";
    }
    cout << endl;

    return 0;
}

996 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 04:18:53 ]
#include <iostream>
#include <set>
#include <string>

int main( int argc, char ** argv ) {
typedef std::set< std::string > dict_t;
dict_t wc;
while ( 1 ) {
std::string word;
std::cin >> word;
if ( std::cin.eof() || std::cin.fail() ) break;
wc.insert( word );
}
for ( dict_t::iterator it = wc.begin(); it != wc.end(); it++ ) std::cout << *it << ", " << it->length() << " ";
std::cout << std::endl;
return 0;
}
set<> なり,map<> なりじゃなきゃ遅くてどうしようもないだろうに

997 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 08:13:33 ]
>>988
指定にgets使わないといけないとか言ってクレームした出題者がいるから
それもgets使わないといけないと思われ。

998 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 08:51:42 ]
>>991
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4773.c
全角半角の判定のために非標準の関数wcwidthを使った。

999 名前:998 mailto:sage [2007/07/27(金) 08:54:04 ]
>if(feof(stdin) || ferror(stdin))
>  break;
これは消し忘れ。

1000 名前: ◆mM9WALL8Ws [2007/07/27(金) 08:54:13 ]
1000GET

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






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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