[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

sakusaker7 の回答履歴

全2497件中161~180件表示
  • 課題

    このような課題が出されました。 課題を丸投ではありませんが、どこをどう手をつけ始めればよいかわかりません。 お手数ですがよろしくお願いします。 次のような動作をするプログラムを作成する。 ファイルをShannon符号を用いて圧縮し,圧縮ファイルを作成する.また,Shannon符号で圧縮されたファイルを読み込み,解凍されたファイルを作成する. 圧縮対象のファイルはテキストファイルとし,出現する可能性のある文字は,a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p の16文字の内の何れかとする.ファイルの長さは4096文字以内で,一行に書かれている. 圧縮ファイルもテキストファイルとし,先頭の16行は,各文字に対する符号を文字の「0」,「1」を使って一行に一つずつ書く(符号を割り当てない場合は何も書かない). 17行目に符号化されたbit系列を文字の「0」,「1」を使って一行で書く. (本来バイナリで書けば1/8のサイズになるが,簡単のため文字にする) 解凍されたファイルは,圧縮前の元のファイルと同じになるように作る. 「srcdata0~2.txt」及び「encoded0~2answer.txt」は,作成したプログラムが正しく動作するかどうかをチェックするためのサンプルファイルである. 「srcdata3.txt」を圧縮したファイルを「encoded3.txt」として,提出すること. 「encoded4.txt」を解凍したファイルを「decoded4.txt」として,提出すること. ソースプログラムも提出すること. プログラム言語はC言語,C++,java,C#の何れかで作成のこと.特にC,C++は標準ライブラリのみを用い,gcc,g++,又はVisual C++でコンパイル可能なこと. C言語はファイル入出力関係が煩雑なので,サンプルプログラム「shannon.c」をベースに作成すること. C言語では,文字列関数(#include <string.h>)を使わないこと. 改行コードはOS依存だが,特に気にする必要はない.必要があれば変換して良い.EOFコードは不要. 上級者は,浮動小数点型(double, floatなど)を用いずにプログラムすることを推奨.(分数や対数を正確に表せないため,僅かな誤差が切り上げの有無等に影響するため)

  • 【初歩的】関数について

    初心者のくせに、Pythonでプログラムを学びだしました。 すっごく初歩的な質問なんですが、 Pythonには int()という文字列を数字に変換する関数があるのですが、 a="4232"を数字に 変換するとき、 int(a)とやるみたいですが、 a.int()ではダメなんですか? 違いがわかりません。 また、一部だけ指定してやるとき、 a.int("32")とやればいいのですか? このへんで混乱しているので、 わかりやすくご教授してください。

  • フルパスについてご質問します

    あるプログラムにサーバーのフルパスを入れると、 反応が良くなります。 最近、違うサーバーにサーバーに対応した フルパスをいれて実行したところ、 動作がよくありません。 /home/sites/FQDNドメイン名/ユーザーID/ファイルの場所 このような場合、何が考えられますでしょうか? 宜しくお願い致します。

    • ベストアンサー
    • abesouri
    • Perl
    • 回答数3
  • 文字列操作:最後の4文字を取得したい

    初心者の質問で恐縮です。 文字列操作で、最後の4文字を取得したいのですが、 どうすればよいのでしょうか?? 本やネットで調べたのですが正規表現というのが難しく、 失敗しています、、、

  • $obj->decode($bytes)って何?

    Encode.pmのPODを読んでいます。その一文です。 [$obj =] find_encoding(ENCODING)  Returns the encoding object corresponding to ENCODING. Returns undef if no matching ENCODING is find.  This object is what actually does the actual (en|de)coding.  $utf8 = decode($name, $bytes);  is in fact   $utf8 = do{    $obj = find_encoding($name);    croak qq(encoding "$name" not found) unless ref $obj;    $obj->decode($bytes)   };  with more error checking. まず  This object is what actually does the actual (en|de)codeing. 直訳すると、「このオブジェクトは実際のエンコードやデコードを実際に行うものです。」となります。実際の、実際の、と二つ並ぶのはあまり語感が良くないと思いますが、でもこのPODを書いたのは文学者ではないですから、原文の方に問題があるのではないかと思います。 次に「このオブジェクト」とは何を指しているのでしょう。find_encoding関数のことを言っているのでしょうか? というのは、下に  $utf8 = decode($name, $bytes); は実際には、  $utf8 = do{   $obj = find_encoding($name);   croak qq(encoding "$name" not found) unless ref $obj;   $obj->decode($bytes) }; だと書いています。{}の中で一番重要なのはfind_encoding関数だと言いたいのではないかと・・・ そうすると  This object is what actually does the actual (en|de)codeing. は、  「実際にエンコードやデコードを行っているのはこの関数です。」 と訳するのが正しいでしょうか? 最後に、  $obj->decode($bytes) $objという文字コードで記述されている$bytesという文字列をutf-8に変換したもの、という意味なはず。 でも浅学な私には、どのような文法でこのコードが書かれているか分かりません。 Perlにおいて、変数と言えば$objだったり@objだったり%objだったりします。そしてそのリファレンスはこれら変数の前に「\」を付ければ良くて、リファレンスはスカラー変数となるから、 $refobj=\($|@|%)obj; となります。 元の変数が(@|%)objの場合、元の変数の一要素を取り出すには、 $obj([index]|{'index'})=$refobj->index; となります。 これが私の知っている矢印記法の唯一の使い方です。 お手数ですが、どなたか教えていただけないでしょうか?

    • ベストアンサー
    • makoji
    • Perl
    • 回答数3
  • フルパスについてご質問します

    あるプログラムにサーバーのフルパスを入れると、 反応が良くなります。 最近、違うサーバーにサーバーに対応した フルパスをいれて実行したところ、 動作がよくありません。 /home/sites/FQDNドメイン名/ユーザーID/ファイルの場所 このような場合、何が考えられますでしょうか? 宜しくお願い致します。

    • ベストアンサー
    • abesouri
    • Perl
    • 回答数3
  • アセンブルの問題について

    情報に関しては、素人であり人が書いたプログラムをいまだにまともに読むこともできないレベルなのでご教授ください。 基本情報技術者試験の午後のアセンブラの問題に関して質問があります。 平成20年の秋の問13です。 http://情報処理試験.jp/FE20b-pm/t13.html このページにあるので、問題はこちらを参照されてください。 質問としましては、3点あります。 (1)出力バッファとはそもそも何のことなのか。 問題の中では、GR3の空白記号を使うことにより3つの空白を作り初期化?というものをしています。このプログラムの中ではどのような役割をしているのでしょうか。"はい"と答えた人のカウントをするならばカウンタ領域が役割を担っているような気がします。 (2) "ポインタ""ポインタの更新"の意味が知りたい 出力バッファのポインタや出力バッファのポインタの更新などという言葉が途中で出てくるのですが、いまいち意味がわかりません。概念をご教授ください。 (3)37行目から39行目までの命令の意味がわかりません。 37 LD GR5,GR5 38 JZE FIN 39 LD GR0,='*' 36行目から51行目まで全く意味がわからないのですがこの3行がわかれば全てわかると思い質問させていただきました。 よろしくお願いいたします。

  • HTTPプロトコルについて

    telnetでwww.yahoo.co.jpサーバの80番ポートに接続し、 GET / HTTP/1.1 Host:www.yahoo.co.jp というリクエストをしたところ、画像のようなレスポンスが帰ってきました。 この空行の下にある数字はいったい何なんでしょうか?

  • FortranプログラムからC言語で実装された関数を呼ぶには?

    Windows Vista Home PremiumにFTN95をインストールしたPCにて、Fortranのプログラミングをし始め、「Cpad for Salford FTN77」を利用してプログラミングをしています(FORTRAN77・Fortran90ともに)。FTN95でのFortranプログラミングに際し、FortranプログラムからC言語で実装された関数を呼ぶには、どのように対処すれば可能になりますでしょうか? ユーザーガイドによれば、「Fortranプログラム中に、C_EXTERNALという宣言をした関数は、Cの関数と同じくアクセスできるようになり、C側では、#extern <返り値>関数名(引数)を与えれば、Cの関数として呼び込むことができる。」とのことがかかれています。 実際に使っているファイルをいくつか書き出します。 <D:\fortran\sample.f> C_EXTERNAL WRITE 'WriteFile' : INTEGER*4 INTEGER*4 RESULT RESULT=WRITE() write(*,*) result return end <D:\fortran\sample.c> #extern int Writefile(int); <C:\Program Files\Silverfrost\FTN95\ftn95c.bat> ftn95.exe %1 %2 %3 %4 %5 %6 %7 %8 %9 /link ちなみに、「Cpad for Salford FTN77」での実行/設定/実行/コンパイル時のパラメータは「/link /dreal」です。もちろんftn95.exeへのパスは通してあります。何が問題でしょうか? 何分初心者ですので、拙い質問かと思いますが、何卒ご教示願います。

  • FortranプログラムからC言語で実装された関数を呼ぶには?

    Windows Vista Home PremiumにFTN95をインストールしたPCにて、Fortranのプログラミングをし始め、「Cpad for Salford FTN77」を利用してプログラミングをしています(FORTRAN77・Fortran90ともに)。FTN95でのFortranプログラミングに際し、FortranプログラムからC言語で実装された関数を呼ぶには、どのように対処すれば可能になりますでしょうか? ユーザーガイドによれば、「Fortranプログラム中に、C_EXTERNALという宣言をした関数は、Cの関数と同じくアクセスできるようになり、C側では、#extern <返り値>関数名(引数)を与えれば、Cの関数として呼び込むことができる。」とのことがかかれています。 実際に使っているファイルをいくつか書き出します。 <D:\fortran\sample.f> C_EXTERNAL WRITE 'WriteFile' : INTEGER*4 INTEGER*4 RESULT RESULT=WRITE() write(*,*) result return end <D:\fortran\sample.c> #extern int Writefile(int); <C:\Program Files\Silverfrost\FTN95\ftn95c.bat> ftn95.exe %1 %2 %3 %4 %5 %6 %7 %8 %9 /link ちなみに、「Cpad for Salford FTN77」での実行/設定/実行/コンパイル時のパラメータは「/link /dreal」です。もちろんftn95.exeへのパスは通してあります。何が問題でしょうか? 何分初心者ですので、拙い質問かと思いますが、何卒ご教示願います。

  • FortranプログラムからC言語で実装された関数を呼ぶには?

    Windows Vista Home PremiumにFTN95をインストールしたPCにて、Fortranのプログラミングをし始め、「Cpad for Salford FTN77」を利用してプログラミングをしています(FORTRAN77・Fortran90ともに)。FTN95でのFortranプログラミングに際し、FortranプログラムからC言語で実装された関数を呼ぶには、どのように対処すれば可能になりますでしょうか? ユーザーガイドによれば、「Fortranプログラム中に、C_EXTERNALという宣言をした関数は、Cの関数と同じくアクセスできるようになり、C側では、#extern <返り値>関数名(引数)を与えれば、Cの関数として呼び込むことができる。」とのことがかかれています。 実際に使っているファイルをいくつか書き出します。 <D:\fortran\sample.f> C_EXTERNAL WRITE 'WriteFile' : INTEGER*4 INTEGER*4 RESULT RESULT=WRITE() write(*,*) result return end <D:\fortran\sample.c> #extern int Writefile(int); <C:\Program Files\Silverfrost\FTN95\ftn95c.bat> ftn95.exe %1 %2 %3 %4 %5 %6 %7 %8 %9 /link ちなみに、「Cpad for Salford FTN77」での実行/設定/実行/コンパイル時のパラメータは「/link /dreal」です。もちろんftn95.exeへのパスは通してあります。何が問題でしょうか? 何分初心者ですので、拙い質問かと思いますが、何卒ご教示願います。

  • FortranプログラムからC言語で実装された関数を呼ぶには?

    Windows Vista Home PremiumにFTN95をインストールしたPCにて、Fortranのプログラミングをし始め、「Cpad for Salford FTN77」を利用してプログラミングをしています(FORTRAN77・Fortran90ともに)。FTN95でのFortranプログラミングに際し、FortranプログラムからC言語で実装された関数を呼ぶには、どのように対処すれば可能になりますでしょうか? ユーザーガイドによれば、「Fortranプログラム中に、C_EXTERNALという宣言をした関数は、Cの関数と同じくアクセスできるようになり、C側では、#extern <返り値>関数名(引数)を与えれば、Cの関数として呼び込むことができる。」とのことがかかれています。 実際に使っているファイルをいくつか書き出します。 <D:\fortran\sample.f> C_EXTERNAL WRITE 'WriteFile' : INTEGER*4 INTEGER*4 RESULT RESULT=WRITE() write(*,*) result return end <D:\fortran\sample.c> #extern int Writefile(int); <C:\Program Files\Silverfrost\FTN95\ftn95c.bat> ftn95.exe %1 %2 %3 %4 %5 %6 %7 %8 %9 /link ちなみに、「Cpad for Salford FTN77」での実行/設定/実行/コンパイル時のパラメータは「/link /dreal」です。もちろんftn95.exeへのパスは通してあります。何が問題でしょうか? 何分初心者ですので、拙い質問かと思いますが、何卒ご教示願います。

  • FortranプログラムからC言語で実装された関数を呼ぶには?

    Windows Vista Home PremiumにFTN95をインストールしたPCにて、Fortranのプログラミングをし始め、「Cpad for Salford FTN77」を利用してプログラミングをしています(FORTRAN77・Fortran90ともに)。FTN95でのFortranプログラミングに際し、FortranプログラムからC言語で実装された関数を呼ぶには、どのように対処すれば可能になりますでしょうか? ユーザーガイドによれば、「Fortranプログラム中に、C_EXTERNALという宣言をした関数は、Cの関数と同じくアクセスできるようになり、C側では、#extern <返り値>関数名(引数)を与えれば、Cの関数として呼び込むことができる。」とのことがかかれています。 実際に使っているファイルをいくつか書き出します。 <D:\fortran\sample.f> C_EXTERNAL WRITE 'WriteFile' : INTEGER*4 INTEGER*4 RESULT RESULT=WRITE() write(*,*) result return end <D:\fortran\sample.c> #extern int Writefile(int); <C:\Program Files\Silverfrost\FTN95\ftn95c.bat> ftn95.exe %1 %2 %3 %4 %5 %6 %7 %8 %9 /link ちなみに、「Cpad for Salford FTN77」での実行/設定/実行/コンパイル時のパラメータは「/link /dreal」です。もちろんftn95.exeへのパスは通してあります。何が問題でしょうか? 何分初心者ですので、拙い質問かと思いますが、何卒ご教示願います。

  • 1秒未満間隔のファイル更新について

    皆様 下記のようなプログラム(Perl)で、1秒未満のファイル更新を試みております。sleep(1)として、待ち時間を1秒とすると、data.txtに時刻が更新されますが、sleep(0.8)、sleep(0.5)等として待ち時間を1秒未満にすると、プログラムは動作するのですが、data.txtはファイルとして作成されません。 これは、printf()関数のバッファリング、及びフラッシュに関する仕様に起因するものと思われますが、1秒未満の間隔でdata.txtを更新して時刻をdata.txtに書き込む処理は可能でしょうか? #強制フラッシュの"$| = 1;"を使い、sleep(0.8)としても駄目でした。 すみませんが、よろしくお願いします。 (コード) #use Time::HiRes; #$| = 1; while(){ ($sec, $min, $hour, $day, $mon, $year) = localtime(time); open(OUT, "> data.txt"); printf(OUT "%2s:%2s:%2s\n", $hour, $min, $sec); close(OUT); sleep(1); }

  • pythonに関する質問です

    >aaa bbb ccc [ddd dd] >eeee ffff gggg [ hhhh hhh] >iiii jjj kkkk >lll mmmm nnnn >ooo ppp [ qqq qq ] > rrr sss [ ttt] uuu といった文字列があるとします。 [ ]の中の文字を[]も一緒に「>」のすぐ後ろに移動させたいのですが、どのようにすればよいのでしょう? splitでは[]をまとめて扱えないうえ、[]は切り取ってしまうので使えません。はっきり言ってお手上げです。 どうかよろしくお願いします。

  • XSUB.h、EXTERN.h、perl.h について

    ◆状況 C言語+Perlで作られている機能を、 Perlだけのソースに移行しようとしています。 ◆困っていること 今まで、知らない言語を読む際、 ネットや本にある、関数一覧などから、 「そのプログラムで何をしようとしているか?」 を読み取れていたのですが、 C言語+Perlにおける、下記の関数??と思われるものなどについて、 全然、資料/情報が見つからず、困っています。 具体的には、 dXSARGS Perl_croak SvPV_nolen XPUSHs PUTBACK などです。 (恐らくは、EXTERN.h、perl.h、XSUB.h というヘッダファイルに定義されているのかも知れませんが。) stdio.h などにあるような、fopen関数だったり、fscanf関数などのようなものは、 いくらでもネット上/本に載っているのですが、上述のものについて、全然見つかりません、、 /***********************************/ また、includeファイルに、定数、構造体の定義、関数のプロトタイプ、マクロの定義、が記述されると認識していますが、 しかしながら、 ソース上に出てくる「Perl_croak」という箇所は、おそらく、Perl_croakという関数のように思われました。 と、すると、 includeファイルに、引数&戻り値などのインターフェース仕様だけ書かれているのではなく、 Perl_croak関数が行う、「処理の実態」も、ヘッダファイルに記述されているということでしょうか?? また、 dXSARGS という箇所については、戻り値を受け入れるような記述もなく、 dXSARGS; と一行書かれているだけなのですが、関数ではなく、戻り値を必要としないサブルーチンということでしょうか? /***********************************/ どなたか、資料/情報や、もしくは調べ方などをご存知の方がいらっしゃれば、 ご教授お願いできませんでしょうか? 些細な情報でも構いませんので、宜しくお願い致します。。

  • pythonに関する質問です

    >aaa bbb ccc [ddd dd] >eeee ffff gggg [ hhhh hhh] >iiii jjj kkkk >lll mmmm nnnn >ooo ppp [ qqq qq ] > rrr sss [ ttt] uuu といった文字列があるとします。 [ ]の中の文字を[]も一緒に「>」のすぐ後ろに移動させたいのですが、どのようにすればよいのでしょう? splitでは[]をまとめて扱えないうえ、[]は切り取ってしまうので使えません。はっきり言ってお手上げです。 どうかよろしくお願いします。

  • 辞書ファイルのようなものを作成して文字列を置き換えする方法

    テキストボックスに入力された文字列を○○を××と置き換える、のようなものを数十行書き連ねた辞書ファイルのようなものに従って置き換える方法などあるのでしょうか? できるかぎりユーザーが辞書ファイルを編集できるようにしたいのですが、何か方法はありませんか? どなたかよろしくお願いします。

  • 意味がわかりません

    begin-base64 664 st.rar の意味を教えてください

  • perlでの正規表現?文字コードの問題?

    なぜ、全角Bがマッチするのでしょか? $sh ="B111\"; print "$sh\n\"; if($sh=~ /\A[あ,い,う,え,お,か,き,く,け,こ,さ,し,す,せ,そ,た,ち,つ,て,と,な,に,ぬ,ね,の,は,ひ,ふ,へ,ほ,ま,み,む,め,も,や,ゆ,よ,わ,ゐ,ゑ,を,ん,ぁ,ぃ,ぅ,ぇ,ぉ,ゃ,ゅ,ょ,が,ぎ,ぐ,げ,ご,ざ,じ,ず,ぜ,ぞ,だ,ぢ,づ,で,ど,ば,び,ぶ,べ,ぼ,ぱ,ぴ,ぷ,ぺ,ぽ]/){ print "ヒット\n\"; } print "処理終了\n\";