|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
15.02.2009, 17:02 | #1 |
Пользователь
Регистрация: 30.11.2006
Сообщений: 15
|
Проблема при работе с массивом
Приветствую всех. Вобщем ситуация следующая, переписывая лабу с паскаля на си, столкнулся с кое-какой проблемкой.
Вот написанный мной код: Код:
Код:
Проблема заключается в следующем: код на паскале работает как часики, а вот на си... на последнем шаге работы цикла в переменную n невообразимым способом попадает некоторое число равное приблизительно a[i] Программу тестировал следующими входными данными: 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 по идее максимальное число 9, их кол-во - 1, а программа пишет, что их 6 Уже довольно долго сижу и не могу понять в чем дело... |
15.02.2009, 17:18 | #2 | |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
Цитата:
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
|
15.02.2009, 17:25 | #3 |
Пользователь
Регистрация: 30.11.2006
Сообщений: 15
|
Хм... интересно. Дабы не быть голословным добавил аттачи.
P.S. Аналогичная программа без ввода элементов, работает нормально. Вот текст: Код:
Последний раз редактировалось kAND; 15.02.2009 в 17:30. |
15.02.2009, 17:36 | #4 |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
Попробуйте так:
Код:
Иначе будут ошибки при подобном вводе: 1 2 3 4 4 4 4 5 6 7 8 8 8 8 9 9
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] Последний раз редактировалось Sazary; 15.02.2009 в 17:38. |
15.02.2009, 17:38 | #5 |
Пользователь
Регистрация: 30.11.2006
Сообщений: 15
|
Хм... думаю с ним было лучше
2 Sazary, ответ выдает не верный n=1, max=7. Но за поправку в алгоритме спасибо, не учел Последний раз редактировалось kAND; 15.02.2009 в 17:47. |
15.02.2009, 17:47 | #6 | |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
Цитата:
Все должно работать.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
|
15.02.2009, 17:56 | #7 |
Пользователь
Регистрация: 30.11.2006
Сообщений: 15
|
попробовал другим компилятором, результат тот же Попробую на другом компе, может дело в нем...
------------ нет, проблема не в компе ------------ Спасибо всем за помощь, буду разбираться в чем проблема, может найду причину. Если найду, отпишусь Последний раз редактировалось kAND; 15.02.2009 в 18:02. |
15.02.2009, 18:16 | #8 |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
kAND Я компилю в MinGW.
Специально проверил в borland C++ 3.1. Для 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 говорит, что максимум =7 (а количество 1). Этого НЕ должно происходить и я не знаю почему так получается. А вот вообще бред: 1 2 3 3 4 5 6 6 6 9 7 6 5 4 3 There are 2 max values. Max value is: 3 ========= Код:
Но, почему-то, выводить элемент массива с этим индексом не хочет. ========== поправка: все-таки проблема не только в этом.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] Последний раз редактировалось Sazary; 15.02.2009 в 18:18. |
15.02.2009, 18:16 | #9 |
Eclipse Foundation
Старожил
Регистрация: 19.09.2007
Сообщений: 2,604
|
Сделайте пошаговую отладку. Выясните на каком этапе у вас ошибка.
---------------------------------------------------------- Мда... ошибка коварная... у вас цикл от 0 до 14(включительно), тоесть 15 итераций, а элементов всего 14 Код:
Последний раз редактировалось MaTBeu; 15.02.2009 в 18:21. |
15.02.2009, 18:25 | #10 |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
MaTBeu Да, действительно, ошибка коварная )
Кстати, хотелось бы заметить, что в Dev-Cpp работает даже в таком виде.(даже если максимальный элемент будет 14-м)
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задача по работе с массивом... | ЕвгенийОлегович | Помощь студентам | 1 | 20.05.2008 22:36 |
Проблема при работе с БД | HAMMAN | БД в Delphi | 3 | 29.03.2008 14:42 |
проблема при работе с несколькими исходными файлами | Grind | Помощь студентам | 2 | 19.02.2008 19:37 |
Проблема с параметрами при работе С ADO | А. Долматов | БД в Delphi | 22 | 30.11.2007 08:47 |
Проблема при работе с представлениями | Nemec | БД в Delphi | 2 | 29.07.2007 04:21 |