Harigami
ログイン
Harigamiは、ログイン不要のコード共有サービスです。コードの投稿後に発行されるURLでコードを共有できます。
PythonやRubyなど一部の言語は、投稿後にオンラインで実行することもできます。
誰でも無料で使えて、広告もありません。コードレビューやスニペットの代わりに使ってみてください。


詳細設定
+
anonymous タイトルなし
C
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int Amax(int *p,int size){
   int _max = 0;
   for(int i = 0;i < size;i++)
      if(p[i] > _max)_max = p[i];
   return _max;
}

int main(){
   int n;scanf("%d",&n);
   char paper[200000][11];for(int i = 0;i < n;i++)scanf("%s",paper[i]);
   char tmp[11];
   int count[200000] ={0};
   int pointer;
   for(int i=1;i<n;i++){
      for(int j=1;j<n;j++){
         if(strcmp(paper[j-1], paper[j])>0){
            strcpy(tmp, paper[j-1]);
            strcpy(paper[j-1], paper[j]);
            strcpy(paper[j], tmp);
         }
      }
   }
   pointer = 0;
   for(int i = 0;i < n-1;i++){
      if (!(strcmp(paper[i],paper[i+1]))){
         count[pointer]++;
      }else {
         pointer = i+1;
      }
   }
   /*for(int i = 0;i < n;i++){
      printf("%d\n",count[i]);
      printf("%s\n",paper[i]);
   }*/

   int x = Amax(count,n);
   for(int i = 0;i < n;i++){
      if(count[i] == x)printf("%s\n",paper[i]);
   }
}
  • 0
  • 1
anonymous ReactTutorial_main3.jsx
JavaScript
let Square = props => {
  return (
    <button className="square" onClick={() => props.onClick()}>
      {props.value}
    </button>
  );
};

// ==============================================

class Board extends React.Component {
  // 9_2.GameComponentにリフトアップしたので削除
  // constructor(props) {
  //   super(props);
  //   this.state = {
  //     squares: Array(9).fill(null),
  //     xIsNext: true
  //   };
  // }

  // 11_1.StateがなくなったのでhandleClickはGameComponentへリフトアップ
  // handleClick(i) {
  //   const squares = this.state.squares.slice();
  //   if(calculateWinner(squares)||squares[i]){return;}

  //   squares[i] = this.state.xIsNext ? "X" : "O";

  //   this.setState({
  //     squares: squares,
  //     xIsNext: !this.state.xIsNext
  //   });
  // }

  renderSquare(i) {
    return (
      <Square
        // 9_3.Stateからではなく,<Squares/>の属性で渡されたpropsから受け取る(現状,属性が属性になってるよー
        // value={this.state.squares[i]}
        value={this.props.squares[i]}
        // onClick={() => this.handleClick(i)}
        // 受け取る名前だからonClick
        onClick={() => this.props.onClick(i)}
      />
    );
  }

  render() {
    // 10_2.GameComponentにリフトアップするので,削除
    // const winner = calculateWinner(this.state.squares);
    // let status;
    // if(winner){
    //   status = "winner: " + winner;
    // }else{
    //   status = "Next player: " + (this.state.xIsNext ? "Player1" : "Player2");
    // }

    return (
      <div>
        {/* 10_4.GameComponentで表示するので削除 */}
        {/* <div className="status">{status}</div> */}
        <div className="board-row">
          {this.renderSquare(0)}
          {this.renderSquare(1)}
          {this.renderSquare(2)}
        </div>
        <div className="board-row">
          {this.renderSquare(3)}
          {this.renderSquare(4)}
          {this.renderSquare(5)}
        </div>
        <div className="board-row">
          {this.renderSquare(6)}
          {this.renderSquare(7)}
          {this.renderSquare(8)}
        </div>
      </div>
    );
  }
}

// 9_1.最上位のGameComponentのStateで履歴を管理します
// BoardComponentのStateをこちらにリフトアップしましょう
class Game extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      // historyの中にsquaresの履歴を保存する
      history: [
        {
          squares: Array(9).fill(null)
        }
      ],
      xIsNext: true,
      // 12_3.今何手目を表すStateを作成
      stepNumber: 0,
    };
  }
