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

Чтение из файла с конца - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Фатал еррор в коде http://www.cyberforum.ru/cpp-beginners/thread133657.html
мне нада исправить данный код для корректной работы в визуал си++ "ошибка заключается в том что тут нада отсчет начать с 0, а не с 1", эти слова препода мне ни о чем не говорят. help задача следущая: В массиве A из N элементов (N не больше 30) определить количество элементов, имеющих четные значения, и сумму этих элементов. Число N и значения элементов массива задаются вводом. вот мой...
C++ ЗАПРЕТ на ввод Б У К В Ы ... ... ... Господа Уважаемые Программисты, если я объявляю переменную х как символьную,........... то каким образом мне надо поставить условие, .............................. чтобы при вводе в качестве этой переменной некоторой буквы- ...........на экран выводилось сообщение об ошибке, ...........а при вводе цифры....- программа продолжала работу???........................... http://www.cyberforum.ru/cpp-beginners/thread133651.html
C++ Разработать функцию определения среднего арифметического коэффициентов многочлена
Помогите пожалуйста по учебе. Задание: Разработать и реализовать функцию определения среднего арифметического коэффициентов многочлена на языке Си для работы с многочленом (на фото) P(x)=an*x^n+an-1*x^n-1+an-2*x^n-2+...+a1*x^1+a0*x Многочлен должен быть представлен в виде списка нулевые члены в списке не должны присутствовать список может быть не обязательно упорядочен по степеням в...
C++ Копирование строк
Всем доброго времени суток. У меня такой вопрос как можно копировать строка в строку не с заменой, а с добавлением в строку. например есть что-то вроде : char A = "DFGH"; char B = "FFFF"; // Нужно копировать так чтобы в итоге получилось DFGHFFFF вообщем сложение двух строк //strcpy(A,B); заменяет содержимое строки А на B (не помог)
C++ Сортировка вектора http://www.cyberforum.ru/cpp-beginners/thread133640.html
Нужно отсорировать вектор в порядке убывания при помощи поинтеров. Тоесть доступ к элементам вектора осушествляется через поинтеры.
C++ сортировка стека или очереди!!! вот код программы: пишет постоянно ошибка сегментации. или просто не работает. n=kol_vo; w=sposob; last=n; подробнее

Показать сообщение отдельно
Mur3ik
102 / 102 / 4
Регистрация: 12.05.2010
Сообщений: 232
22.05.2010, 16:18     Чтение из файла с конца
после того как ты посчитал строки нужно закрыть указатель на файл, и открыть заново, т.к. там указатель стоит в конце файла...

Добавлено через 13 минут
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
#include <iostream>
#include <fstream>
#include <stdio.h> 
#define MAXLIN 80
using namespace std;
const char * my_file = "My_file.txt";
//------------------------------------------
int main()
{
        FILE * f1, *f2, *f3;
        int n=0;
        char string [MAXLIN];
        if (0==(f1=fopen(my_file, "r"))) cerr << "File not found!"; //открытиена чтение
        while(fgets(string,MAXLIN,f1))  //счётчик строк в файле 
                n++;
        cout << n;
        //------------------------------------------
        char **arr = new char *[n]; //создаем 2хмерный массив
        //------------------------------------------
        for(int i=0;i<n;i++)//создаем 2хмерный массив
        {
                arr[i]=new char [MAXLIN];//создаем 2хмерный массив
        }
        fclose(f1);
        //------------------------------------------
        if (0==(f2=fopen(my_file, "r"))) cerr << "File not found!";
        int i=0;
        while(!feof(f2))//читаем из файла...
                {
                        fgets(arr[i],MAXLIN,f2);
                        i++;
                }
        fclose(f2);
        //------------------------------------------
        //потом каждую строку разворачиваешь char *strrev(char *s); и начиная с последней строки пишешь в новый файл.
        if (0==(f3=fopen("new_file.txt", "w"))) cerr << "File not found!";
        for(int i=0;i<n;i++)
                arr[i]=strrev(arr[i]);
        //------------------------------------------
        for(int i=n-1;i>=0;i--)//т.к. нумерация в массиве с 0, то при i==0; должно выполняться, и из за того что нумерация с нуля... от количества строк отнимаем 1
                fputs(arr[i],f3);
        return 0;
}
 
Текущее время: 02:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru