У вас есть массив элементов, в который входят некоторые равные значения, т.е.:
5,7,5,2,3,6,4,7,8,9,3,1,5,8,8,63,2
Вам нужно отсортировать их методом выбора.
Я всё правильно понял?
|
У вас есть массив элементов, в который входят некоторые равные значения, т.е.:
5,7,5,2,3,6,4,7,8,9,3,1,5,8,8,63,2
Вам нужно отсортировать их методом выбора.
Я всё правильно понял?
Сортировка:
Очистка от повторяющихся значений:Код:void sort(int* array,int size){ int temp, min, index; for(int i = 0; i < size; i++){ min = array[i]; for(int j = i+1; j < size; j++){ if(min>array[j]){ min = array[j]; index = j; } } if(min != array[i]){ temp = array[i]; array[i] = min; array[index] = temp; } } }
Сдвигает все повторяющиеся значения в конец массива. Возвращает размер массива без повторяющихся значений.Код:int clean(int* array, int size){ int temp; for(int i=0; i<size; i++) for(int j=i+1; j<size; j++){ if(array[i]==array[j]){ for(int y=j; y<size; y++){ temp = array[y]; array[y] = array[y+1]; array[y+1] = temp; } size--; j--; } } return size; }
Вроде работает, но на всякий случай рекомендую проверить.
for(int i=0; i<size; i++)
Если я не ошибаюсь, то инициализация в циклах, у С не поддерживаетса.
в С89 - нет, а в С99 - поддерживается.for(int i=0; i<size; i++)
Если я не ошибаюсь, то инициализация в циклах, у С не поддерживаетса.
С99 вы сами прекрасно знаете под чьим влиянием был принят этот стандарт
Помогите сделать задачку
Нужно создать матрицу с задаваемым числом строк и столбцов, в которой будут рандомные значения от ...-100 до 100, затем разделить каждый элемент столбца матрицы на первый элемент данного столбца
а продолжение не пойму как...Код:#include<iostream> #include<time.h> #include<conio.h> using namespace std; int M,N; int main() { srand(time(0)); int i=0; int c=0; cout<<"Vvedite kolichestvo strok"<<endl; cin>>M; cout<<"Vvedite kolichestvo stolbcov"<<endl; cin>>N; int J[M][N]; for(i=0;i<M;i++) //zapolniaem massiv for(c=0;c<N;c++) //sly4ainimi J[i][c]=((rand()%100)-50);//4islami for(i=0;i<M;i++)//vivodim massiv { for(c=0;c<N;c++) cout<<J[i][c]<<"\t"; cout<<endl; } //viveli
опять школьники - понаехали тут...
проблема в чем? не знаешь как обратится к первому элементу столбца?
for ( i = 0; i <= М; i++ ) // столбцы
{
for ( j = 0; j <= N; j++ ) // строки
{
// array[i][j] - это текущий элемент; i - номер столбца; j - номер строки;
// array[i][0] - первый элемент столбца
}
}
в данном случае делить можно в том же обходе, где и заполняешь
Последний раз редактировалось HECTOP MAXHO; 15.01.2010 в 16:13.
активная подрывная деятельность способствует здоровому сну
Проблема в том что он вобще ничего не знает,
такой вопрос уместен в сентябре-октябре
[оффтоп]
Посмотрев на for(i=0;i<M;i++) вспомнил такое высказывание:
Переменная i 20 лет на рынке счетчиков циклов
1)охарактеризовать принципиальные возможности табличных процессоров по обработке информации.
2)определить роль процедур-функций в pascal-программах и охарактеризовать особенности передачи данных между процедурами.
3)написать программу на языке pascal для нахождения суммы отрицательных элементов массива AD, содержащего 40 элементов.
заранее огромное человеческое спасибо)
Последний раз редактировалось maxx™; 23.01.2010 в 23:58.
ооо, я тут буду частым гостем))
1-я лаба по системному проганью - написать прогу на с (или с++) с использованием функции delete строки s от символа n (номер символа) и длиной l
если надо могу борланд скинуть
помагите плиз, с меня разумная оплата вебманями =)
Социальные закладки