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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Bloodykeeper
This party getting crazy!
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
#1

Заменить расположение элементов в файле - C++

27.05.2010, 23:52. Просмотров 525. Ответов 4
Метки нет (Все метки)

Дан файл целых чисел с элементами A1, A2, …, AN (N — количество элементов в файле). Заменить исходное расположение его элементов на следующее:
A1, AN, A2, AN–1, A3, … .

Подскажите пожалуйста, как написать. Какие функции можно использовать и как можно изменить расположение собственно)) Заранее - спасибо!!

Добавлено через 2 часа 39 минут
Ребят! помощь ещё нужна. Подскажите как создать расположение!

Добавлено через 2 часа 46 минут
Народ! ну много же не прошу! просто пока что алгоритм и по возможности помощь в функциях, и всё! Неужли никто не может помоч?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.05.2010, 23:52     Заменить расположение элементов в файле
Посмотрите здесь:

Заменить исходное расположение элементов файла - C++
pomagite reshit' zadachu plz Дан файл целых чисел с элементами A1, A2, …, AN (N — количество эле-ментов в файле). Заменить исходное...

Обработка элементов файла.Каждый отрицательный элемент в файле заменить результатом его целочисленного деления на 3 - C++
Ввести файл F. Каждый отрицательный элемент в файле заменить результатом его целочисленного деления на 3. Файл вывести до и после...

Расположение canvas элементов по окружности - C++
Всем привет. Пишу небольшую программку на c++ (под rad studio). Вроде с математикой проблем нет, но не могу разобраться. Имеется...

Массив, расположение элементов по усовию - C++
#include <cstdlib> #include <iostream> #include <cmath> #include <clocale> using namespace std; int main(int argc, char *argv) ...

Расположение элементов массива в алфавитном порядке из файла - C++
Помогите пожалуйста с заданием.Необходимо расположить элементы из файла .txt в алфавитном порядке. Как я понял можно таким методом...

АТД список. Расположение одинаковых элементов друг за другом - C++
Здравствуйте! Подскажите, пожалуйста, как расположить одинаковые элементы друг за другом??? Например: Есть такой список: ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mur3ik
102 / 102 / 4
Регистрация: 12.05.2010
Сообщений: 232
28.05.2010, 00:18     Заменить расположение элементов в файле #2
если они так и идут в одну строку A1, A2, …, AN 1, 2, 4, 43,
читаешь всю строку fgets
разбиваешь ее на лексемы strtok(buff, " ,");
дальше если у тебя целые числа из строки переводишь в инт int atoi(buff); <stdlib.h>
если вещественные то double atof(buff); <cmath>
записываешь их в массив int или double по порядку
а дальше в цикле сортируешь как душе угодно.
Bloodykeeper
This party getting crazy!
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
28.05.2010, 08:33  [ТС]     Заменить расположение элементов в файле #3
Проблема в том что они не идут в строку. Каждый элемент соответственно должен идти с новой строки. Вот потому и прошу помощи.
Mur3ik
102 / 102 / 4
Регистрация: 12.05.2010
Сообщений: 232
28.05.2010, 11:20     Заменить расположение элементов в файле #4
Цитата Сообщение от Bloodykeeper Посмотреть сообщение
Проблема в том что они не идут в строку. Каждый элемент соответственно должен идти с новой строки. Вот потому и прошу помощи.
тогда еще проще...
в цикле читаешь файл и преобразовываешь скажем в int
C++
1
2
3
4
5
6
7
8
9
char str[32];
int arr[количество элементов];
int i=0;
while(!feof(f1))
        {
                fgets(str,31,f1);
               arr[i]=atoi(str);
i++;
        }
а потом, что хочешь то и делаешь с этим массивом.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.05.2010, 12:42     Заменить расположение элементов в файле
Еще ссылки по теме:

Заменить все \n в файле - C++
Нужно заменить все \n в файле на пробелы. Задача вроде несложная, но проблема заключается в том, что \n весит два байта, а пробел - один...

Заменить теги в HTML-файле. - C++
Добрый день форумчане, помогите нубу. Код за меня не прошу писать, ну разве что, у вас завалялся похожий пример. У меня трудности с...

Заменить теги в файле с разметкой - C++
Дано файл, в котором встречаются теги &lt;i&gt; и &lt;/ i&gt;. заменить каждое вхождение &quot;&lt;i&gt;&quot; на &quot;&lt;курсив&gt;&quot;, а каждое вхождение &quot;&lt;/ i&gt;&quot; на &quot;&lt;конец ...

В файле заменить числа на противоположные - C++
Нужно записать в двоичный фал 20 рандомных вещественных чисел(от -10 до 10) , а потом вывести содержимое файла на экран . Затем заменить...

Как заменить русский текст в файле? - C++
Мне нужно написать функцию,которая заменяет русский текст без учета регистра в файле.Типа void repl(char* file,char* str1,char* str2)

Заменить в файле указанное число на другое - C++
Нужна программа, которая будет открывать указанный файл (файл не .txt, но можно открыть блокнотом), искать там указанное числовое значение...


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

Или воспользуйтесь поиском по форуму:
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
28.05.2010, 12:42     Заменить расположение элементов в файле #5
С файлами просто, а вот с перестановкой намудрил малость, может кто-нибудь попроще придумает.
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
#include <stdio.h>
#include <stdlib.h>
#include <alloc.h>
 
int main(int argc, char* argv[])
{
   int size = 0, buf, i, len;
   int *num;
   char *file_name = "d:\\progexp\\test.txt";
   FILE *file;
 
   if ((file = fopen(file_name, "r+")) == NULL )
   {
      perror("fopen");
      exit(EXIT_FAILURE);
   }
 
   while (fscanf(file, "%i", &buf) != EOF)
      size++;
   fseek(file, 0, SEEK_SET);
   clearerr(file);
   if (size == 0)
   {
      printf("File %s is empty\n", file_name);
      exit(EXIT_SUCCESS);
   }
 
   num = (int*)calloc(size, sizeof(int));
 
   i = 0;
   while (fscanf(file, "%i", &num[i]) != EOF)
      i++;
   fseek(file, 0, SEEK_SET);
   clearerr(file);
 
   if (size % 2 == 0)
      len = size/2;
   else
      len = size/2 +1;
   for (i = 0; i < len; i++)
   {
      if (num[i] != num[size-i-1])
      {
         fprintf(file, "%i\n", num[i]);
         fprintf(file, "%i\n", num[size-i-1]);
      }
      else
         fprintf(file, "%i\n", num[i]);
   }
   free(num);
   fclose(file);
   return 0;
}
Yandex
Объявления
28.05.2010, 12:42     Заменить расположение элементов в файле
Ответ Создать тему
Опции темы

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