// 11_2.リフトアップしたこの関数を編集
  handleClick(i) {
    // const history = this.state.history;
    // 12_5.最初からstepNumberまでの配列を代入するようにします
    const history = this.state.history.slice(0, this.state.stepNumber + 1);
    // 一個前のデータを入れる変数を作る
    const current = history[history.length - 1];
    // データを複製し,
    const squares = current.squares.slice();
    if (calculateWinner(squares) || squares[i]) {
      return;
    }

    squares[i] = this.state.xIsNext ? "X" : "O";
    this.setState({
      // historyに複製を追加するconcatメソッド
      history: history.concat([
        {
          squares: squares
        }
      ]),
      xIsNext: !this.state.xIsNext,
      // 12_6.stepNumberを書き換えましょう
      stepNumber: history.length,
    });
  }

  // 12_4.jumpTo関数を作りましょう
  jumpTo(step){
    this.setState({
      // stepNumberを引数(move)に書き換えます
      stepNumber: step,
      // 引数(move)が偶数ならxIsNextをtrueにします
      xIsNext: (step % 2) === 0,
    })
  }

  render() {
    // 10_1.様々な値が,BoardComponentに渡されるようにしましょう
    // historyに現在のsquaresの状態を代入
    const history = this.state.history;
    // historyの後ろから2番目を変数に代入
    // const current = history[history.length - 1];
    // 12_7.手数から1つ前のデータ番号を取得するようにしましょう
    const current = history[this.state.stepNumber];
    // 1個前のsquaresで勝者を判定する
    const winner = calculateWinner(current.squares);

    // 12_1.過去データの表示コードを追加
const moves = history.map((step, move) => {
      // moveがtrueかどうかでdescに代入する値が変わる
      const desc = move ?
        'Go to move #' + move :
        'Go to game start';
      return (

        // <li>
        // 理解が困難だったが,変更のためには親子間で一意性のあるkeyが必要ってか重要?みたい
        <li key = {move}>
        {/* moveを引数としたjumpTo関数をクリックイベントにするボタンを返す */}
          <button onClick={() => this.jumpTo(move)}>{desc}</button>
        </li>
      );
    });

    // 10_2.BoardComponentからリフトアップ
    let status;
    if (winner) {
      status = "winner: " + winner;
    } else {
      status = "Next player: " + (this.state.xIsNext ? "Player1" : "Player2");
    }

    return (
      <div className="game">
        <div className="game-board">
          {/* 10_3.BoardComponentに渡されるように,属性を設定 */}
          <Board squares={current.squares} onClick={(i) => this.handleClick(i)} />
        </div>
        <div className="game-info">
          {/* 10_4.statusはここで表示 */}
          <div>{status}</div>
          {/* 12_2.作成した履歴ボタンを配置 */}
          <ol>{moves}</ol>
        </div>
      </div>
    );
  }
}

// ========================================

function calculateWinner(squares) {
  const lines = [
    [0, 1, 2],
    [3, 4, 5],
    [6, 7, 8],
    [0, 3, 6],
    [1, 4, 7],
    [2, 5, 8],
    [0, 4, 8],
    [2, 4, 6]
  ];
  for (let i = 0; i < lines.length; i++) {
    const [a, b, c] = lines[i];
    if (squares[a] && squares[a] === squares[b] && squares[a] === squares[c]) {
      return squares[a];
    }
  }
  return null;
}

ReactDOM.render(<Game />, document.getElementById("root"));
  • 0
  • 0
anonymous ReactTutorial_main2.jsx
JavaScript
// class Square extends React.Component {
//   constructor(props) {
//     super(props);
//     // 初期値はnull
//     this.state = {
//       value: null
//     };
//   }
//   render() {
// 6_1.クラスコンポーネントである必要がなくなったので,関数コンポーネントに置き換えます
let Square = props => { // controlled component by Board
  return (
    <button
      className="square"
      // onClick={() => this.props.onClick()}
      // 6_2.クラスコンポーネントでなくなったのでthisを削除
      onClick={() => props.onClick()}
    >
      {/* 6_2.クラスコンポーネントでなくなったのでthisを削除 */}
      {/* {this.props.value} */}
      {props.value}
    </button>
  );
};
// }

// ==============================================

