|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.05.2010, 15:45 | #1 |
Регистрация: 24.12.2009
Сообщений: 8
|
Ряды Фибоначчи
Ребята помогите пожалуйста!!!! СРОЧНО!!! Написала программку, но вот не пойму, где ошибка, в вожу n=10, а в форме пишет 20 цифр, и повторяет.. Выложу всю программку, чтобы было понятно!!! Заранее большое спасибо!!
namespace Ряд_Фибоначчи { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { } public string t; int n; public bool Err() { bool error = false; int tmp1, tmp2, tmp3; try { tmp1 = Convert.ToInt32(textBox1.Text); tmp2 = Convert.ToInt32(textBox3.Text); tmp3 = Convert.ToInt32(textBox4.Text); } catch (System.ArgumentNullException) { MessageBox.Show("Не введено число", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); error = true; } catch (System.FormatException) { MessageBox.Show("Произошла ошибка. Причиной может быть не правильно введенное число в поле", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); error = true; } catch (System.OverflowException) { MessageBox.Show("Переполнение. Введите число поменьше", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); error = true; } if (!error) { tmp1 = Convert.ToInt32(textBox1.Text); tmp2 = Convert.ToInt32(textBox3.Text); tmp3 = Convert.ToInt32(textBox4.Text); if (tmp1 > 200) { MessageBox.Show("N должно быть не больше 200. Присваеваем 200"); textBox1.Text = "200"; } if (tmp2 > 20) { MessageBox.Show("P должно быть не больше 20. Присваеваем 20"); textBox3.Text = "20"; } if (tmp3 > 30) { MessageBox.Show("Размер матрицы должен быть не больше 30. Присваеваем 30"); textBox4.Text = "30"; } return false; } else return true; } private void button1_Click_1(object sender, EventArgs e) { int fib = 1, fib1 = 1, fib2 = 2;// вводим пременные textBox2.Text = ""; textBox2.Text += fib.ToString() + " "; textBox2.Text += fib1.ToString() + " "; textBox2.Text += fib2.ToString() + " "; for (int i = 1; i < n - 2; i++) { fib = fib2; fib2 = fib1 + fib2; fib1 = fib; textBox2.Text += fib2.ToString() + " "; } } private void button2_Click(object sender, EventArgs e) { if (!Err()) { int n = Convert.ToInt32(textBox1.Text); int p = Convert.ToInt32(textBox3.Text); if (n <= p + 1) { textBox1.Text = textBox3.Text = ""; MessageBox.Show("Попробуй прочитать условие внимательнее и введи параметры снова!"); } else { int[] a = new int[n]; //t = " "; int i = 0; for (; i <= p; i++) a[i] = 1; for (; i < n; i++) { a[i] = a[i - 1] + a[i - 1 - p]; } for (i = 0; i < n; i++) textBox2.Text += a[i].ToString() + " "; int k = 0; k = Convert.ToInt32(textBox3.Text); for (; i <= p; i++) a[i] = -1; for (; i < n; i++) { a[i] = a[i - 1] + a[i - 1 - p]; } for (i = 0; i < n; i++) textBox2.Text += a[i].ToString() + " "; } } } |
21.05.2010, 19:49 | #2 |
Форумчанин
Регистрация: 04.05.2010
Сообщений: 495
|
Что должна делать эта программа? Условия задачи скажи.
Что такое N,P ? И на чем это написано. Среда какая?
Нажми на весы, поставь +
Для благодарностей : WebMoney WMR R252732729948 |
21.05.2010, 20:05 | #3 | |
Регистрация: 24.12.2009
Сообщений: 8
|
Цитата:
написана в С# , n-числовая последовательность(0,1,1,2,3,5,8,13 ,21 и т.д.) тоесть сумма двух предыдущих цифр, мы задаем какое кол-во чисел будет выведено, р-обобщенное число фибоначчи задается формулой F(n)=(n-1)+(n-1-p).. я эту программку создала в Form и все последовательности должны выводиться в textBox, я ввожу например n=10, выводятся вся последовательность, но проблема в том что за место 10 чисел, выводится 20, тоесть повторяется эта же последовательность..Мозгов уже не хватае найти эту ошибку..(( |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Delphi ряды | tanek | Помощь студентам | 2 | 27.09.2009 04:38 |
Ряды в диаграмме | maxic | Microsoft Office Excel | 5 | 26.05.2009 14:44 |
Ряды тейлора | STS_1991 | Помощь студентам | 2 | 12.05.2009 15:52 |
pascal ряды | world12_tk | Помощь студентам | 1 | 03.05.2009 11:48 |