Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.11.2012, 20:57   #1
GoodNight
Пользователь
 
Регистрация: 12.10.2012
Сообщений: 43
По умолчанию Пузырьковый алгоритм. Ошибки

Цитата:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace LabRab4
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{

int[] nums = { 99, -10, 100123, 18, -978, 5623, 463, -9, 287, 49 };
int a, b, t;
int size;
size = 10; //Количество элементов массива.

//Отображение значений элементов первоначального массива.
textBox2.Text = "";
textBox3.Text = "";
int n = Convert.ToInt32(textBox1.Text);
for (int i = 0; i < size; i++)



//Это код пузырькового алгоритма сортировки.
for (a = 1; a < size; a++)
for (b = size - 1; b >= a; b++)
if (nums[b - 1] > nums[b]) //Если значение предыдущего элемента больше значения последуещего элемента, то они меняются местами.
t = nums[b - 1];
nums[b - 1] = nums[b];
nums[b] = t;

//Отображение значений элементов отсортированного массива.

for (int i = 0; i < size; i++) ;
textBox2.Text = textBox2.Text + Convert.ToString(nums[i]) + " ";



}
}
}
Выдает ошибку: Элемент "i" не существует в текущем контексте.
GoodNight вне форума Ответить с цитированием
Старый 30.11.2012, 21:35   #2
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Конечно не существует, вы после for ( int i = 0 ; i < size; i++ ) поставили точку с запятой, то есть тело цикла пустое.
_-Re@l-_ вне форума Ответить с цитированием
Старый 30.11.2012, 21:46   #3
GoodNight
Пользователь
 
Регистрация: 12.10.2012
Сообщений: 43
По умолчанию

Цитата:
Сообщение от _-Re@l-_ Посмотреть сообщение
Конечно не существует, вы после for ( int i = 0 ; i < size; i++ ) поставили точку с запятой, то есть тело цикла пустое.
Спасибо! Снова ошибки: Использование локальной переменной "t", которой не присвоено значение и Использование локальной переменной "b", которой не присвоено значение.
GoodNight вне форума Ответить с цитированием
Старый 30.11.2012, 21:55   #4
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Видимо, должно быть так?

Код:
if (nums[b - 1] > nums[b]) {
  t = nums[b - 1]; 
  nums[b - 1] = nums[b];
  nums[b] = t;
}
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Игра - викторина. Ошибки, ошибки, ошибки!.. three_cats Общие вопросы C/C++ 1 27.10.2012 21:47
Нейронные сети. Алгоритм обратного распространения ошибки ivan9095 Общие вопросы C/C++ 0 15.05.2012 15:08
Пузырьковый метод сортировки массивов Lunex.08 Общие вопросы C/C++ 4 07.10.2010 16:00
pascal пузырьковый метод world12_tk Помощь студентам 4 10.06.2009 01:03