class Board extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      squares: Array(9).fill(null),
      // 7_1.プレイヤーの状態(Player1 or Player2)を決める変数を設定(真偽値で)Xが先行の設定
      xIsNext: true // 次はXの番かどうか"はい"なので初期値はtrueで
    };
  }

  handleClick(i) {
    const squares = this.state.squares.slice(); // .slice()メソッドなくてもできたが...<=配列のコピーを作ることが重要?
    // 8_4.決着がついてる場合は,returnを返し,操作不能にする
    if(calculateWinner(squares)||squares[i]){return;}

    // squares[i] = "X";
    // 7_2.xIsNextの真偽値によって"X"か"O"をつけるように書き換え
    squares[i] = this.state.xIsNext ? "X" : "O"; // if文の省略ね

    this.setState({
      squares: squares,
      // 7_3.xIsNextの真偽値を入れ替えの更新を追加
      xIsNext: !this.state.xIsNext
    });
  }

  renderSquare(i) {
    return (
      <Square
        value={this.state.squares[i]}
        onClick={() => this.handleClick(i)}
      />
    );
  }

  render() {
    // 8_2.勝者を計算する関数を,引数と結びつけてセットする
    const winner = calculateWinner(this.state.squares);

    // const status = "Next player: X";
    // 7_4.次のPlayerがどちらかを表示する(Player1はX,Player2はO)
    // const status = "Next player: " + (this.state.xIsNext ? "Player1" : "Player2");
    // 8_3.勝者を表示する変数に書き換える
    let status;
    if(winner){
      status = "winner: " + winner;
    }else{
      status = "Next player: " + (this.state.xIsNext ? "Player1" : "Player2");
    }

    return (
      <div>
        <div className="status">{status}</div>
        <div className="board-row">
          {this.renderSquare(0)}
          {this.renderSquare(1)}
          {this.renderSquare(2)}
        </div>
        <div className="board-row">
          {this.renderSquare(3)}
          {this.renderSquare(4)}
          {this.renderSquare(5)}
        </div>
        <div className="board-row">
          {this.renderSquare(6)}
          {this.renderSquare(7)}
          {this.renderSquare(8)}
        </div>
      </div>
    );
  }
}

class Game extends React.Component {
  render() {
    return (
      <div className="game">
        <div className="game-board">
          <Board />
        </div>
        <div className="game-info">
          <div>{/* status */}</div>
          <ol>{/* TODO */}</ol>
        </div>
      </div>
    );
  }
}

// ========================================

// 8_1.勝者の判定をする関数を作成
function calculateWinner(squares) {
  const lines = [
    // 横一列
    [0, 1, 2],
    [3, 4, 5],
    [6, 7, 8],
    // 縦一列
    [0, 3, 6],
    [1, 4, 7],
    [2, 5, 8],
    // 斜め一列
    [0, 4, 8],
    [2, 4, 6],
  ];
  for (let i = 0; i < lines.length; i++) {
    const [a, b, c] = lines[i];
    // i=0のとき,[a, b, c] = [0, 1, 2]
    if (squares[a] && squares[a] === squares[b] && squares[a] === squares[c]) {
      return squares[a];
    }
  }
  return null;
}


ReactDOM.render(<Game />, document.getElementById("root"));
  • 0
  • 0
anonymous ReactTutorial_main1.jsx
JavaScript
class Square extends React.Component { // controlled component by Board
  // 2_2.Stateを作成・管理する
  constructor(props) {
    super(props);
    // 初期値はnull
    this.state = {
      value: null
    };
  }
  render() {
    return (
      // 2_1.クリックイベントをつける onClick要素が関数であることに注意
      // 3_1.クリックイベントをstateの更新にする
      // 5_3.複数になるので,改行を入れます
      <button
        className="square"
        // onClick={() => this.setState({ value: "X" })}
        // 5_3.BoardクラスからonClickアクションを取得するコードに変更
        onClick={() => this.props.onClick()}
      >
        {/* 1_2.props内のvalue属性を受け取る */}
        {/* {this.props.value} */}
        {/* 3_2.上記をコメントにし,更新されたstateの値を表示 */}
        {/* {this.state.value} */}
        {/* 5_3.このクラスのStateはではなくBoardクラスのStateを受け取って使用するので書き換え */}
        {this.props.value}
      </button>
    );
  }
}

// ========================================================================

class Board extends React.Component {
  // 4_1.ゲームを作るにあたって,このクラスにStateを管理させましょう
  constructor(props) {
    super(props);
    this.state = {
      // 4_2.9個のnullを用意します
      // 9つの要素の配列を作って,そこの全てにnull入れます
      squares: Array(9).fill(null)
    };
  }

  // 5_2.クリックアクションhandleClickを定義 Immutability形式
  handleClick(i) {
    // 配列型.slice()メソッドでStateの中身を配列に並べて,<=これいる?<=StateはsetState関数でしか更新できないので,これが最もシンプルで良い
    const squares = this.state.squares.slice(); // .slice()メソッドなくてもできたが...<=配列のコピーを作ることが重要?
    // i番目をXにします
    squares[i] = "X";
    // Stateを更新しましょう
    this.setState({ squares: squares });
  }
  
  renderSquare(i) {
    // 1_1.Componentに属性を渡す
    // return <Square value={i}/>;
    // 4_3.属性を変更します その番目のsquaresの値(0 or X or null)を受け取るようにする
    // return <Square value={this.state.squares[i]} />;
    // 5_1.クリックアクションhandleClickを追加
    // return要素を複数にするので,()でくくります.カッコの最後に;をつけましょう
    return (
      <Square
        value={this.state.squares[i]}
        onClick={() => this.handleClick(i)}
      />
    );
  }

  render() {
    const status = "Next player: X";

    return (
      <div>
        <div className="status">{status}</div>
        <div className="board-row">
          {this.renderSquare(0)}
          {this.renderSquare(1)}
          {this.renderSquare(2)}
        </div>
        <div className="board-row">
          {this.renderSquare(3)}
          {this.renderSquare(4)}
          {this.renderSquare(5)}
        </div>
        <div className="board-row">
          {this.renderSquare(6)}
          {this.renderSquare(7)}
          {this.renderSquare(8)}
        </div>
      </div>
    );
  }
}

class Game extends React.Component {
  render() {
    return (
      <div className="game">
        <div className="game-board">
          <Board />
        </div>
        <div className="game-info">
          <div>{/* status */}</div>
          <ol>{/* TODO */}</ol>
        </div>
      </div>
    );
  }
}

// ========================================

ReactDOM.render(<Game />, document.getElementById("root"));
  • 0
  • 0
anonymous タイトルなし
Python
どうもこんいちは
  • 0
  • 0
anonymous タイトルなし
Python
print('Hello World')
  • 0
  • 0
anonymous タイトルなし
Python
  • 0
  • 0
anonymous タイトルなし
PHP
<?php
if(isset($_COOKIE['name'])){
$fp=fopen('user.csv',"r");
while ($val = fgets($fp)){
  $val = explode(',' , $val);
  $list_name[]=$val[2];
}
fclose($fp);


$name='';
 for($i=0; $i <count($list_name) ; $i++) {
  if(isset($_COOKIE['name'])){
    if($list_id[$i] ==$_COOKIE['name']){
        $name=$list_name[$i];
      }
        $text='ようこそ'.$name.'さん';
     }else{
      $text='セットされてません';
    }
  }
}else{

$text='ログインしてください';

}
?>
<!doctype html>

<html lang="ja">
<head>
<meta charset="UTF-8">
<title>form</title>
<link rel="stylesheet" type="text/css" href="css/css.css">

</head>

<body>

<p><?php echo $text; ?></p>

<form action="login.php" method="post">

<?php if(isset($_COOKIE['name'])){?>
  <input type="submit" name='back' value="削除">
<?php}?>
</form>

</body>
</html>
  • 0
  • 1
anonymous タイトルなし
Python
ああああ
  • 0
  • 0
