Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
botwa
0 / 0 / 0
Регистрация: 12.10.2009
Сообщений: 22
#1

файл и строки - C++

20.12.2009, 20:46. Просмотров 451. Ответов 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
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
    ifstream f;
    int i, n;
    float *a, *b;
    f.open("C:\\abc.txt");
    f>>n;
    a=new float[n];
    b=new float[n-1];
    for (i=0; i<n; i++)
    {
        f>>a[i];
        cout<<a[i]<<"\t";
    }
    for (i=0; i<(n-1); i++)
    {
        b[i]=a[i]-a[i+1];
    }
    
                ...
 
    f.close();
    delete []a;
    return 0;
}
и ещё если несложно, то не могли бы вы помочь написать программу по строкам:
"даны две строки. нужно сравнить их и вывести самую длинную их общую часть"
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2009, 20:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос файл и строки (C++):

Текстовый файл содержит строки – предложения разной длины. Записать их в выходной файл в порядке возрастания длины строки - C++
Текстовый файл содержит строки – предложения разной длины. Записать их в выходной файл в порядке возрастания длины строки.

Текстовый файл содержит строки – предложения разной длины. Записать их в выходной файл в порядке возрастания длины строки - C++
ребят всю голову сломал уже завтра уже надо сдавать(( Текстовый файл содержит строки – предложения разной длины. Записать их в...

Файл: Скопировать текст в другой текстовый файл файл, но чётные строки должны быть с большой буквы... - C++
Создать текстовый файл. Скопировать текст в другой текстовый файл файл, но чётные строки должны быть с большой буквы, а нечетные с...

Дан файл. Записать в другой файл строки, которые являются палиндромами. - C++
Помогите пожалуйста с задачей: &quot;Дан файл а. Записать в файл с те строки и их номера в исходном файле, которые являются...

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

Через аргументы командной строки скопировать файл в файл - C++
Объясните, пожалуйста, как через аргументы командной строки скопировать файл в файл?

2
niXman
Эксперт С++
3139 / 1451 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
20.12.2009, 20:58 #2
что является определением последовательности?
0
botwa
0 / 0 / 0
Регистрация: 12.10.2009
Сообщений: 22
21.12.2009, 01:55  [ТС] #3
в моём случае это просто арифметическая прогрессия

подумалось что возможно надо взять тогда модуль разности. если прогрессия убывающая...

Добавлено через 48 минут
люди, помогите пожалуйста, не молчите!

Добавлено через 4 часа 6 минут
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
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
    ifstream f;
    int i, n, j;
    float *a, *b, *c;
    f.open("C:\abc.txt");
    f>>n;
    a=new float[n];
    b=new float[n-1];
    c=new float[n-1];
    for (i=0; i<n; i++)
    {
        f>>a[i];
        cout<<a[i]<<"\t";
    }
    for (i=0; i<(n-1); i++)
    {
        b[i]=a[i]-a[i+1];
    }
    j=0;
    for (i=0; i<(n-1); i++)
    {
        if a[i]=a[i+1]-b[j]
            then c[j]=(c[j]+1)
        else
        {
            j=j+1;
            i=j;
        }
    }
    f.close();
    delete []a;
    delete []b;
    delete []c;
    return 0;
}

вот что у меня вышло.
выдаёт ошибки: error C2061: синтаксическая ошибка: идентификатор "a" в строчке 22.
и error C2181: недопустимый else без парного if в 29.
не поняла в чёммоя поблема если честно.
что ему не нарвится?
предыдущие a нарвились, а в 22 не понарвился?
и что не так с if и else?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.12.2009, 01:55
Привет! Вот еще темы с ответами:

Что не так? Дан текстовый файл F. Переписать в другой файл G все строки, содержащие цифры. - C++
#include &lt;iostream&gt; #include &lt;math.h&gt; using std::cin; using std::cout; using std::endl; int main (int argc, char**...

Получение переменных из строки, изменение строки, запись в файл - C++
Всем доброго времени суток. У меня есть текстовый документ, который содержит в себе пару сотен строк, которые выглядят следующим...

Текстовый файл состоит из нескольких строк. Записать во второй файл последние символы из каждой строки первого файла - C++
Текстовый файл состоит из нескольких строк. Записать во второй файл последние символы из каждой строки первого файла. === Помогите,...

Дан входной текстовый файл, строка S (вводится с клавиатуры). Записать в выходной файл все строки входного файла, содержащие в качестве фрагмента стро - C++
Дан входной текстовый файл, строка S (вводится с клавиатуры). Записать в выходной файл все строки входного файла, содержащие в качестве...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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