Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Соседи. Из элементов массива А{2п) получить массивы В{п) и С(п) следующим образом

76K
09 декабря 2011 года
involvo
3 / / 09.12.2011
14. Соседи. Из элементов массива А{2п) получить массивы В{п) и С(п) следующим образом. Выбрать в массиве А два наиболее близких по значению элемента; меньший из них поместить в массив В, а больший — в массив С. Продолжить выбор из оставшихся элементов до полного заполнения массивов В и С. (пишите пожалуйста на Си Шарп )
Вот исходник для C++
///
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
int main () {
clrscr();
randomize ();
//определим массивы
int *a;
int *b;
int *c;
//счетчики
int i,j;
// размерность массивов
int n,z;
//временные переменные
int min,temp;
// переменные для хранения индексов
int ind_1,ind_2;
cout<<"Vvedite razmernost' a"<<endl;
cin>>n;
z=n/2;
a=new int [n];
b= new int [z];
c=new int [z];
// введем массив
for (i=0;i<n;i++)
{
a=rand()%100;
printf("\n%d",a);
}
printf("\n\n massivi b i c\n\n ");
int k=1;
// цикл с предусловием.. суть в том что мы пробегаем по массиву и ищем 2 элемента
// разница кот. по модулю минимальна пишем их в массивы b и c и
// удаляем эту пару элементов из массива а,сдвигая его
while (k!=z)
{
min=100;
for (i=0;i<z;i++)
{
for (j=i+1;j<n-k;j++)
{
temp=abs(a-a[j]);
if (min>temp)
{
min=temp;
ind_1=i;
ind_2=j;
}
}
}
// на выходе получили индексы элементов теперь закинием в b и c
if (a[ind_1]>a[ind_2])
{
b[k]=a[ind_2];
c[k]=a[ind_1];
}
else
{
b[k]=a[ind_1];
c[k]=a[ind_2];
}
// сдвинем массив (скорее всего косяк тут. возможно неправильная правая граница сдвига)
for(j=ind_1;j<n-k;j++)
a[j]=a[j+1];
for (j=ind_2;j<n-k;j++)
a[j]=a[j+1];
k++;
}
//выводим b и с
for (i=1;i<=z;i++)
printf("%d\t%d\n",b,c);
// печать того что осталось в массиве а(ну так... для пробы)
for (i=0;i<n-k+1;i++)
printf("\n%d",a);
getch ();
delete []a;
delete []b;
delete []c;
return 0;
} но он тоже косячий
394
09 декабря 2011 года
MegaMozg
317 / / 18.03.2006
Цитата: involvo
(пишите пожалуйста на Си Шарп )


[COLOR="silver"]ага, уже кинулись[/COLOR]
а зачем нам писать это на C#?

76K
09 декабря 2011 года
involvo
3 / / 09.12.2011
Цитата: MegaMozg
[COLOR="silver"]ага, уже кинулись[/COLOR]
а зачем нам писать это на C#?



я не знаю C++ по решайте если есть возможность!

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог