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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ В чем ошибка? http://www.cyberforum.ru/cpp-beginners/thread969939.html
#include<stdio.h> #include<conio.h> int main() {int N, i; float p=1, n=2; scanf("%d", &N); for (i=1; i<=N; i++) {p=p*((n-1)/n); n=n+6;} printf("%f", p);
C++ Реализация вектора Помогите разобрать. Как должен выглядеть вектор на си ? http://www.cyberforum.ru/cpp-beginners/thread969934.html
C++ Удаление list STL
Из списка, содержащего 100 тыс. элементов, удалить все элементы путем многократного удаления элемента из случайной позиции. Случайная позиция генерируется каждый раз заново при удалении очередного...
C++ Ошибка при вызове деструктора
Добрый вечер! Почему при вызове деструктора вылетает ошибка после компиляции кода? #include <conio.h> #include <iostream> #include <iostream> #include <iomanip> using namespace std; class...
C++ Не могу найти ошибку. Запись/чтение из файла http://www.cyberforum.ru/cpp-beginners/thread969914.html
Простите за довольно таки большой код, но обратиться больше некуда. Урезать не получилось, постараюсь на словах дать общую концепцию: Есть абстрактный базовый класс Person и два его наследника:...
C++ Написать программу, которая предлагает пользователю ввести год, проверяет, является ли он високосным (кратен 4, если заканчивается на 00, то еще кр Написать программу, которая предлагает пользователю ввести год, проверяет, является ли он високосным (кратен 4, если заканчивается на 00, то еще кратен 400) и выводит результат в консоль. прошу... подробнее

Показать сообщение отдельно
SilverAngel
0 / 0 / 0
Регистрация: 04.10.2013
Сообщений: 3

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

06.10.2013, 02:11. Просмотров 313. Ответов 0
Метки (Все метки)

Прога должна запускаться через командную строку, считывать входные данные из одного текстового файла, и записать выходные данные в другой текстовый файл. Сама суть программы в том, чтобы найти в последовательности чисел возрастающий ряд с самым большим количеством его элементов и записать информацию об этом ряде в файл. Если рядов одинаковой длины несколько, то нужно вывести инфу для всех этих рядов. Входные данные - это количество чисел в последовательности ( первая строчка текстового файла) и сама последовательность чисел, введенных через пробелы( это вторая строка во входном файле) Выходной файл должен содержать число 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);
}
0
Миниатюры
Прога для определения наибольшего возрастающего ряда в последовательности цифр  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru