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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.11.2018, 09:06   #1
Anton44
Новичок
Джуниор
 
Регистрация: 17.11.2018
Сообщений: 1
Восклицание отсортировать одномерный массив таким образом чтобы были сначала четные,потом нечетные

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 Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
try
{
textBox2.Text = "";
textBox3.Text = "";
Random rnd = new Random();
int n = Convert.ToInt32(textBox1.Text);
int[] a = new int[10];
for (int i = 0; i < n; i++)
{
if (rnd.Next(10) > 5) a[i] = rnd.Next(5);
else a[i] = -rnd.Next(5);
textBox2.Text = textBox2.Text + Convert.ToString(a[i]) + " ";
}
int otr = 0;
for (int i = 0; i < n; i++)
{
if (a[i] < 0) otr++;
}
label1.Text = "количество отрицательных элементов массива: " + otr.ToString();
int[] aa = new int[10];
for (int i = 0; i < n; i++)
{
aa[i] = Math.Abs(a[i]); // считаем что первый элемент самый наименьший
}

int minAbs = 10;
int minI = 0;
for (int i = 0; i < n; i++)
{
if (aa[i] < minAbs)
{
minAbs = aa[i];
minI = i + 1;
}
}

int s = 0;
for (int i = minI; i < n; i++)
{
s += aa[i]; //считаем сумму модулей после наименьшего по модулю
}
label2.Text = "сумма модулей после меньшего по модулю элемента: " + s.ToString();
for (int i = 0; i < n; i++)
{
if (a[i] < 0)
{
a[i] = a[i] * a[i];
}
}
for (int j = 0; j < n; j++)
{
for (int i = 1; i < n; i++)
{
if (a[i] < a[i - 1])
{
int temp = a[i - 1];
a[i - 1] = a[i];
a[i] = temp;
}
}
}

for (int i = 0; i < n; i++)
{
textBox3.Text = textBox3.Text + a[i] + " ";

}
}
catch
{
MessageBox.Show("Неккоректные данные");
}
}
}
}
Anton44 вне форума Ответить с цитированием
Старый 18.11.2018, 14:09   #2
ZotaC
Форумчанин
 
Аватар для ZotaC
 
Регистрация: 25.06.2009
Сообщений: 163
По умолчанию

Код:
  for i := 0 to high(arr) do begin
  	for j := i to high(arr) do
  		if (arr[i] > arr[j]) then swap(arr[i], arr[j]);

  	if (arr[i] mod 2 = 0) then even := even + [arr[i]]
  	else odd := odd + [arr[i]];
  end;

  arr := even + odd;

  memo.text := '';
  for i := 0 to high(arr) do
  	memo.text := memo.text + intToStr(arr[i]) + '; ';
ZotaC вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
паскаль преобразовать массив таким образом чтобы сначала располагались все элементы целая часть которых не превышает единицу а потом все остальные Matvey Sadkov Паскаль, Turbo Pascal, PascalABC.NET 6 09.10.2016 15:52
assembler. Задан массив А из N чисел. Преобразовать этот массив так, чтобы сначала шли четные числа, а потом – нечетные Transcend Помощь студентам 5 18.03.2013 11:42
Вывести сначала все его четные (нечетные) елементы, а потом- нечетные(четные). tondo Помощь студентам 4 25.04.2012 00:17
Преобразовать массив таким образом, чтобы сначала располагались элементы из интервала [a,b] , а затем все parka Паскаль, Turbo Pascal, PascalABC.NET 7 15.05.2011 22:17
Массивы на pascal (преобразовать массив так, чтобы сначала были единицы, а потом - все остальные) Mercial Помощь студентам 6 18.02.2011 22:07