• 締切済み

アルゴリズムのある質問に流れ図をどう書けばいいのかを教えてください

* 列結果をもとにトップ10(上位10件)を表示する。 ただし、要素数が10件以下の時は全要素を表示、 10件を超えるときは10件全て表示後、11件目以後にも にも件目と同点のものがあれば、同点のものを全てを表示する このアルゴリズムの流れ図をどう書いたらいいのかどうしても分かりません。  開始  ↓ 処理:xxx  ↓  ・   ・  ・ フローチャートまではかけないと思うのでよければ分かる人教えてください

みんなの回答

  • cucsna
  • ベストアンサー率23% (12/51)
回答No.3

こんな風に考えましたけど、 適当なので、あまりアテにしないでくださいね。 (1)データを順位でソート  ↓ (2)以下の処理を繰り返す   何件目のデータなのか見る    →10件目までならそのまま表示    →11件目以降で、10位のデータと同じ値なら表示    →11件目以降で、10位のデータと異なるなら(3)へ (3)処理終了

全文を見る
すると、全ての回答が全文表示されます。
  • unibon
  • ベストアンサー率47% (160/340)
回答No.2

基本的にはただのループでしょう。 ループを中断する条件が複雑というだけの話だと思います。 フローチャートでは条件分岐のひし形の中だけに複雑な条件を書くことになります。 コードはつぎのような感じでしょう(正しいかどうかの検証はしていませんが)。 // 終了条件はない。 for (int i = 0; ; i++) { // 1から数えて11位かそれより下位の場合(0から数えて10位かそれより下位の場合)、 // 直前の値と違っていたらループを抜ける。 if (i >= 10 && x[i - 1] != x[i]) { break; } System.out.println("x[" + i + "] = " + x[i]); }

全文を見る
すると、全ての回答が全文表示されます。
noname#39970
noname#39970
回答No.1

そういう場合は大きな流れをまず作図する 開始→データ読込→データ解析→解析結果出力→終了 今回の場合は データ解析を別の流れ図として展開する データ解析:開始(引数:読込データ)→ソート→順位付け(順位割当用配列使用)→10位まで取り出し→データ解析:終了(返値:抽出済データ) これでも流れ図が完成しないようなら、更に個々の処理を展開して行く事で目的の流れ図にたどり着ける筈。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Cプログラミングの関数電卓のアルゴリズムについてですが、

    Cプログラミングの関数電卓のアルゴリズムについてですが、 標準入力からの文字列式を、トークンに区切り、先頭から配列型スタックに格納して、計算を行う処理を考えていて、 a-b-cという処理のアルゴリズムに困っています。 どういった解決策があるのか教えて頂けませんか?? お願いします!! フローチャートを書くほどの事でも無いと思うので、僕が考えていたアルゴリズムを、文で記載しますが、できれば、このアルゴリズムからどうすれば解決できるかを考えて頂けたらとても助かります!! 1. 別のスタックを用意して、元々のをstack1,コピー用をstack2とし、stack1のトップからstack2に格納。(スタックの構造は二次元文字型配列) この場合、cからstack2に格納される。 2. 演算子を見つけると、その前後の数字をその演算子によって処理。 この場合なら、c-bという処理。 3. 計算結果を、cが格納されていた、演算子の前に格納。 4.引き続き、この操作を繰り返す。 これを考えてたんですが、実行すると、(c-b)-aという式になり、違う答えが出てしまいます。加算ならば影響はでません。 きちんと(-c-b)+a の処理をさせるにはどうしたら良いかがわからないです。 お願いします!! ※返事が多少遅れるかもしれませんが、すみません!!

  • アルゴリズムの流れ図

    いつもお世話になってます。アルゴリズムの流れ図の中でいくつかどう処理されているのか分からない箇所がありますので、どなたか教えて頂きたいです。 (1)ループの中で、値が0とかマイナスになるときは増分にあたる所はやらないでいいのですか。 (2)入力文字(入力位置+2)→文字数と書いてあって、その後に文字数-1→文字数ってなっている時、入力文字(入力位置+2)が5(4)だったら文字数に入る値は何になりますか。またそのアルゴリズムの書いてある参考書の隣のページのアルゴリズムの様子が書いてあるのから察すると文字数=4みたいですが、じゃあなんで入力文字(入力位置+2)→文字数を入力位置+2→文字数にしないのですか。 (3)定義済み処理(サブルーチン)Xの中にまたサブルーチンXが入っているときはその値を持ってまた最初に戻ればいいんですか。アルゴリズムの様子の所に書いてある入口、出口とはなんですか。 以上1つでも構いませんので宜しくお願いします。

  • xsltでソート後に上位n件(例えばTOP10等)のみの要素を表示する事は可能でしょうか? 

    質問は、xsltでソート後に上位n件(例えばTOP10等)のみの要素を表示する事は可能でしょうか?  邦楽各曲の月間売り上げをまとめた表があり、この中で曲の要素が100個あったとします。 要素の中に何枚売れたかを示すデータがあって、これごとにソートをしてランキング形式で全件表示する事はできると思うのですが、上位10件を表示する、というような方法が見つからず困っています。 java等を用いるのであれば簡単なのですが、極力xsltでの変換を行いたいのです。 このような方法をどなたかご存知の方がいらっしゃいましたら、私的な質問で大変恐れ入りますがご教授頂ければと思っております。 宜しくお願い致します。

    • ベストアンサー
    • XML
  • Javaアルゴリズムで分からないことがあるので質問します。

    Javaアルゴリズムで分からないことがあるので質問します。 a,b,c,d,e,f,g これらの文字を各一回使ってできる文字列の、全てのパターンを一覧で表示したいのですが、なかなかうまくいきません。 出力結果は、下記のように全パターン出力するようなJavaプログラムなんですが。 ↓出力結果↓ abcdefgh abcdefhg abcdehfg ・・・・・・・・ hgfedacb hgfedcab hgfedcba ※自分ではとりあえずここまでできています。 public class Test {  public static void main(String[] args) {  String[] pattern = {"a","b","c","d","e","f","g","h"};   for(int i = 0; i <= pattern.length; i++){    System.out.print(pattern[i]);    if(i == pattern.length){   System.out.println("");    }   }  } } 宜しくお願いします。

  • 食べログの点数

    食べログにおける札幌のラーメン店の評価が異常に高いのは何故ですか? 上位100店全てが3.5を超えており、トップは頻繁に変わりますが、そのどれも客は体して入っておりません。 食べログは業者が介入しにくいアルゴリズムを採用しているのではなかったのか。

  • 基本情報平成4年春の問題

    基本情報平成4年春の問題で問題集の答えが、納得いきません。どなたかよったら 教えてください。 問題 リストヘの登録 次の流れ図中の(a)~(C)に適切な字句を補い,流れ図を完成せよ。 〔流れ図の説明〕 流れ図は,ファイルから数値データを読み込み,配列に格納するとともに,昇順にポイ ンタでつなぐ処理を表す。 (1)配列の要素は,データ領域(DATA)とポインタ領域(POlNTER)からなる。データ領域に は,数値データを読み込んだ順に格納する。ポインタ領域には,各数値データを昇順に 並べた場合,その数値データの直後にくるデータが格納されている配列要素番号を格納 する。1件の数値データをデータ領域に格納するたびに,対応するボインタ領域に値を 格納する。このとき,必要があればそれまでにセットしたポインタ領域の値を修正する。 (2)一番大きい値のデータが格納されている配 列要素のポインタ領域の値は,0にする。 一番小さい値のデータが格納されている配 列要素の要素番号を,変数MlNに格納する。 配列にデータが1件も格納されてし/ない場 合,変数MlNの値は0である。 (3)同じ値のデータが配列中に存在する場合、 先に格納されたデータほど小さい値とみなして処理を行う

  • Excel top10関数について

    現在,Excelでフィルタによるトップ10での抽出が出来なくて困っています. 添付しているデータのようなモノなのですが, このデータからA列の1でのトップ3と,A列の2でのトップ3,A列の3でのトップ3を 一度に抽出,出来る方法はないでしょうか? このままトップ10で上位3つを抽出してしまうと,1から3すべてのデータから上位3つを 抽出してしまい思った通りに出来ないのです. ひとつひとつ,やれば出来るのですがデータ列が大量にあり また,同じ処理をしなくてはならないファイルが山のようにあり どうにか出来ないか困っておりますl. どうか,よろしくお願いいたします.

  • 私のHPのgoogleの検索結果

    やっと登録されたようなのですが、 うまく登録になっていない?不安定な状況?なんか変なんです。 フレームページ、なし、ともにindex フレーム1はtitle、フレーム2はmenu、フレーム3はtop で作って、その中のページを例えば/a/、/b/、/c/、/d/とします。以下は検索上位順(1つ目がメインに表示)。 昨日、フレームなしindex、top、/a/の3件がヒットしたのですが、 その後、top、menu、title、/a/、/b/、/c/、/d/、フレームなしindexと8件ヒットしたのですが、 昨晩、top、/a/、/b/、フレームなしindexの4件に減り、 深夜に、top、/a/、/b/の3件になり、 今朝みたら、top、menu、title、/a/、/c/、フレームなしindexの6件まで戻り、 さっき見たら、top、menu、/a/の3件にまたなってしまいました。 今、見たら、top、menu、title、/a/、/b/の5件です。 こんなにコロコロ変わるものなのでしょうか? しかもメインのページがフレーム3のtopで表示されます(最上位)。 本当のメインがフレームなしindexなのに下位で表示されたり、なくなったりします。(現在はindexがヒットしません) どうしたらindexが再ヒットするようになり、最上位に表示されるようになりますか? ただ単に検索結果が不安定なだけなのでしょうか? でも、なんでindexが消えてしまったのでしょう? 他のホームページはindexがフレームでも、ちゃんとヒットし、最上位に表示されますよね?

  • アクセス解析でIPが多いのに検索ワードが少ない・・・

    gooアドバンスでアクセス解析をやっているのですが、だいたい毎日50IPくらいあるので50人くらい見てくれていると思うのですが、検索ワード上位20位が表示されるというのに8件くらいしか表示されません。しかも、すべて1件ずつなのでとうてい50件には及ばないです。さらに、アクセス元URLも上位20件があるのですがそれを足しても25件くらいしかなくてほとんど1です。 これってどういうことでしょうか??

  • プログラミング(流れ図とコーディング)の問題です。

    プログラミング(流れ図とコーディング)の問題です。 1 スキー大会データ(選手番号、氏名、1回目タイム、2回目タイム)を読み、大会成績表を表示する。   処理条件 I タイムは3分以内で1分25秒の場合「125」と記録されている。 II 2回目の合計タイムを計算し、合計タイムの短い順に順位をつけ、タイム順に並び変えをして表示する。(表示するのは選手番号、氏名、合計タイム) III 1回目または2回目のタイムが0の場合は失格とし、表示しない。 * 生徒番号の最大は100です。 2 社員マスターファイルを変更データファイルによって更新し、新社員マスターファイルを作成する。  処理条件 I 社員マスターファイルおよび新社員マスターファイルの内容 社員番号 氏名 所属部署 勤務場所 住所 II 変更データファイルの内容 社員番号 変更コード 氏名 所属部署 勤務場所 住所 III 変更コードは次のとおり 1:変更 マスターファイルを変更データの内容に書き換える 2:退職 新マスターファイルには書き込まない 3:新規採用 変更データの内容を新マスターファイルに新たに書き込む IV 社員マスターファイル・変更データファイルともに社員番号の昇順に整列済み V 変更データファイルはある(1件のみ)場合も、ない場合もある。 この二つ、すべてVBA(ビジュアルベーシック)で出来るそうです。     至急お願いいたします! よろしくお願いいたします。