Форум программистов, компьютерный форум CyberForum.ru

C для начинающих

Войти
Регистрация
Восстановить пароль
 
Daggoth
0 / 0 / 0
Регистрация: 18.12.2016
Сообщений: 8
#1

Сортировка вставками без использования индексирования - C (СИ)

08.01.2017, 23:57. Просмотров 138. Ответов 5
Метки нет (Все метки)

Нужно отсортировать и вывести 2-х мерный масив 10х10 по убыванию не используя индексацию (через указатели).
Поиском нашел кучу вариантов через индексацию, но как их переделать под указатели?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2017, 23:57     Сортировка вставками без использования индексирования
Посмотрите здесь:

Сортировка массива структур без использования Qsort - C (СИ)
Здравствуйте! Для сортировки массива структур я использовал стандартную функцию qsort(), но как оказалось так делать по заданию нельзя!...

Сортировка вставками - C (СИ)
Отсортировать элементы методом вставками, и найти максимальное. Например задается массив чисел и нужно найти максимальное (сортировка...

Сортировка вставками - C (СИ)
Сортировка вставками: пусть первые k элементов упорядочены по возростанию. Берется (k+1)-ый элемент и размещается среди первых k так,...

Сортировка вставками - C (СИ)
Мне нужно написать программу, в которой бы присутствовала сортировка вставками. Желательно в одномерном массиве. Помогите пожалуйста.

Сортировка вставками - C (СИ)
Можете подробно обьяснить программу??? void sort (int *mas, int kol){ int i,j,ii,x; for(i=1;i<kol;i++){ x=mas; ...

Сортировка вставками - C (СИ)
Можете подробно обьяснить программу??? void sort (int *mas,int kol); int kol; int main(int argc, char *argv) { int i,mas; ...

Сортировка вставками - C (СИ)
Сортировка вставками массивов из 3-х элементов Не до конца сортирует int tmp,pos,b=0; for(int i=1;i<(int)*res;i++) { ...

Сортировка вставками - C (СИ)
Как отсортировать элементы стоящие на нечетных местах в порядке возрастания? вот что-то пытался делать, но не работает) int i, j, t; ...

Сортировка простыми вставками - C (СИ)
Не врублюсь, почему ругается компилятор в условии выхода из цикла while... struct river { char name; int length; ...

Сортировка бинарными вставками - C (СИ)
Привет! Есть код к сортировке бинарными вставками (сортируется одномерный массив), но он не работает /*Бинарными вставками*/ int...

Неправильно работает сортировка вставками - C (СИ)
Как я понял не работает функция Sort. int main() { FILE *fp=fopen("start.txt","r"); int count=0,t; while (!feof(fp)) { ...

Сортировка вставками массивов из 3-х элементов - C (СИ)
Сортировка вставками массивов из 3-х элементов по элементам массива Не до конца сортирует void Sort (FILE *fp,int **sort,float *res) ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
LFC
666 / 470 / 277
Регистрация: 17.09.2015
Сообщений: 1,404
09.01.2017, 06:06     Сортировка вставками без использования индексирования #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 10
#define M 10
void mySort(int* );
int main(void)
{
    int i, j, arr[N][M];
    srand(time(NULL));
    for(i = 0; i < N; i++, putchar('\n'))
        for(j = 0; j < M; j++)
            printf("%3d", arr[i][j] = rand() % 99);
    putchar('\n');
    mySort(arr[0]);
    return 0;
}
void mySort(int* p)
{
    int *q, *m, *last = p + N * M, temp;
    for(q = p + 1; q < last; q++){
        for(m = q; m > p && *(m - 1) < *m; m--){
            temp = *(m - 1);
            *(m - 1) = *m;
            *m = temp;
        }
    }
    for(temp = 0; p < last; p++, temp++){
        if(temp && !(temp % M))
            putchar('\n');
        printf("%3d", *p);
    }
}
Catstail
Модератор
22445 / 10850 / 1766
Регистрация: 12.02.2012
Сообщений: 17,967
09.01.2017, 10:23     Сортировка вставками без использования индексирования #3
1) много раз попадается странное условие: "Отсортировать двумерный массив"... Как это понимать? Вообще-то сортируют одномерные массивы.
2) Индексация и указатели взаимозаменяемы:

C++
1
x[i]
- то же самое, что
C++
1
*(x+i)
Daggoth
0 / 0 / 0
Регистрация: 18.12.2016
Сообщений: 8
09.01.2017, 12:16  [ТС]     Сортировка вставками без использования индексирования #4
Цитата Сообщение от Catstail Посмотреть сообщение
Индексация и указатели взаимозаменяемы
Я знаю, но в задании x[i] использовать нельзя, а *(x+i) - можно.
Catstail
Модератор
22445 / 10850 / 1766
Регистрация: 12.02.2012
Сообщений: 17,967
09.01.2017, 12:58     Сортировка вставками без использования индексирования #5
Daggoth, а по поводу сортировки двумерного массива?
Daggoth
0 / 0 / 0
Регистрация: 18.12.2016
Сообщений: 8
09.01.2017, 13:19  [ТС]     Сортировка вставками без использования индексирования #6
А по поводу сортировки вы правы, массивы сортируются как одномерные, т.е. всё в ряд
Yandex
Объявления
09.01.2017, 13:19     Сортировка вставками без использования индексирования
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru