私はC#開発が初めてです。私は、次のシーケンス1,1,1,3,5,9とボタンを示すフォーム上のラベルを持っています。ボタンをクリックすると、ラベルに数字のシーケンスを追加します。例: 上記のシーケンスが1 + 1 + 1 = 3,3 + 1 + 1 = 5,5 + 3 + 1 = 9の仕組みを知っているので、シーケンスに追加する前の3つの数値を計算します。 私が達成しようとしているのは、次の数字を表示する必要があるたびにボタンがクリックされたときです:9の後に、3 + 5 + 9 = 17のように17になります。クリックするたびにあなたのヘルプが高く評価されます。C#Windowsフォームアルゴリズムの計算
0
A
答えて
2
あなたが探しているアルゴリズムは、ラベルに使用されるint
を含むようにList<int>
を作成すると思います。
List<int> numbers = new List<int>();
ので、同じよう次にあなたがリストに.Add
に最初の6つの開始番号をしようとしている:ユーザーがボタンをクリック
numbers.Add(1);
numbers.Add(1);
numbers.Add(1);
numbers.Add(3);
numbers.Add(5);
numbers.Add(9);
たら、また結果を持って、元のラベルのテキスト情報を変更しますList<int>
内の最後の3つの要素をint
に追加します。
int x = numbers[numbers.Count - 1]; //Last number/element in List
int y = numbers[numbers.Count - 2]; //Second to last
int z = numbers[numbers.Count - 3]; //Third to last
int result = x + y + z; //sum of last number plus second to last number plus third to last number
が
が.Add
への終わりに最後の三つの要素を加算した結果を忘れてはいけない:
この
は、以下の方法でList<int>
の長さ/サイズを取得するために
.Count
を使用して行うことができます
List<int>
。
numbers.Add(result);
あなたは結果を追加した後、あなたは次のように文字列の結合にラベルの.Text
値を設定することができます。
numbersLabel.Text = string.Join(", ", numbers);
ボタンを含むクラスのサンプルデモは、このアルゴリズムを実現するラベルは以下の通りです。ラベルに
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApp1
{
public partial class LabelAlgorithm : Form
{
public List<int> numbers = new List<int>();
public LabelAlgorithm()
{
numbers.Add(1);
numbers.Add(1);
numbers.Add(1);
numbers.Add(3);
numbers.Add(5);
numbers.Add(9);
InitializeComponent();
numbersLabel.Text = string.Join(", ", numbers);
}
private void SubmissionButton_Click(object sender, EventArgs e)
{
int x = numbers[numbers.Count - 1];
int y = numbers[numbers.Count - 2];
int z = numbers[numbers.Count - 3];
int result = x + y + z;
numbers.Add(result);
numbersLabel.Text = string.Join(", ", numbers);
}
}
}
出力:
1, 3, 5, 9, 17, 31, 57, 105, 193, 355, 653, 1201, 2209, 4063...
+1
ありがとうございます。 – Sarah
関連する問題
- 1. Windowsフォームアプリケーションの計算エラー?
- 2. C#コードエラー(計算)
- 3. C#グレード計算機
- 4. C#math.powキューブルート計算
- 5. C++の16進数計算の乗算
- 6. 演算子のないC++計算機
- 7. 計算の精度C++ Cplex
- 8. ASP.NET MVC(C#)のバックグラウンド計算
- 9. Cの数値計算ライブラリ
- 10. C#の計算方法
- 11. C++でのシンボリック計算
- 12. C#char計算の問題
- 13. C++の有効計算
- 14. C#Windowsフォームアプリケーションの設計
- 15. Windows Phoneの速度を計算する
- 16. C#での日時の計算を計算する
- 17. C++で合計を計算する
- 18. 自動車ローン計算(C++)
- 19. C#NTLMハッシュ計算機
- 20. ガスパーティクルシミュレーション衝突計算C++
- 21. C++/Qt - 計算時間
- 22. C#で計算する
- 23. c#クレジット決済計算機
- 24. C++低速ループ計算
- 25. Windows Azure for PHP:エミュレータエラーを計算する
- 26. Cでのラムダ計算:ブール演算子とNOT演算子
- 27. パンダシフト計算の計算
- 28. C#のUdpClient.Send()データグラムのバイト数の計算
- 29. Cのポアソン分布の計算
- 30. Cプリプロセッサでの8ビットCRCの計算?
それはあなたがこれまで行ってきたどのくらいかを決定することは非常に困難です。あなたは、既存の数字のリストを取り、新しいものが何であるべきかを計算する関数を持っていますか?その配列をラベルに表示できる文字列に変換する方法を知っていますか?ボタンのクリックハンドラで利用できるように、数字のリストをどこに保存するか知っていますか? –
あなたのアルゴリズムが一連の数字を見て、そのパターンが何であるか把握したいと言っていますか?または、パターンは常に同じですか? –
@Dylanいいえ私には何の機能もありません。私はそれがボタンクリックイベントの後ろに行くことを知っています。 1,1,1,3,5,9がラベルに追加されました。次の数値を計算するアルゴリズムを追加する方法が不明です。 – Sarah