Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Mastoris
0 / 0 / 0
Регистрация: 27.12.2016
Сообщений: 29
1

Необходимо прочитать код

13.06.2018, 18:58. Просмотров 97. Ответов 0
Метки нет (Все метки)

Помогите прочитать код функции appendIntoSortedArray. В первой функции необходимо отсортировать элементы матрицы по возрастанию, а во второй - добавить в отсортированный массив отрицательные элементы из второго файла, не нарушив упорядоченности. С первой, понятное дело, все просто, я разобрался, да и со второй тоже, но в ней я сильно запутался в переменных и разложить все по полочкам не получается, кто может, помогите, пожалуйста.

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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
void sort(FileInfo *file)
{
    rewind(file->descriptor);
 
    int n;
    int buffer = 0, items[2];
 
    char *message1Template = "Start sorting the file %s\n";
    char *message2Template = "Count of elements - %d\n";
 
    system("cls");
    printf(message1Template, file->name);
    fread(&n, sizeof(int), 1, file->descriptor);
    printf(message2Template, n);
 
    for (int i = 0; i < n - 1; i++) {
        system("cls");
        printf(message1Template, file->name);
        printf(message2Template, n);
        if (i% 2 == 0) printf("Sorting ..");
        else printf("Sorting ...");
        for (int j = 1; j < n; j++) {
            fseek(file->descriptor, sizeof(int)*j, SEEK_SET);
            fread(items, sizeof(int), 2, file->descriptor);
            fseek(file->descriptor, sizeof(int)*j, SEEK_SET);
            if (items[0] > items[1]) {
                buffer = items[0];
                items[0] = items[1];
                items[1] = buffer;
            }
            fwrite(items, sizeof(int), 2, file->descriptor);
        }
    }
    saveFile(file);
}
 
void appendIntoSortedArray(FileInfo *file, int item) {
 
    int n, buffer[2];
 
    rewind(file->descriptor);
    fread(&n, sizeof(int), 1, file->descriptor);
    for (int i = 1; i <= n; i++) {
        fread(&buffer[0], sizeof(int), 1, file->descriptor);
        if (item < buffer[0]) {
            if (i == n) {
                n++;
                fwrite(&item, sizeof(int), 1, file->descriptor);
                break;
            }
            buffer[1] = item;
            ////move array
            for (int j = i; j <= n; j++) {
                fseek(file->descriptor, sizeof(int)*j, SEEK_SET);
                fwrite(&buffer[1], sizeof(int), 1, file->descriptor);
                buffer[1] = buffer[0];
                fseek(file->descriptor, sizeof(int)*(j + 1), SEEK_SET);
                fread(&buffer[0], sizeof(int), 1, file->descriptor);
            }
            n++;
            fseek(file->descriptor, sizeof(int)*n, SEEK_SET);
            fwrite(&buffer[0], sizeof(int), 1, file->descriptor);
            break;
        }
    }
    rewind(file->descriptor);
    fwrite(&n, sizeof(int), 1, file->descriptor);
    saveFile(file);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.06.2018, 18:58
Ответы с готовыми решениями:

Необходимо обклеить стенку размером a*b обоями; сколько рулонов необходимо, чтобы обклеить всю стену?
Написать программму для следующего условия : необхдимо обклеить стенку размером...

Необходимо прочитать штрих-код
Можете подсказать какой - нибудь пример с чтением PDF417 штрих - кода. Заранее...

необходимо прочитать 5'' дискеты
Доброго времени суток. По работе необходимо снять информацию с кучи древних 5''...

Необходимо прочитать из файла
У меня на сайте есть поддержка php, но мне нужно чтобы на html было реализовано...

Необходимо прочитать название файла
Есть каталог с файлами 111.txt, 222.txt и тд . Необходимо прочитать название...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.06.2018, 18:58

Необходимо с каждого файла прочитать строку
Здравствуйте! Помогите решить такую задачу. Есть каталог Vedomosti (в нём...

Необходимо заставить аксес прочитать текстовый файл
мне необходимо заставить аксес прочитать текстовый файл типа: значение1...

Из файла необходимо прочитать записи, установить ключи, позиции и количество записей
Из файла необходимо прочитать записи, установить ключи, позиции и количество...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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