|
|
|
Файловый ввод-вывод
|
|||
|---|---|---|---|
|
#18+
Привет всем кто осваивает или освоил C++. Я начал заниматься Си совсем недавно. Вот пишу прогу и в ней необходимо сделать так чтобы из файла состоящего из последовательности чисел, на дисплей выводилось бы мах и мин число. Я парюсь немогу никак поймать логику. Нужно чтобы прога была универсальной неважно 100 или 200 чисел в файле(кроме пробелов между ними нет нифига). Пришлите ПЛЗ листинг с куском реализующим это. Я очень благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2005, 20:29 |
|
||
|
Файловый ввод-вывод
|
|||
|---|---|---|---|
|
#18+
Это тебе надо написать программу. На С. Или С++. В ней надо читать числа из файла и в двух переменных считать в одной максимальное, в другой-минимальное. Ну и все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2005, 23:44 |
|
||
|
Файловый ввод-вывод
|
|||
|---|---|---|---|
|
#18+
Подозреваю, что файл с числами - это БД. Тогда надо к ней подключиться и выполнить запрос. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2005, 06:47 |
|
||
|
Файловый ввод-вывод
|
|||
|---|---|---|---|
|
#18+
GrEEN@qЯ парюсь немогу никак поймать логику. ??? Какая тут логика? читаешь числа и сравниваешь с текущиим мин. и макс. значениями... Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2005, 10:07 |
|
||
|
Файловый ввод-вывод
|
|||
|---|---|---|---|
|
#18+
Да я понял. Я даже массивы не освоил еще. Так сказать я только на вводе-выводе, стандартных средствах пока. Очень помог приведенный листинг,огромное спасибо. Принципы программирования конечно надо освоить в первую очечередь, на мануалах(еле разобрался в азах-передачи по ссылке и по значению), очень сложно понять. Я вот купил Волтера Савича, очень неплохо постороено изложения. Я буду иногда обращаться к вам , а вы если будет желание помогайте плз. АФФТАРЖОТ) Так вот насчет БД, нет нет и еще раз нет, я выполняю так скзать самоупражнения и вот в одной части и понадобилось вот это. Еще раз огромное спасибо. просто освоив принципы, будет легче в том же Java и Flash ну и тд и тп разумеется, все построено так близко. ifstream ifs(argv[1]) вот это подразумевает открытия потока ? просто я на С++ ifstream.open(file) while (! if_stream.eof()) { if_stream.get(symbol) if(n < nmin) nmin = n; if(n > nmax) nmax = n; так ведь можно? ладно забейте, я коментарии напишу и бутед понятно где я туплю, мне ведь надо понять принципы а не протсо тупо откомпилировать. ЕЩЕ РАЗ СПАСИБО ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2005, 02:08 |
|
||
|
Файловый ввод-вывод
|
|||
|---|---|---|---|
|
#18+
имел ввииду while (! if_stream.eof()) { if_stream.get(n) if(n < nmin) nmin = n; if(n > nmax) nmax = n; } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2005, 02:10 |
|
||
|
Файловый ввод-вывод
|
|||
|---|---|---|---|
|
#18+
GrEEN@q ifstream ifs(argv[1]) вот это подразумевает открытия потока ? просто я на С++ ifstream.open(file) Код: plaintext 1. Создает объект типа ifstream, т.е. файловый поток ввода. Имя файла берется из первого параметра командной строки - argv[1]. По поводу Код: plaintext 1. 2. 3. 4. 5. и пр. Можно так писать, но зачем? В нашем случае конструктор и так откроет файл, можно обойтись без явного open(). Раз уж мы читаем целые числа, давайте пользоваться оператором ввода, т.е. >>. Который во-первых нормально обработает все пропуски (пробелы, табуляции, перевод каретки, левые символы и пр), а во-вторых вернет ссылку на поток, благодаря чему можно проверить результат операции. По основам С++, т.е. совсем начальный уровень (но не ужас "для чайников" или "за 21 день") рекомендую хорошие книги: "Основы программирования на С++." Автор: Стенли Б. Липпман Издательство: Вильямс, 2002 Эффективное программирование на С++. Серия C++ In-Depth Авторы: Эндрю Кёниг Барбара Му. Издательство: "Вильямс", 2002 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2005, 03:19 |
|
||
|
Файловый ввод-вывод
|
|||
|---|---|---|---|
|
#18+
Почему нельзя внести nmin = n; nmax = n; в цикл while? Да компилится с ошибкой(возврощает тогда одинаковые значения , но мне кажется что if(ifs >> n) и и while(ifs >> n) ведь имеет один смысл----пока происходит чтение файла! Тоесть while(ifs >> n) { nmin = n; nmax = n; if(n < nmin) nmin = n; if(n > nmax) nmax = n; } так не фурычит. И еще, вы используете что-нибудь для задержки вывода на дисплей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2005, 23:12 |
|
||
|
Файловый ввод-вывод
|
|||
|---|---|---|---|
|
#18+
Или просто необходим else? поскольку во внешнем IF он был и тогда для внутренних if-ов он небыл нужен чтоли. Если еще не такой напряг поднимать из-за такой чепуховой програмки дискуссию, то был бы очень благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2005, 23:16 |
|
||
|
Файловый ввод-вывод
|
|||
|---|---|---|---|
|
#18+
Хорошо. Раз ты не понимаешь что тут написано, объясню популярно (см. комментарии)... Код: plaintext 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. Теперь разберем твой алгоритм: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. автор ... компилится с ошибкой Это означает, что компилятор выдал сообщение об ошибке. В данной программе такого быть просто не может! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2005, 06:59 |
|
||
|
Файловый ввод-вывод
|
|||
|---|---|---|---|
|
#18+
Д у м а ю..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2005, 00:23 |
|
||
|
Файловый ввод-вывод
|
|||
|---|---|---|---|
|
#18+
Насчет компилится с ошибкой я имел ввиду что выдается результат с неправильной логикой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2005, 00:25 |
|
||
|
Файловый ввод-вывод
|
|||
|---|---|---|---|
|
#18+
while(ifs >> n) //Пока есть данные в файле { nmin = n; // Предполагаем, что число одновременно минимальное nmax = n; // и максимальное из всего набора тоесть получается я уже предопределил их все остальные итерации не имеют смысла. Значит все в одном цикле делать нельзя, мда..... if(n < nmin) nmin = n; if(n > nmax) nmax = n; } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2005, 00:32 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=33318453&tid=2032616]: |
0ms |
get settings: |
11ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
79ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
| others: | 236ms |
| total: | 425ms |

| 0 / 0 |
