Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
wawki
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 22
1

Задача по структурам, обнаружить ошибку

15.10.2014, 18:54. Просмотров 391. Ответов 14
Метки нет (Все метки)

дан массив записей, содержащих время (час, минута, секунда). Упорядочить этот массив в порядке "убывания", т.е. от более поздних значений к более ранним.

для вывода списка.
C++
1
Memo1->Lines->LoadFromFile(GetCurrentDir()+"\\время.txt");
для упорядочения массива
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
struct time {
             unsigned Hour, Min , Sec;
            };
 
time a[15];
int  i,k=Memo1->Lines->Count, ch1, m1,s1;
AnsiString x;
bool f;
for(i=0;i=k;i++)
    {x=Memo1->Lines->Strings[i];
     a[i].Hour=StrToInt(x.SubString(1,x.Pos(" ")-1));
     x.Delete(1,x.Pos(" "));
     a[i].Min=StrToInt(x.SubString(1,x.Pos(" ")-1));
     x.Delete(1,x.Pos(" "));
     a[i].Sec=StrToInt(x.SubString(1,x.Pos(" ")-1));
     x.Delete(1,x.Pos(" "));
    }
for(i=0;i=k;i++)
    {
     f=0;
     if(a[i].Hour<a[i+1].Hour) f==1;
     else
        if(a[i].Hour==a[i+1].Hour && a[i].Min<a[i+1].Min ) f==1;
        else
           if(a[i].Hour==a[i+1].Hour && a[i].Min==a[i+1].Min && a[i].Sec<a[i+1].Sec)f==1;
     if(f==1)
        ch1=a[i].Hour;
        a[i].Hour=a[i+1].Hour;
        a[i+1].Hour=ch1;
        m1=a[i].Min;
        a[i].Min=a[i+1].Min;
        a[i+1].Min=m1;
        s1=a[i].Sec;
        a[i].Sec=a[i+1].Sec;
        a[i+1].Sec=s1;
 
     }
for(i=0;i=k;i++)
    Memo2->Lines->Add(a[i].Hour+a[i].Min+a[i].Sec);
при нажатии на кнопку "Упорядочить " билдер начинает ругаться
Project Project1.exe raised exception class EConvertError with message '''is not a valid integer value' . Process stopped. Use Step or Run to continue.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.10.2014, 18:54
Ответы с готовыми решениями:

Задача по структурам, прошу найти ошибку
Программа должна делать следующее - пользователь вводит список спортсменов, а...

Помогите обнаружить ошибку в программе!
Помогите пожалуйста ! Вот код, не компилится, вылетает ошибка ! #include...

задача по структурам
определить структуру для описания полинома. Составить функции: а)...

Не получается обнаружить ошибку(метод Шелла)
Проблема в том что я написала программу на паскале,а преподаватель попросил...

Задача по структурам(очень ваааажно экзамен!)
Опишите структуру для моделирования, предложенного понятия. Введите необходимое...

14
Гоблин-инженер
113 / 110 / 65
Регистрация: 18.09.2014
Сообщений: 337
16.10.2014, 11:49 2
wawki,
C++
1
f==1
зачем вы сравниваете f с 1 ?
1
wawki
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 22
16.10.2014, 12:42  [ТС] 3
это не сравнение, это означает, что f равна 1
0
Boleon
Guardian of Asgaard
373 / 316 / 197
Регистрация: 11.11.2013
Сообщений: 1,046
Завершенные тесты: 1
16.10.2014, 13:24 4
Цитата Сообщение от wawki Посмотреть сообщение
это не сравнение, это означает, что f равна 1
Чем отличается оператор присвоения от оператора сравнения?
0
wawki
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 22
16.10.2014, 13:32  [ТС] 5
Цитата Сообщение от Darkrduk Посмотреть сообщение
Чем отличается оператор присвоения от оператора сравнения?
ну сравнивается же , когда там больше или меньше
0
Boleon
Guardian of Asgaard
373 / 316 / 197
Регистрация: 11.11.2013
Сообщений: 1,046
Завершенные тесты: 1
16.10.2014, 13:58 6
Цитата Сообщение от Гоблин-инженер Посмотреть сообщение
C++
1
f==1
зачем вы сравниваете f с 1 ?
Цитата Сообщение от wawki Посмотреть сообщение
это не сравнение, это означает, что f равна 1
Это означает, что f сравнивается с 1
0
wawki
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 22
16.10.2014, 14:01  [ТС] 7
Цитата Сообщение от Darkrduk Посмотреть сообщение
Это означает, что f сравнивается с 1
я не особо шарю в билдере, может тогда Вы поможете мне с данной задачей?
0
Boleon
Guardian of Asgaard
373 / 316 / 197
Регистрация: 11.11.2013
Сообщений: 1,046
Завершенные тесты: 1
16.10.2014, 14:33 8
wawki, замени на
C++
1
f = 1
чтоб присвоить f единицу
0
wawki
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 22
16.10.2014, 14:41  [ТС] 9
Цитата Сообщение от Darkrduk Посмотреть сообщение
чтоб присвоить f единицу
уже пробовал толку 0, мне кажется где-то в другом месте ошибка , но я не могу ее найти
0
Kuzia domovenok
2390 / 2112 / 507
Регистрация: 25.03.2012
Сообщений: 7,598
Записей в блоге: 1
16.10.2014, 15:02 10
wawki, от того, что у тебя во всех местах ошибки, двойное f==1 ошибкой быть не перестаёт.
Открываем тыц и туц и читаем до посинения, пока не найдёшь различия.
0
wawki
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 22
16.10.2014, 15:11  [ТС] 11
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
wawki, от того, что у тебя во всех местах ошибки, двойное f==1 ошибкой быть не перестаёт.
Открываем тыц и туц и читаем до посинения, пока не найдёшь различия.
дело не в том, что у меня f==1 , а в том , что программа при нажатии на кнопку упорядочения выводит в memo1 информацию с текстового файла, а на memo2 ничего не выводится, поэтому я и создал тему,что бы вы помогли с решение данной проблемы, но вы все указываете на одну и ту же ошибку
0
Kuzia domovenok
2390 / 2112 / 507
Регистрация: 25.03.2012
Сообщений: 7,598
Записей в блоге: 1
16.10.2014, 15:19 12
Цитата Сообщение от wawki Посмотреть сообщение
дело не в том, что у меня f==1 , а в том , что программа при нажатии на кнопку упорядочения выводит в memo1 информацию с текстового файла, а на memo2 ничего не выводится, поэтому я и создал тему,что бы вы помогли с решение данной проблемы, но вы все указываете на одну и ту же ошибку
"-у меня машина не едет.
- так ты прикрути колёса
- я уже прикручивал, всё равно не едет, значит что-то другое виновато
- так ты прикрути колёса сначала
- говорю же, с колёсами не едет, поэтому я их открутил."
0
wawki
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 22
16.10.2014, 15:21  [ТС] 13
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Сообщение от wawki
дело не в том, что у меня f==1 , а в том , что программа при нажатии на кнопку упорядочения выводит в memo1 информацию с текстового файла, а на memo2 ничего не выводится, поэтому я и создал тему,что бы вы помогли с решение данной проблемы, но вы все указываете на одну и ту же ошибку
"-у меня машина не едет.
- так ты прикрути колёса
- я уже прикручивал, всё равно не едет, значит что-то другое виновато
- так ты прикрути колёса сначала
- говорю же, с колёсами не едет, поэтому я их открутил."
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
struct time {
             unsigned Hour, Min , Sec;
            };
 
time a[15];
int  i,k=Memo1->Lines->Count, ch1, m1,s1;
AnsiString x;
bool f;
for(i=0;i=k;i++)
    {x=Memo1->Lines->Strings[i];
     a[i].Hour=StrToInt(x.SubString(1,x.Pos(" ")-1));
     x.Delete(1,x.Pos(" "));
     a[i].Min=StrToInt(x.SubString(1,x.Pos(" ")-1));
     x.Delete(1,x.Pos(" "));
     a[i].Sec=StrToInt(x.SubString(1,x.Pos(" ")-1));
     x.Delete(1,x.Pos(" "));
    }
for(i=0;i=k;i++)
    {
     f=0;
     if(a[i].Hour<a[i+1].Hour) f=1;
     else
        if(a[i].Hour==a[i+1].Hour && a[i].Min<a[i+1].Min ) f=1;
        else
           if(a[i].Hour==a[i+1].Hour && a[i].Min==a[i+1].Min && a[i].Sec<a[i+1].Sec)f=1;
     if(f=1)
       { ch1=a[i].Hour;
         a[i].Hour=a[i+1].Hour;
         a[i+1].Hour=ch1;
         m1=a[i].Min;
         a[i].Min=a[i+1].Min;
         a[i+1].Min=m1;
         s1=a[i].Sec;
         a[i].Sec=a[i+1].Sec;
         a[i+1].Sec=s1;
       }
     }
for(i=0;i=k;i++)
    Memo2->Lines->Add(a[i].Hour+a[i].Min+a[i].Sec);
что не так?
0
zss
Модератор
Эксперт С++
7360 / 6769 / 4281
Регистрация: 18.12.2011
Сообщений: 17,882
Завершенные тесты: 1
16.10.2014, 15:55 14
Цитата Сообщение от wawki Посмотреть сообщение
if(f=1)
Здесь Вам надо проверить, верно ли, что f равно 1.
Поэтому пишем
C++
1
if(f==1)
Добавлено через 44 секунды
Цитата Сообщение от wawki Посмотреть сообщение
C++
1
2
if(a[i].Hour==a[i+1].Hour && a[i].Min<a[i+1].Min ) 
      f=1;
А здесь правильно. f присвоить единицу.
1
wawki
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 22
16.10.2014, 16:01  [ТС] 15
я все поменял, но отсортированные данные не выводятся .
вот код
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
Memo1->Lines->LoadFromFile(GetCurrentDir()+"\\время.txt");
struct time {
             unsigned Hour, Min , Sec;
             } ;
 
time t[15];
int  i,k=Memo1->Lines->Count, chas, mi,se;
AnsiString x;
bool f;
for(i=0;i==k;i++)
    {x=Memo1->Lines->Strings[i];
     t[i].Hour=StrToInt(x.SubString(1,x.Pos(" ")-1));
     x.Delete(1,x.Pos(" "));
     t[i].Min=StrToInt(x.SubString(1,x.Pos(" ")-1));
     x.Delete(1,x.Pos(" "));
     t[i].Sec=StrToInt(x.SubString(1,x.Pos(" ")-1));
     x.Delete(1,x.Pos(" "));
    }
for(i=0;i=k;i++)
    {
     f=0;
     if(t[i].Hour<t[i+1].Hour) f=1;
     else
        if(t[i].Hour==t[i+1].Hour && t[i].Min<t[i+1].Min ) f=1;
        else
           if(t[i].Hour==t[i+1].Hour && t[i].Min==t[i+1].Min && t[i].Sec<t[i+1].Sec)f=1;
     if(f==1)
        {
         chas=t[i].Hour;
         t[i].Hour=t[i+1].Hour;
         t[i+1].Hour=chas;
         mi=t[i].Min;
         t[i].Min=t[i+1].Min;
         t[i+1].Min=mi;
         se=t[i].Sec;
         t[i].Sec=t[i+1].Sec;
         t[i+1].Sec=se;
        }
    }
for(i=0;i=k;i++)
    Memo2->Lines->Add((String)t[i].Hour+" "+(String)t[i].Min+" "+(String)t[i].Sec);
0
16.10.2014, 16:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.10.2014, 16:01

Не могу обнаружить ошибку в учебной программе из книги (шаблоны классов)
Вот упрощённый код учебной программы из книжки Детейла. Не компилится, пишет:...

Задача с треугольником, найдите ошибку
Собственно не понятно, почему пишет ошибку, помогите пжлст)...

Прога по Структурам
Ни могу понять как в массив забить рациональное число((( Вот задание: Ввести...


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

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

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