![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
Arahael |
|
|||
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 25.7.2010 Репутация: нет Всего: -1 |
Здравствуйте. Решал я задачу по программированию, всё было отлично, но тут случилась беда)
Вобщем задача состоит в том, что бы с массива типа char, в котором записаны 15 чисел через пробел, создать массив чисел, ну и найти среди них самое большое число. Вот кусок кода:
Вот, всё работает, но оно заносит в массив х только первые 10 чисел (а их 15), и я не понимаю почему....если не сложно объясните пожалуйста, скажите где моя ошибка, или просто приведите пример, каким образом можно легче реализовать выполнение этой задачи. Спасибо. |
|||
|
||||
EgorTheBlade |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 141 Регистрация: 5.12.2009 Репутация: нет Всего: -1 |
Почему нельзя сделать через if(isdigit())? Может x[i] мал. Посмотрите на какой итерации это происходит и чем предыдущая отличается от той в которой происходит проблема
|
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
на вид вроде правильно..
хотя вызывает сомнение инициализация ost_ch. скопируйте код сюда : http://liveworkspace.org и дайте ссылку на тестовый пример. Это сообщение отредактировал(а) mes - 17.10.2010, 14:28 |
|||
|
||||
Arahael |
|
|||
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 25.7.2010 Репутация: нет Всего: -1 |
и каким же образом через isdigit сделать?
И что такое итерация? |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
||||
|
||||
Arahael |
|
|||
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 25.7.2010 Репутация: нет Всего: -1 |
||||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
ну а привести в подобающий вид, чтоб все компилилось разве не нужно ?!
это всего 20 символов, учитывая что цифры написаны через пробел, всего 10 одноциферных чисел.. Добавлено через 55 секунд вобщем увеличьте размер массива.. Добавлено через 2 минуты и 11 секунд ну а вобще пока нет опыта разделяйте задание на части.. возьмите тестовую строку и на ней отработайте свой код, и только после того как устраните все недочеты пытайтесь загружать строку из файла.. Добавлено через 3 минуты и 6 секунд и не забывайте про тестовый вывод.. после каждого действия смотрите результат.. и не придется обращаться на форум из за мелочей ![]() |
|||
|
||||
Arahael |
|
|||
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 25.7.2010 Репутация: нет Всего: -1 |
Извиняюсь, там при подключении библиотеки string, я забыл дописать .h, поэтому оно и писало ошибку, но даже если там дописать .h и увеличить массив, всё равно ничего не получается
Добавлено через 43 секунды с загрузкой из файла проблем не возникло) |
|||
|
||||
EgorTheBlade |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 141 Регистрация: 5.12.2009 Репутация: нет Всего: -1 |
||||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
для C++ правильнее <cstring> |
|||
|
||||
Arahael |
|
|||
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 25.7.2010 Репутация: нет Всего: -1 |
Программа по прежнему преобразовывает только первые 10 символов числа
|
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
у вас целые или вещественные числа ? если второе, то atof, a не atoi..
|
|||
|
||||
Arahael |
|
|||
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 25.7.2010 Репутация: нет Всего: -1 |
Если писать <cstring> -- fatal error: сstring: No such file or directory
|
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
ловите, привел часть вашей программы в читабельный вид
http://liveworkspace.org/code/e8f261fa7870...4fea3c6bb3712c7 добавляйте теперь чтение с файла |
|||
|
||||
EgorTheBlade |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 141 Регистрация: 5.12.2009 Репутация: нет Всего: -1 |
можно весь код? или он большой?
|
|||
|
||||
Arahael |
|
|||
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 25.7.2010 Репутация: нет Всего: -1 |
У меня целые числа. вот строка: "1 2 3 4 5 6 7 8 9 8 7 5 2 6 1"
Добавлено через 1 минуту и 42 секунды Оооо, mes, спасибо огромное, можете теперь пожалуйста объяснить в чем была моя ошибка? |
|||
|
||||
mes |
|
||||||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
хотя вместо этого кода
логичнее сделать так :
Добавлено через 1 минуту и 18 секунд P.S. еще лучше valstr [val_count++] = substr; , но Вам, судя по коду, еще рано .. Добавлено через 3 минуты и 11 секунд
я ее не искал.. ![]() сравнить коды и найти причину - оставим Вам для разминки ![]() |
||||||
|
|||||||
Arahael |
|
|||
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 25.7.2010 Репутация: нет Всего: -1 |
Спасибо большое) если б у меня было 100 постов, я бы поднял вам репутацию, но, извините, не могу пока что)
|
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
||||
|
||||
Arahael |
|
|||
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 25.7.2010 Репутация: нет Всего: -1 |
Это я не про компилятор) в компиляторе всё ок) я про тот сайт, который вы мне кинули)
|
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
ммм.. в примере что я Вам подправил, стоит именно <cstring> и все работает ![]() |
|||
|
||||
Arahael |
|
|||
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 25.7.2010 Репутация: нет Всего: -1 |
да-да, я видел) это странно)
|
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
у вас первая буква "c" русская, а не латинская ![]() Добавлено через 25 секунд внимательнее надо быть, с раскладкой ![]() |
|||
|
||||
Arahael |
|
|||
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 25.7.2010 Репутация: нет Всего: -1 |
ааа, я протупил, извините)
|
|||
|
||||
Crafty |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 319 Регистрация: 3.11.2008 Репутация: 12 Всего: 14 |
||||
|
||||
Dov |
|
||||
![]() аСинизатор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1721 Регистрация: 10.5.2003 Где: Эрец-Исраэль Репутация: 11 Всего: 88 |
Например, так:
-------------------- Тут вечности запах томительный, И свежие фрукты дешевые, А климат у нас – изумительный, И только соседи – #уевые. Игорь Губерман. |
||||
|
|||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
1. только надо уточнить, что данный код не для строки чисел, а для строки цифр, хотя судя по строке приведенной тс. должно подойти.. 2. не хорошо лепить все в одном месте, а именно заполнение массива и поиск максимального элемента.. разбиение на два несвязанных цикла не будет пессимизацией, а логика станет чище.. 3. если соблюсти пункт 2, тогда и не придется использовать INT_MIN.. |
|||
|
||||
Dov |
|
|||
![]() аСинизатор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1721 Регистрация: 10.5.2003 Где: Эрец-Исраэль Репутация: 11 Всего: 88 |
mes, ну ты и зануда...
![]()
-------------------- Тут вечности запах томительный, И свежие фрукты дешевые, А климат у нас – изумительный, И только соседи – #уевые. Игорь Губерман. |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
ну тогда, чтоб оправдать звание добавлю, что код привязан жестко к фиксированному кол-ву чисел.. и есть возможность записи за границы.. но это можно оставить тс. как дом задание, если ему подойдет.. ![]() |
|||
|
||||
Dov |
|
|||
![]() аСинизатор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1721 Регистрация: 10.5.2003 Где: Эрец-Исраэль Репутация: 11 Всего: 88 |
это условие ТС, я здесь нипричём. ![]() Вот это правильно. ![]() Вот ещё примерчик для этой строки:
-------------------- Тут вечности запах томительный, И свежие фрукты дешевые, А климат у нас – изумительный, И только соседи – #уевые. Игорь Губерман. |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
ну и если быть совсем извращенцем и дословно подойти к заданию :
|
|||
|
||||
Dov |
|
|||
![]() аСинизатор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1721 Регистрация: 10.5.2003 Где: Эрец-Исраэль Репутация: 11 Всего: 88 |
mes ![]()
А где же массивчик? ![]() -------------------- Тут вечности запах томительный, И свежие фрукты дешевые, А климат у нас – изумительный, И только соседи – #уевые. Игорь Губерман. |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
там же написано
а значит создавать ничего не нужно, так как строка изначально является массивом цифр при особом рассмотрении.. ![]() |
|||
|
||||
Dov |
|
|||
![]() аСинизатор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1721 Регистрация: 10.5.2003 Где: Эрец-Исраэль Репутация: 11 Всего: 88 |
В таком случае эта строка должна вывести: 10 в чём я очень сомневаюсь. ![]() -------------------- Тут вечности запах томительный, И свежие фрукты дешевые, А климат у нас – изумительный, И только соседи – #уевые. Игорь Губерман. |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
почему ? http://liveworkspace.org/code/91ca7a879aa7...2087687fab4a75f Добавлено через 4 минуты и 51 секунду а вот лишнее сравнение есть.. :( но от него легко избавиться ![]() |
|||
|
||||
Dov |
|
|||
![]() аСинизатор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1721 Регистрация: 10.5.2003 Где: Эрец-Исраэль Репутация: 11 Всего: 88 |
-------------------- Тут вечности запах томительный, И свежие фрукты дешевые, А климат у нас – изумительный, И только соседи – #уевые. Игорь Губерман. |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
||||
|
||||
Dov |
|
|||
![]() аСинизатор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1721 Регистрация: 10.5.2003 Где: Эрец-Исраэль Репутация: 11 Всего: 88 |
mes, твой код находит max, который равняется 9. Так? Если к нему (max`у) прибавить 1, то, если я не ошибаюсь, должно получиться 10. Так? Или не так? Если не так, то в коде ошибка... ![]() Это сообщение отредактировал(а) Dov - 17.10.2010, 23:41 -------------------- Тут вечности запах томительный, И свежие фрукты дешевые, А климат у нас – изумительный, И только соседи – #уевые. Игорь Губерман. |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
||||
|
||||
Dov |
|
|||
![]() аСинизатор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1721 Регистрация: 10.5.2003 Где: Эрец-Исраэль Репутация: 11 Всего: 88 |
Что бы убедиться, что max, который ты находишь не равен 9. Иначе, в сумме с 1 должно выводить 10. -------------------- Тут вечности запах томительный, И свежие фрукты дешевые, А климат у нас – изумительный, И только соседи – #уевые. Игорь Губерман. |
|||
|
||||
mes |
|
||||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
ааа понял о чем Вы )) ну так :
а не массивом чисел ![]() Добавлено через 4 минуты и 43 секунды а то что у тс стоит "чисел",а не "цифр", то это просто путаница понятий.. которая предполагается начиная (как минимум) отсюда : ![]() |
||||
|
|||||
Dov |
|
|||
![]() аСинизатор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1721 Регистрация: 10.5.2003 Где: Эрец-Исраэль Репутация: 11 Всего: 88 |
-------------------- Тут вечности запах томительный, И свежие фрукты дешевые, А климат у нас – изумительный, И только соседи – #уевые. Игорь Губерман. |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
при том что цифра не может быть "10" ![]() Добавлено через 1 минуту и 5 секунд вот развели то оффтопика ) |
|||
|
||||
Dov |
|
|||
![]() аСинизатор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1721 Регистрация: 10.5.2003 Где: Эрец-Исраэль Репутация: 11 Всего: 88 |
Цифра не может, но max + 1 может. Или нет? ![]() -------------------- Тут вечности запах томительный, И свежие фрукты дешевые, А климат у нас – изумительный, И только соседи – #уевые. Игорь Губерман. |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
||||
|
||||
Dov |
|
|||
![]() аСинизатор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1721 Регистрация: 10.5.2003 Где: Эрец-Исраэль Репутация: 11 Всего: 88 |
Как что? Вот: -------------------- Тут вечности запах томительный, И свежие фрукты дешевые, А климат у нас – изумительный, И только соседи – #уевые. Игорь Губерман. |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
||||
|
||||
Dov |
|
|||
![]() аСинизатор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1721 Регистрация: 10.5.2003 Где: Эрец-Исраэль Репутация: 11 Всего: 88 |
-------------------- Тут вечности запах томительный, И свежие фрукты дешевые, А климат у нас – изумительный, И только соседи – #уевые. Игорь Губерман. |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
не буду... ![]() так как код основан исходя из предположения о путанице тс. понятий чисел и цифр, на которой Вы до этого заострили внимание своим кодом.. если предполагать что все верно, метод получения чисел тоже не верен.. ![]() 4444й пост Это сообщение отредактировал(а) mes - 18.10.2010, 00:45 |
|||
|
||||
Dov |
|
|||
![]() аСинизатор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1721 Регистрация: 10.5.2003 Где: Эрец-Исраэль Репутация: 11 Всего: 88 |
![]() ![]() Добавлено через 2 минуты и 14 секунд mes, когда я такое читаю, то начинаю оглядываться по сторонам, в надежде увидеть рядом с собой ещё кого-нибудь... ![]() Добавлено через 4 минуты и 46 секунд В иврите нет обращения на 'Вы', по-этому в Израиле обращаются только на 'ты'. -------------------- Тут вечности запах томительный, И свежие фрукты дешевые, А климат у нас – изумительный, И только соседи – #уевые. Игорь Губерман. |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
||||
|
||||
Dov |
|
|||
![]() аСинизатор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1721 Регистрация: 10.5.2003 Где: Эрец-Исраэль Репутация: 11 Всего: 88 |
-------------------- Тут вечности запах томительный, И свежие фрукты дешевые, А климат у нас – изумительный, И только соседи – #уевые. Игорь Губерман. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |