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

Прога для определения наибольшего возрастающего ряда в последовательности цифр - C++

Восстановить пароль Регистрация
 
SilverAngel
0 / 0 / 0
Регистрация: 04.10.2013
Сообщений: 3
06.10.2013, 02:11     Прога для определения наибольшего возрастающего ряда в последовательности цифр #1
Прога должна запускаться через командную строку, считывать входные данные из одного текстового файла, и записать выходные данные в другой текстовый файл. Сама суть программы в том, чтобы найти в последовательности чисел возрастающий ряд с самым большим количеством его элементов и записать информацию об этом ряде в файл. Если рядов одинаковой длины несколько, то нужно вывести инфу для всех этих рядов. Входные данные - это количество чисел в последовательности ( первая строчка текстового файла) и сама последовательность чисел, введенных через пробелы( это вторая строка во входном файле) Выходной файл должен содержать число k - это максимальное количество элементов возрастающего ряда. n - номер числа в последовательности, с которого начинается возрастающий ряд. И b- номер байта числа в файле, откуда начинается этот возрастающий ряд. Вот код этой проги. Но, во-первых она работает неправильно. А я как слепой не могу найти ошибки, а во-вторых, я не знаю, как организовать подсчет байтов в последовательности( байты нужно начать считать с начала последовательности). А в-третьих, я не знаю,как сделать так, чтобы выводить инфу для нескольких одинаковых рядов. Помогите плиз
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
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
 
int main( int argc, char*argv[ ])
{
if(argc !=3)
  {printf("vvedite imena failov pravilno");
   exit(1);}
 
int n=3, m , i , j ,k=1 , maxK ,nom;
 
FILE *f1=fopen(argv [1],"rt");
FILE *f2=fopen(argv [2],"wt");
 
fscanf(f1,"%d", &m);
 
 
int*res=new int[m];
 
int*mas=new int[m];
 
 
for(i=0; i<m; i++){
fscanf(f1, "%d", &mas[i]);    // посимвольн*ый ввод чисел в массив, s-это счетчик байтов в файле изменено c->d
 
}
 
for(i=0; i<m; i++){
 
  for(j=i;j<m;j++){
   if(mas[j]<mas[j+1])
   {k++;             //включаем* счетчик для возрастающ*его ряда, который начинается* с i-того элемента
    res[i]=k;}   //сразу записываем* значение счетчика в массив
    else{
        k=1;
 
        break;
    }
  }
}
 
maxK=0;
for(j=0; j<m; j++)
  if(maxK<res[j])
{maxK=res[j];
  nom=j;}
 
 
    fprintf(f2, "\n%d\n%d", res[nom],nom+1 );
 
   delete[ ] res;
   delete[ ] mas;
   fclose(f1);
   fclose(f2);
}
Миниатюры
Прога для определения наибольшего возрастающего ряда в последовательности цифр  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.10.2013, 02:11     Прога для определения наибольшего возрастающего ряда в последовательности цифр
Посмотрите здесь:

C++ Составить программу для определения самого длинного слова в тексте, в котором нет цифр.
Жадный алгоритм для определения последовательности обхода городов. C++
C++ Вводится последовательность из N целых чисел. Найти среднее арифметическое его цифр (функцией оформить определения среднего арифметического цифр числа
Функции: Для каждого числа последовательности найти количество цифр 5 C++
C++ Рекурсия (функция определения НОД (наибольшего общего делителя) числа алгоритмом Евклида)
C++ прога определения кол-ва повторений букв и их сочетаний
Для каждого числа последовательности найти количество цифр 5 C++
C++ Написать функцию для определения наличия в файле чисел, у которых сумма цифр целой и дробной части равны

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 13:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru