Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Void print_file ();




void main(){

FILE * f = fopen ("111.bin", "r+b");

if (f == NULL){

printf ("cannot open file");

Exit (1);

}

int n = getFileSize (f);

Int j;

for (int i=1; i < n; i++){

int elt = getElementAtPosition (i, f);

Int jelt;

for (j=i-1; j >= 0 && (jelt = getElementAtPosition (j, f)) > elt; j--)

setFileElements (j+1, jelt, f);

setFileElements (++j, elt, f);// поместить в позицию j+1 первый (текущий) элемент

}

Fclose (f);

Print_file ();

}

int getElementAtPosition (int i, FILE *f){

fseek (f, i * sizeof (int), SEEK_SET);

Int buf;

fread (&buf, sizeof (int), 1, f);

Return buf;

}

int getFileSize (FILE *f){

int count = 0;

Fseek (f, SEEK_SET, 0);

Int tmp;

while (!feof (f))

{

fread (&tmp, sizeof (int), 1, f);

count++;

}

Return count - 1;

}

void setFileElements (int pos, int element, FILE * f){

fseek (f, pos * sizeof (int), SEEK_SET);

fwrite (&element,sizeof (int), 1, f);

}

void print_file (){

FILE * f = fopen ("111.bin", "rb");

if (f == NULL){

printf ("cannot open file");

Exit (1);

}

for (int i=0;! feof (f); i++){

Int x;

if (! fread (&x, sizeof (int), 1, f)) break;

printf ("element # %d = %d\n", i, x);

}

Fclose (f);

}

Задачи:

  1. В файле записаны числа, причем первое число целое и показывает сколько вещественных чисел записана в файле. Написать программу, которая считывает первое число и динамически выделяет массив вещественных чисел, куда переписывает данные из файла. Найти максимальный элемент массива, а также отсортировать данный массив в возрастающем порядке.
  2. В файле записаны данные о студентах, причем первое число целое и показывает количество студентов в файле. Написать программу, которая считывает первое число и динамически выделяет массив структуры, куда переписывает данные из файла. Найти всех тех студентов, кто получил минимальный средний балл и отсортировать в алфавитном порядке по фамилии студентов.

 

Kонтрольные вопросы

  1. Какие операции определены со строками?

а) Ни какие

б) Операции сравнения

в) Арифметические операции

г) Логические операции

д) Операция присваивания

2. Пользователь вводит строку "Иванов Иван Иванович". Эту строку программа читает после нажатия клавиши Enter с помощью функции scanf("%s", str). Что будет занесено в массив str?

а) Ничего, так как перед именем str не хватает символа &
б) Ничего, так как неверно задан формат ввода строки
в) "Иванов Иван Иванович\n"
г) "Иванов Иван Иванович"
д) "Иванов\n"
е) "Иванов"

3 Какой результат вернет функция strcmp("a","b");?

а) Положительное число

б) Отрицательное число

с) Минус один

д) Плюс один






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных