Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.02.2009, 19:10   #1
MsF
Пользователь
 
Аватар для MsF
 
Регистрация: 11.02.2009
Сообщений: 14
По умолчанию Помогите с чистым С

Задача.
Создать файл целых чисел. Отсортировать файл с числами и вывести файл до сортировки и после нее.
ЗЫ. Заранее благодарен за помощь.
Ученье свет, а учебников тьма
MsF вне форума Ответить с цитированием
Старый 21.02.2009, 19:30   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Что не получается? Вы сами пробовали решить?

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

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 21.02.2009, 19:49   #3
MsF
Пользователь
 
Аватар для MsF
 
Регистрация: 11.02.2009
Сообщений: 14
По умолчанию

что то я вообще нечего не решил, не получается

Можна пример с кодом.
Ученье свет, а учебников тьма

Последний раз редактировалось MsF; 21.02.2009 в 19:52.
MsF вне форума Ответить с цитированием
Старый 21.02.2009, 20:12   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Ну давайте тогда решать вместе.
Что нужно?
Нужен файл. Назовем его inp.txt:
Код:
const char filename[] = "inp.txt";
Объявим переменную:
Код:
FILE *f;
Еще нужен массив, в котором будем хранить числа, счетчики и переменные для разных нужд:
Код:
int mas[10],i,j,k,tmp;
Инициализируем генератор случайных чисел (чтобы заполнить ими массив):
Код:
srand(time(NULL));
Теперь заполним массив.
Код:
for(i=0;i<10;i++)
 mas[i] = rand()%20;
Далее откроем файл для записи:
Код:
f = fopen(filename,"w");
Теперь запишем массив в файл.
Код:
for(i=0;i<10;i++)
 fprintf(f,"%d ",mas[i]);
------------

Нужно отсортировать массив. Используем сортировку выбором.
Код:
for(i=0;i<9;i++)
 {
  k = i;
  for(j=i+1;j<10;j++)
   if(mas[j]<mas[k]) k = j;
  tmp = mas[k];
  mas[k] = mas[i];
  mas[i] = tmp;
 }
Запишем то, что получилось:
Код:
fprintf(f,"\n\n");
for(i=0;i<10;i++)
 fprintf(f,"%d ",mas[i]);
Закроем файл:
Код:
fclose(f);
Теперь откроем его для чтения, выведем содержимое и задержимся (чтобы увидеть результат).
Код:
f = fopen(filename,"r");

printf("Ishodnyj massiv:\n");
for(i=0;i<10;i++)
 {
  fscanf(f,"%d ",&tmp);
  printf("%d ",tmp);
 }
printf("\n\nOtsortirovanniy massiv:\n");
for(i=0;i<10;i++)
 {
  fscanf(f,"%d ",&tmp);
  printf("%d ",tmp);
 }
printf("\n\n");
fclose(f);
system("pause");
-----------------
Соберите все это вместе.
Не забудьте подключить заголовки:
Код:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 22.02.2009, 00:34   #5
MsF
Пользователь
 
Аватар для MsF
 
Регистрация: 11.02.2009
Сообщений: 14
По умолчанию

Большое спасибо, очень помогли
Ученье свет, а учебников тьма
MsF вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц