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

Монотонные последовательности - C++

Восстановить пароль Регистрация
 
Berens
1 / 1 / 0
Регистрация: 26.10.2010
Сообщений: 27
24.12.2010, 20:07     Монотонные последовательности #1
Пожалуйста, помогите разобраться что написано не правильно:
Задача:Дан файл, компонентами которого являются действительные числа. Определить размер самой длинной монотонной последовательности, значения этой последовательности распечатать на экране.
Мой код:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>
void main()
{
clrscr();
FILE *f;
char txt[10][50], chislo[100][3], x;
int i, j, k, t, n, m, h, max, l;
int a[10][50], c[50], d[10];
int b[100][50];
f=fopen("chisla.txt", "r");
i=0;
do
{
fgets(txt[i],29,f);
txt[i][strlen(txt[i])-1]='\0';
i++;
}
while (!feof(f));
k=i-1;
x=32;
l=0;
for (i=0; i<k-1; i++)
printf ("%s\n", txt[i]);
printf ("\n");
for (i=0; i<k-1; i++)
{
j=0;
h=0;
while (h<strlen(txt[i]))
{
t=0;
chislo[l][t]=txt[i][h];
while (txt[i][h]!=x)
{
t++;
h++;
chislo[l][t]=txt[i][h];
}
a[i][j]=atoi(chislo[l]);
j++;
h++;
l++;
}
d[i]=j;
}
h=0;
for (i=0; i<k; i++)
{
t=0;
j=0;
while (j<d[i]-1)
{
while (a[i][j]>a[i][j+1])
{
b[h][t]=a[i][j];
t=t+1;
j=j+1;
}
b[h][t]=a[i][j];
t=t+1;
c[h]=t;
h=h+1;
j=j+1;
t=0;
}
}
for (i=0; i<k; i++)
{
t=0;
j=0;
while (j<d[i]-1)
{
while (a[i][j]<a[i][j+1])
{
b[h][t]=a[i][j];
t=t+1;
j=j+1;
}
b[h][t]=a[i][j];
t=t+1;
c[h]=t;
h=h+1;
j=j+1;
t=0;
}
}
m=h;
max=c[0];
k=0;
for (h=1; h<m; h++)
{
if (max<c[h])
{
max=c[h];
k=h;
}
}
printf ("Samai dlinnai monotonai posledovatelnost:\n");
for (t=0; t<c[k]; t++)
{
printf ("%d ", b[k][t]);
}
getch();
}
Работает иногда правильно, иногда с жуткими глюками, не могу понять в чем причина....
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.12.2010, 20:07     Монотонные последовательности
Посмотрите здесь:

C++ Найти сумму элементов последовательности, начиная от первого отрицательного элемента и до конца последовательности.
Вывод последовательности, определяющий, являются ли простыми/совершенными соответствующие элементы введённой последовательности C++
Вывести в выходной файл монотонные слова C++
Даны две последовательности.Верно ли, что все числа второй последовательности входят в первую. C++
C++ Каждое простое число последовательности увеличить в два раза, посчитать количество простых чисел в исходной последовательности
Массив. Найти, сколько членов первой последовательности совпадает с членами второй последовательности C++
C++ Даны две последовательности. Верно ли, что все члены второй последовательности входят в первую?
Построить элементы в убывающей последовательности и вывести первоначальные индексы последовательности C++

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

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

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