anonymous タイトルなし
JavaScript
{
  "hint": "",
  "result": {
    "total": 29,
    "limit": 10,
    "ciao_accept_pub_date": [
      {
        "id": "C6488261",
        "accept_pub_s_dt": "2020\/01\/24 17:00:00",
        "accept_pub_f_dt": "2020\/03\/27 23:59:00"
      },
      {
        "id": "C6488262",
        "accept_pub_s_dt": "2020\/01\/24 17:00:00",
        "accept_pub_f_dt": "2020\/03\/27 23:59:00"
      },
      {
        "id": "C6488267",
        "accept_pub_s_dt": "2020\/01\/24 17:00:00",
        "accept_pub_f_dt": "2020\/03\/27 23:59:00"
      },
      {
        "id": "C6488265",
        "accept_pub_s_dt": "2020\/01\/24 17:00:00",
        "accept_pub_f_dt": "2020\/03\/27 23:59:00"
      },
      {
        "id": "C6488269",
        "accept_pub_s_dt": "2020\/01\/24 17:00:00",
        "accept_pub_f_dt": "2020\/03\/27 23:59:00"
      },
      {
        "id": "C6488263",
        "accept_pub_s_dt": "2020\/01\/24 17:00:00",
        "accept_pub_f_dt": "2020\/03\/27 23:59:00"
      },
      {
        "id": "C6488266",
        "accept_pub_s_dt": "2020\/01\/24 17:00:00",
        "accept_pub_f_dt": "2020\/03\/27 23:59:00"
      },
      {
        "id": "C6488264",
        "accept_pub_s_dt": "2020\/01\/24 17:00:00",
        "accept_pub_f_dt": "2020\/03\/27 23:59:00"
      },
      {
        "id": "C6488268",
        "accept_pub_s_dt": "2020\/01\/24 17:00:00",
        "accept_pub_f_dt": "2020\/03\/27 23:59:00"
      },
      {
        "id": "C6488271",
        "accept_pub_s_dt": "2020\/01\/24 17:00:00",
        "accept_pub_f_dt": "2020\/03\/27 23:59:00"
      }
    ],
    "ciao_area_country": [
      {
        "id": "C6488261",
        "area": "HGS",
        "area_name": "\u30cf\u30ef\u30a4\u30fb\u30b0\u30a2\u30e0\u30fb\u30b5\u30a4\u30d1\u30f3",
        "country": "GUM",
        "country_name": "\u30b0\u30a2\u30e0",
        "city": "GUM",
        "city_name": "\u30b0\u30a2\u30e0"
      },
      {
        "id": "C6488262",
        "area": "HGS",
        "area_name": "\u30cf\u30ef\u30a4\u30fb\u30b0\u30a2\u30e0\u30fb\u30b5\u30a4\u30d1\u30f3",
        "country": "GUM",
        "country_name": "\u30b0\u30a2\u30e0",
        "city": "GUM",
        "city_name": "\u30b0\u30a2\u30e0"
      },
      {
        "id": "C6488267",
        "area": "HGS",
        "area_name": "\u30cf\u30ef\u30a4\u30fb\u30b0\u30a2\u30e0\u30fb\u30b5\u30a4\u30d1\u30f3",
        "country": "GUM",
        "country_name": "\u30b0\u30a2\u30e0",
        "city": "GUM",
        "city_name": "\u30b0\u30a2\u30e0"
      },
      {
        "id": "C6488265",
        "area": "HGS",
        "area_name": "\u30cf\u30ef\u30a4\u30fb\u30b0\u30a2\u30e0\u30fb\u30b5\u30a4\u30d1\u30f3",
        "country": "GUM",
        "country_name": "\u30b0\u30a2\u30e0",
        "city": "GUM",
        "city_name": "\u30b0\u30a2\u30e0"
      },
      {
        "id": "C6488269",
        "area": "HGS",
        "area_name": "\u30cf\u30ef\u30a4\u30fb\u30b0\u30a2\u30e0\u30fb\u30b5\u30a4\u30d1\u30f3",
        "country": "GUM",
        "country_name": "\u30b0\u30a2\u30e0",
        "city": "GUM",
        "city_name": "\u30b0\u30a2\u30e0"
      },
      {
        "id": "C6488263",
        "area": "HGS",
        "area_name": "\u30cf\u30ef\u30a4\u30fb\u30b0\u30a2\u30e0\u30fb\u30b5\u30a4\u30d1\u30f3",
        "country": "GUM",
        "country_name": "\u30b0\u30a2\u30e0",
        "city": "GUM",
        "city_name": "\u30b0\u30a2\u30e0"
      },
      {
        "id": "C6488266",
        "area": "HGS",
        "area_name": "\u30cf\u30ef\u30a4\u30fb\u30b0\u30a2\u30e0\u30fb\u30b5\u30a4\u30d1\u30f3",
        "country": "GUM",
        "country_name": "\u30b0\u30a2\u30e0",
        "city": "GUM",
        "city_name": "\u30b0\u30a2\u30e0"
      },
      {
        "id": "C6488264",
        "area": "HGS",
        "area_name": "\u30cf\u30ef\u30a4\u30fb\u30b0\u30a2\u30e0\u30fb\u30b5\u30a4\u30d1\u30f3",
        "country": "GUM",
        "country_name": "\u30b0\u30a2\u30e0",
        "city": "GUM",
        "city_name": "\u30b0\u30a2\u30e0"
      },
      {
        "id": "C6488268",
        "area": "HGS",
        "area_name": "\u30cf\u30ef\u30a4\u30fb\u30b0\u30a2\u30e0\u30fb\u30b5\u30a4\u30d1\u30f3",
        "country": "GUM",
        "country_name": "\u30b0\u30a2\u30e0",
        "city": "GUM",
        "city_name": "\u30b0\u30a2\u30e0"
      },
      {
        "id": "C6488271",
        "area": "HGS",
        "area_name": "\u30cf\u30ef\u30a4\u30fb\u30b0\u30a2\u30e0\u30fb\u30b5\u30a4\u30d1\u30f3",
        "country": "GUM",
        "country_name": "\u30b0\u30a2\u30e0",
        "city": "GUM",
        "city_name": "\u30b0\u30a2\u30e0"
      }
    ],
    "data": ["<!-- productItem -->...(省略)"]
  }
}
  • 0
  • 1