Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Rutrol
0 / 0 / 1
Регистрация: 24.12.2013
Сообщений: 13
1

Определить количество чисел в наиболее длинной возрастающей последовательности элементов файла

09.11.2014, 07:41. Просмотров 736. Ответов 7
Метки нет (Все метки)

Никак не могу разобраться с файлами. Помогите пожалуйста.

"В файле находятся вещественные числа. Определить количество чисел в наиболее длинной возрастающей последовательности элементов файла."
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2014, 07:41
Ответы с готовыми решениями:

Определить количество чисел в наиболее длинной последовательности с подряд расположенных нулей
Дана последовательность из 100 целых чисел. Определить количество чисел в...

Определить количество чисел в наиболее длинной последовательности из подряд идущих нулей
Написать программу с/с++. Дана последовательность из 100 целых чисел....

Определить количество чисел в наиболее длинной последовательности с подряд подряд расположенных нулей
Данная последовательность из 100 целых чисел Определить количество чисел в...

Поиск наиболее длинной последовательности символов
Помогите. Это программа считающая наиболее длинную последовательность символов...

Определить длину самой длинной последовательности подряд идущих элементов массива, равных нулю
Помогите найти ошибку в коде. При вводе значений элементов массива, ну например...

7
zss
Модератор
Эксперт С++
7466 / 6840 / 4319
Регистрация: 18.12.2011
Сообщений: 18,093
Завершенные тесты: 1
09.11.2014, 10:29 2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
FILE* ff;
int nmax,n,up;
double number,old_number;
ff=fopen("file.txt","rt");
up=1;
n=nmax=1;
fscanf(ff,"%lf",&old_number);
while(ff,fscanf("%lf",&number)!=0)
{
     if(old_number<number)
     {
         n++;
         if(n>nmax)
            nmax=n;
     }else
         n=1;
     old_number=number;
}
0
Rutrol
0 / 0 / 1
Регистрация: 24.12.2013
Сообщений: 13
12.11.2014, 11:50  [ТС] 3
zss, определение наибольшей последовательности это ясно, как загнать массив вещественных файл, а потом оттуда вывести, в этом вопрос.

Добавлено через 11 минут
или вручную через программу записать числа, не имеет значения.
0
forestryks
0 / 0 / 0
Регистрация: 11.11.2014
Сообщений: 16
12.11.2014, 11:59 4
Я делал что-то похожее когда только начинал программировать. Файл должен быть чистым (то есть никаких лишних символов в файле, кроме чисел) или это используется как база данных и возможно добавление каких-либо символов. А так понимаю кроме чисел в массиве нет никаких символов кроме чисел? Возможна ли программа на c++, так как С почти не знаю?
0
Rutrol
0 / 0 / 1
Регистрация: 24.12.2013
Сообщений: 13
12.11.2014, 12:10  [ТС] 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
#include <iostream>
#include <stdio.h>
 
#define q 6
 
int main()
 
{
    FILE *fp;
    double t;
    int i;
    
    if ((fp=fopen("mod", "w+"))==NULL) {
        printf("Cannot open file.\n");
        exit(1);
    }
    
    printf("vvedite chislo: ");
    
    for (i=0;i<q;i++)
  {
    fscanf(stdin, "%lf", &t);
    fprintf(fp, "%lf", t);
  }
  
    fclose(fp);
    
        if ((fp=fopen("mod", "w+"))==NULL) 
     {
        printf("Cannot open file.\n");
        exit(1);
     }
     
    rewind(fp);
    
        for ( i=0;i<q;i++)
        {
        fscanf(fp, "%lf ", &t);
        fprintf(stdout, "%lf ", t);
        }
 
    return 0;
}
}
0
zss
Модератор
Эксперт С++
7466 / 6840 / 4319
Регистрация: 18.12.2011
Сообщений: 18,093
Завершенные тесты: 1
12.11.2014, 19:38 6
Цитата Сообщение от Rutrol Посмотреть сообщение
fp=fopen("mod", "w+")
Означает открыть на запись (стерев все,что там было) с последующим чтением.
Если надо открыть на дозапись, то пользуйтесь
C
1
fp=fopen("mod", "at")
Кстати, по заданию следует, что файл уже существует.
Т.е. можете заполнить его в блокноте.
0
Rutrol
0 / 0 / 1
Регистрация: 24.12.2013
Сообщений: 13
17.11.2014, 03:08  [ТС] 7
forestryks, Файл чистый, создается, записывается и считывается программно. Можно и на С++.
Вот пытался написать ввод - вывод. Проблемы с выводом.Можно текстовый или бинарный, не важно. Полная формулировка задания в шапке. Не для БД.
0
Rutrol
0 / 0 / 1
Регистрация: 24.12.2013
Сообщений: 13
20.11.2014, 15:16  [ТС] 8
Если понадобится, вот рабочий код из DevC++

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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include <iostream>
#include <stdio.h>
 
#define q 4  // количество вводимых чисел
 
int main()
 
{
    FILE *fp;
    double t, number, old_number;
    int i, nmax, n;
    
    if ((fp=fopen("mod.txt", "w"))==NULL) {
        printf("Cannot open file.\n");
        exit(1);
    }
    
    printf("vvedite chisla: ");
    
    for (i=0;i<q;i++)
  {
    fscanf(stdin, "%lf", &t);
    fprintf(fp, "%lf ", t);
  }
  
    fclose(fp);
    
        if ((fp=fopen("mod.txt", "r"))==NULL) 
     {
        printf("Cannot open file.\n");
        exit(1);
     }
     
    rewind(fp);
    
        for ( i=0;i<q;i++)
         {
           fscanf(fp, "%lf", &t);
           fprintf(stdout, "%lf ", t);
         }
        
n = nmax = 1;
 
    rewind(fp);
 
fscanf(fp,"%lf",&number); // запоминаем первый элемент для сравнивания
 
while( !feof (fp) ) // нахождение наибольшей последовательности
{
    fscanf(fp,"%lf",&old_number);
     if(old_number>number)
     {
         n++;
         if(n>nmax)
            nmax=n;
     }else
         n=1;
     old_number=number;
}
 
    printf("\n\nNaibolshaya posl-t': %d", nmax);
    
        fclose(fp);
    
    return 0;
    
}
0
20.11.2014, 15:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.11.2014, 15:16

Определить длину самой длинной цепочки элементов файла
11. Файл состоит из действительных чисел . Чтобы определить размер файла был...

Нахождение самой длинной последовательности чисел в тексте
Добрый день :) Передо мной стоит такая задача: найти самую длинную...

Определить количество простых чисел в этой последовательности
Дан одномерный целочисленный массив. Определить количество простых чисел в этой...


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

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

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