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

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

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.07.2013, 13:38   #1
slavkan777
 
Аватар для slavkan777
 
Регистрация: 05.07.2013
Сообщений: 1
По умолчанию Не могу вывести диапазон в массиве

Есть задание: В программу нужно ввести массив A, целых чисел. Далее ввести целое число B и C. С генерировать массив Y, из элементов массива A , которые соответствуют условию, где элемент массива А больше B и меньше С. Вывести массив значений.
Реализовал: ввод значений, конвертацию массива с string[] в int[], сортировку по упорядочиванию, вот не могу реализовать сам выбор с упорядочивания массива по диапазону от B до C. Если не трудно, подскажите.

Вот код, что написал:
//зарание прошу извенения за гавнокод))) только учусь)))


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Task5
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Введите массив целых чисел через запятую");
string strArrayA = Console.ReadLine();
Console.WriteLine("Введите цело число B");
int valueB = Convert.ToInt32(Console.ReadLine()) ;
Console.WriteLine("Введите целое число C");
int valueC = Convert.ToInt32(Console.ReadLine()) ;
SortArray instanceArrayA = new SortArray();
int[] notSortArrayA = instanceArrayA.InitializationArrayA (strArrayA);
int[] sortArrayA = instanceArrayA.trueSortArray(notSor tArrayA);
int[] ArrayY = instanceArrayA.SortArrayMethod(sort ArrayA, valueB, valueC);
}
}

class SortArray
{
private int[] ArrayInt;

public int[] InitializationArrayA(string ArrayA)
{
string[] sortArray = ArrayA.Split(',');
ArrayInt = new int[ArrayA.Length];
for (int i = 0; i < ArrayA.Length; i++)
{
ArrayInt[i] = Convert.ToInt32(ArrayA[i]);
}
return ArrayInt;
}

public int[] trueSortArray(int[] trueSort)
{
int buffer = 0;
for (int i = 0; i < trueSort.Length; i++)
{
for (int j = 0; j < trueSort.Length - 1; j++)
{
if (trueSort[j] > trueSort[j + 1])
{
buffer = trueSort[j + 1];
trueSort[j + 1] = trueSort[j];
trueSort[j] = buffer;
}
}
}
return trueSort;
}
public int[] SortArrayMethod(int[] sortArrayValue, int valueB, int valueC)
{
if (true)
{

}
}
}
}
slavkan777 вне форума Ответить с цитированием
Старый 06.07.2013, 20:56   #2
genaveng
 
Аватар для genaveng
 
Регистрация: 03.01.2013
Сообщений: 9
По умолчанию

Пройдись по всем элементам массива. Если его значение находится в нужных тебе границах - добавляй его в новый массив.

Код:
public int[] SortArrayMethod(int[] sortArrayValue, int valueB, int valueC)
{
     int[]  result = new int[1000];
     int kol = 0;  // количество элементов в заданном диапазоне (количество элементов массива результата)
     for(int i=0; i<sortArrayValue.Length; i++)
     {
         if((sortArryaValue[i] > B) && (sortArrayValue[i] < C))
         {
                 result[kol] = sortArrayValue[i];
                 kol++;
         }
     }

     return result;
}
genaveng вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
1. Вывести все различные элементы в одномерном массиве S.I.D. Паскаль, Turbo Pascal, PascalABC.NET 1 14.01.2013 08:57
Вывести на экран диапазон температур toscanini Общие вопросы C/C++ 1 01.06.2012 23:48
в массиве В из 30 элементов определить диапазон значений элементов массива Zhentos Паскаль, Turbo Pascal, PascalABC.NET 9 15.06.2011 00:10
3. Вывести номер строки наименьшего элемента в двумерном массиве zebatic Помощь студентам 1 11.06.2010 00:14
в заданном массиве вывести все четные числа leysan Помощь студентам 2 09.12.2009 22:08