Форум программистов, компьютерный форум 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 тыс. элементов, удалить все элементы путем многократного удаления элемента из случайной позиции. Случайная позиция генерируется каждый раз заново при удалении очередного элемента. посоветуйте как сделать удаление быстрее? float list_erase_rand(int num) { int size = MyList.size(); srand(time(NULL)) ; list<int>::iterator newIterator; clock_t MyTime =...
C++ Ошибка при вызове деструктора
Добрый вечер! Почему при вызове деструктора вылетает ошибка после компиляции кода? #include <conio.h> #include <iostream> #include <iostream> #include <iomanip> using namespace std; class student {
C++ Не могу найти ошибку. Запись/чтение из файла http://www.cyberforum.ru/cpp-beginners/thread969914.html
Простите за довольно таки большой код, но обратиться больше некуда. Урезать не получилось, постараюсь на словах дать общую концепцию: Есть абстрактный базовый класс Person и два его наследника: Student и Laborer. Также есть класс Database, который хранит в себе эти объекты с помощью контейнера std::list<Person const *>. Вот пример кода, работающий без ошибок: Student s1; - создать...
C++ Написать программу, которая предлагает пользователю ввести год, проверяет, является ли он високосным (кратен 4, если заканчивается на 00, то еще кр Написать программу, которая предлагает пользователю ввести год, проверяет, является ли он високосным (кратен 4, если заканчивается на 00, то еще кратен 400) и выводит результат в консоль. прошу помощи подробнее

Показать сообщение отдельно
SilverAngel
0 / 0 / 0
Регистрация: 04.10.2013
Сообщений: 3
06.10.2013, 02:11     Прога для определения наибольшего возрастающего ряда в последовательности цифр
Прога должна запускаться через командную строку, считывать входные данные из одного текстового файла, и записать выходные данные в другой текстовый файл. Сама суть программы в том, чтобы найти в последовательности чисел возрастающий ряд с самым большим количеством его элементов и записать информацию об этом ряде в файл. Если рядов одинаковой длины несколько, то нужно вывести инфу для всех этих рядов. Входные данные - это количество чисел в последовательности ( первая строчка текстового файла) и сама последовательность чисел, введенных через пробелы( это вторая строка во входном файле) Выходной файл должен содержать число 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);
}
Миниатюры
Прога для определения наибольшего возрастающего ряда в последовательности цифр  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 08:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru