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

Файл-архив - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывести сумму чисел из набора, расположенных между первым и последним нулем http://www.cyberforum.ru/cpp-beginners/thread135397.html
Уважаемые форумчане! помогите решить задачу : Дано целое число N и набор из N целых чисел,содержащий по крайней мере два нуля. Вывести сумму чисел из данного набора, расположенных между первым и последним нулем (если первый и последний нули идут подряд, то вывести 0). решила задачу так,что вычисляется сумма для двух последний нулей. #include <windows.h> #include <iostream> #include...
C++ Функция, которая возвращает количество неотрицательных элементов массива. (через указатели) Написать функцию, которая возвращает количество неотрицательных элементов массива. Массив передается в функцию в качестве параметра через указатель. http://www.cyberforum.ru/cpp-beginners/thread135395.html
C++ Конструктор с выделением памяти
Среди всех данных есть указатель, память для которого выделяется в конструкторе, необходимый размер передается в параметрах конструктора. Так как размер памяти в процессе использования может изменяться, планирую сделать некоторое резервирование, то есть вместо указанного размера (если он слишком мал или равен нулю) применять константные значения. Например так: Собственно данные: private: //...
С++ вроде простые проги C++
Привет Всем народ очень нужна помощь до четверга написать вот такие программы могу только на паскале а вот на С++ не могу( 3 проги 1. Написать программу, которая проверяет, является ли введенная с клавиатуры строка шестнадцатеричным числом. 2. Написать программу, которая проверяет, представляют ли элементы введенного с клавиатуры массива возрастающую последовательность. 3. Написать...
C++ с++ цикли http://www.cyberforum.ru/cpp-beginners/thread135366.html
Помогите решить задачки буду очень благодарен я уверен есть ище добрие люди( Задача 3. Найти первых 10 натуральных чисел, нацело делятся на 19 и находятся в интервале, левая граница которого 100. Задача 4. Дано натуральные m, n. Получить сумму m последних цифр числа n.
C++ Вращение отрезка Осуществить вращение отрезка вокруг центра не совпадающего с центром на СИ подробнее

Показать сообщение отдельно
kazak
3031 / 2352 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
26.05.2010, 13:13     Файл-архив
В данном случае файл-архив это обычный файл.
1)Надеюсь с открытием\закрытием файлов разберешься
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
int num_file, sum, buf, i, j;
int *count_number;
double average;
FILE *file_in, *file_out;
...
fscanf(file_in, "%i", &num_file);
count_number = (int*)calloc(num_file, sizeof(int));
for (i = 0; i < num_file; i++)
{
   fscanf(file_in, "%i", &count_number[i]);
}
for (i = 0; i < num_file; i++)
{
   sum = 0;
   for (j = 0; j < count_number[i]; j++)
   {
      fscanf(file_in, "%i", &buf);
      sum += buf;
   }
   average = sum/(double)count_number[i];
   fprintf(file_out, "%f ", average);
}
...
Код строго для таких файлов:

Цитата Сообщение от Bloodykeeper Посмотреть сообщение
в первом элементе файла-архива хранится число N, в следующих N элементах хранится размер (число элементов) каждого из исходных файлов, а затем последовательно размещаются данные из каждого исходного файла.
Добавлено через 30 минут
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
#define N = 3
int  count, buf, i;
char *s0 = "output.txt";
char *s[N] = {"in1.txt", "in2.txt", "in3.txt"};
FILE *file_in, *file_out;
...
for (i = 0; i < N; i++)
{
   file_in = fopen(s[i], "r");
   count = 0;
   fscanf(file_in, "%i", &buf);
   while (!feof(file_in))
   {
      count++;
      fscanf(file_in, "%i", &buf);
   }
   fseek(file_in, 0, SEEK_SET);
   clearerr(file_in);
   fprintf(file_out, "%i ", count);
   fscanf(file_in, "%i", &buf);
   while (!feof(file_in))
   {
      fprintf(file_out, "%i ", buf);
      fscanf(file_in, "%i", &buf);
   }
   clearerr(file_in);
   fclose(file_in):
}
...
 
Текущее время: 13:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru