|
|
|
Помогите исправить ошибки в программах на С++.
|
|||
|---|---|---|---|
|
#18+
Привет всем, кто читает эту тему! Люди добрые! Помогите, пожалуйста, исправить ошибки в программе, написанной на С++. Для начала коротко о себе. Я - студент-заочник 1-го курса, делающий лабы. А заочник я из-за инвалидности, поэтому не могу приходить в институт за консультацией и ищу помощи в инете. И вот задание 2-ой лабы и программа, в которой всего один недостаток: Код: 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. Код: 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. 36. 37. 38. 39. 40. 41. 42. Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2006, 10:56 |
|
||
|
Помогите исправить ошибки в программах на С++.
|
|||
|---|---|---|---|
|
#18+
1) cout<<Rus("\t\t\t\tЛабораторная работа № 1"); cout<<endl; == cout<<Rus("\t\t\t\tЛабораторная работа № 1")<<endl; 2) Не рекомендуется смешивать вызовы <iostream> и <stdoi.h> Просто плохой стиль. Тем более что очистка экрана и getch в конце вам собственно на фиг не нужны. 3) if(x<=0) f=0; cout<</*"\n\n%s\n",*/Rus("При х=")<<x; cout<<Rus(" f(x)=0"); cout<<endl; После IF должен идти ОПЕРАТОР или ОПЕРАТОРНЫЙ БЛОК. В вашем случае (видимо) должно быть несколько операторов, стало быть , должен быть операторный блок. 4) По логике работы три ветки взаимоисключающие, ну так и пишите их взаимоисключающими, с else. 5) по поводу формата -- смотрите в сторону манипуляторов <iostream> 6) У вас (видимо) был введен 0 на входе, но он и должен быть нулем без всяких форматов. У вас же печатается какая-то фигня вообще (я не понял почему), так что совет - приведите в порядок логику работы программы сначала, а затем еще раз прогоните и посмотрите на результаты. Желательно вообще-то все три ветки прогонять, а не одну. Если опять будут вопросы, шлите также и ввод , а не толко вывод (один Бог знает, что вы там набивали). Хорошим тоном в таких случаях считается сделать вывод также и исходных данных, чтобы было видно, что они вводятся, и вводятся правильно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2006, 13:47 |
|
||
|
Помогите исправить ошибки в программах на С++.
|
|||
|---|---|---|---|
|
#18+
MasterZiv1) cout<<Rus("\t\t\t\tЛабораторная работа № 1"); cout<<endl; == cout<<Rus("\t\t\t\tЛабораторная работа № 1")<<endl; В одной теме мне посоветовали сделать как в первом случае, но я проверил второй способ - работает и с ним. Просто сначала у меня эта строка имела вид: Код: plaintext Код: plaintext Код: plaintext 1. Код: plaintext 1. Код: plaintext 1. Просто плохой стиль.Хм... А покажи мне место где я их смешал... MasterZivТем более что очистка экрана и getch в конце вам собственно на фиг не нужны.Читай внимательнее задание лабы: Код: plaintext MasterZiv3) if(x<=0) f=0; cout<</*"\n\n%s\n",*/Rus("При х=")<<x; cout<<Rus(" f(x)=0"); cout<<endl; После IF должен идти ОПЕРАТОР или ОПЕРАТОРНЫЙ БЛОК. В вашем случае (видимо) должно быть несколько операторов, стало быть , должен быть операторный блок. Что-то я маленько недопонял... Приведи пример. А! Должно быть ты имеешь ввиду сделать так: Код: plaintext 1. 2. MasterZiv4) По логике работы три ветки взаимоисключающие, ну так и пишите их взаимоисключающими, с else.Я так пробовал... Если написать так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. MasterZiv6) У вас (видимо) был введен 0 на входе, но он и должен быть нулем без всяких форматов. У вас же печатается какая-то фигня вообще (я не понял почему), так что совет - приведите в порядок логику работы программы сначала, а затем еще раз прогоните и посмотрите на результаты. Желательно вообще-то все три ветки прогонять, а не одну. Если опять будут вопросы, шлите также и ввод , а не толко вывод (один Бог знает, что вы там набивали). Хорошим тоном в таких случаях считается сделать вывод также и исходных данных, чтобы было видно, что они вводятся, и вводятся правильно. Хм... Видимо ты невнимательно прочёл моё сообщение. А я писал: "При вводе числа, например, 2 выводится вот что: Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2006, 10:39 |
|
||
|
Помогите исправить ошибки в программах на С++.
|
|||
|---|---|---|---|
|
#18+
parenyok Не плоди темы, а лучше ЧИТАЙ ТО, ЧТО ТЕБЕ ПИШУТ.... Если у тебя много времени, то у других его не настолько много... Учи матчасть... ("Блин..",- сказал я и тихо грязно выругался ) Сказал же тебе уже Какабас Барабас, что: Код: plaintext 1. Так как ты вводишь данные в переменную а, то этим кодом: Код: plaintext 1. К сведению: в программировании выражение a=b не эквивалентно выражению b=a ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2006, 11:16 |
|
||
|
Помогите исправить ошибки в программах на С++.
|
|||
|---|---|---|---|
|
#18+
Ура!!! Решил попробовать заменить а=х на х=а и использовать скобки для задания блока: Код: plaintext 1. 2. 3. 4. Теперь проблема с третьей лабой. Задание: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 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. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2006, 11:29 |
|
||
|
Помогите исправить ошибки в программах на С++.
|
|||
|---|---|---|---|
|
#18+
1. У тебя помесь while и for, некошерно как-то :) 1.1. вот за это: "while (x=0);" - по рукам битой ! далее, подобные фрагменты: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Код: plaintext 1. 2. 3. 4. 5. 6. 3. Складывать ряд вещественных чисел от бОльших к меньшим - приведет к потере точности. 4. "Ошибка в строке sum*=pow(x,2*k)/(pow(2,k)*b;" - на первый взгляд, это ведь сумма, зачем *= ???? Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2006, 11:42 |
|
||
|
Помогите исправить ошибки в программах на С++.
|
|||
|---|---|---|---|
|
#18+
Станислав C. parenyok Не плоди темы, а лучше ЧИТАЙ ТО, ЧТО ТЕБЕ ПИШУТ.... Если у тебя много времени, то у других его не настолько много... Учи матчасть... ("Блин..",- сказал я и тихо грязно выругался )Знаешь, что?! Если у других времени мало, то они не регистрируются на форумах подобно этому и уж по крайней мере не ищут темы тех, которым отказали в помощи и не пишут там "оскорбительные" письма, отбивая желание у тех, кто согласился помочь, а делают свои дела! Тем более я в предыдущей теме писал и в этой пишу, что Я НЕ ПРОШУ ПИСАТЬ ЗА МЕНЯ ПРОГИ, А ТОЛЬКО ИСПРАВИТЬ ОШИБКИ!!! А людям, которые знают С++ (пускай даже на базовом уровне) ошибки исправить не составит большого труда, потому как я сейчас изучаю как раз только азы этого языка! А тот, кто не хочет помочь, тот просто проявляет свою гордость, что, мол, он может книгу почитать, вместо этого у других время отнимает! Если так, то для чего вообще этот форум создавали???!!! Станислав C.Сказал же тебе уже Какабас Барабас, что: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2006, 12:26 |
|
||
|
Помогите исправить ошибки в программах на С++.
|
|||
|---|---|---|---|
|
#18+
Во! Карабас Барабас! А ты чё тут делаешь?! Нет, ну спасибо, конечно, что ты проявил желание мне помочь, но просто с вашей со Стасом стороны как-то по нахальски получается: в самой первой теме, которую я создал, меня кинули. Во второй - тоже. Дак ещё и в эту включились... Карабас Барабас1. У тебя помесь while и for, некошерно как-то :) А чё тут такого некошерного-то? Карабас Барабас1.1. вот за это: "while (x=0);" - по рукам битой ! далее, подобные фрагменты: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Код: plaintext 1. 2. 3. 4. 5. 6. Карабас Барабас2. Факториал на каждом проходе сначала будешь считать ?Всмысле... Карабас Барабас3. Складывать ряд вещественных чисел от бОльших к меньшим - приведет к потере точности.Хм... Ну я вычисляю сумму положительных чисел по формуле Код: plaintext 1. 2. Карабас Барабас4. "Ошибка в строке sum*=pow(x,2*k)/(pow(2,k)*b;" - на первый взгляд, это ведь сумма, зачем *= ???? Posted via ActualForum NNTP Server 1.3А это и многое другое я взял из книг. Книга Павловской стр. 50-51 и практикум стр. 40-41. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2006, 13:17 |
|
||
|
Помогите исправить ошибки в программах на С++.
|
|||
|---|---|---|---|
|
#18+
parenyokВо! Карабас Барабас! А ты чё тут делаешь?!Мне непонятен странный тон .... parenyokХм... А какая разница-то?В твоем варианте дважды стоит один и тот же scanf parenyok Карабас Барабас2. Факториал на каждом проходе сначала будешь считать ?Всмысле...в прямом смысле. подумай, как будет считаться факториал на 10000-м, 10001-м, 10002-м проходах. Впрочем, такого факториала не вычислить точно. parenyok Карабас Барабас3. Складывать ряд вещественных чисел от бОльших к меньшим - приведет к потере точности.Хм... Ну я вычисляю сумму положительных чисел по формуле Код: plaintext 1. 2. parenyok Карабас Барабас4. "Ошибка в строке sum*=pow(x,2*k)/(pow(2,k)*b;" - на первый взгляд, это ведь сумма, зачем *= ????А это и многое другое я взял из книг. Книга Павловской стр. 50-51 и практикум стр. 40-41.разбирая логику программы, я понял, что sum - это промежуточное значение, которое будет прибавляться к общей сумме. Зачем же ты каждый раз умножаешь это значение на величину очередного члена ряда ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2006, 13:33 |
|
||
|
Помогите исправить ошибки в программах на С++.
|
|||
|---|---|---|---|
|
#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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2006, 14:05 |
|
||
|
Помогите исправить ошибки в программах на С++.
|
|||
|---|---|---|---|
|
#18+
НАписать так : Код: plaintext 1. это все равно, что написать так: Код: plaintext 1. А надо было написать так: Код: plaintext 1. Да, веселый топег попался !! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2006, 19:13 |
|
||
|
Помогите исправить ошибки в программах на С++.
|
|||
|---|---|---|---|
|
#18+
Заработало! И никаких else не надо! ELSE НАДО !!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2006, 19:17 |
|
||
|
Помогите исправить ошибки в программах на С++.
|
|||
|---|---|---|---|
|
#18+
У, блин.... Как бы не выругацца... Предлагаю такое "соревнование" : parenyok, ты пиши каждую строчку своей программы, и за ней пишы , что она делает. По кусочкам можно, не все сразу. А мы будем говорить, правильно ты думаешь, или нет. А если неправильно, будешь заново писать, что оно делает, либо менять свою программу чтобы она делала то, что ты говоришь.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2006, 19:40 |
|
||
|
Помогите исправить ошибки в программах на С++.
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2006, 19:59 |
|
||
|
Помогите исправить ошибки в программах на С++.
|
|||
|---|---|---|---|
|
#18+
MasterZiv Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Да, входные данные портит безвозвратно. Но для целей "вывел на консоль и забыл" - другого и не надо... Функция работает! (я, как "автор" этой функции сначала все проверил) И явных ошибок (типа Access violation или др.) в пределах учебной программы пользователя Паренек не выдает!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 06:38 |
|
||
|
Помогите исправить ошибки в программах на С++.
|
|||
|---|---|---|---|
|
#18+
Станислав C. MasterZiv Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Да, входные данные портит безвозвратно. Но для целей "вывел на консоль и забыл" - другого и не надо... Функция работает! (я, как "автор" этой функции сначала все проверил) И явных ошибок (типа Access violation или др.) в пределах учебной программы пользователя Паренек не выдает!!! чаще читаем MSDN, господа. Много думаем. MSDNIf the CharToOem function is being used as an ANSI function, the string can be translated in place by setting the lpszDst parameter to the same address as the lpszSrc parameter . This cannot be done if CharToOem is being used as a wide-character function. так что память нихрена не испортится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 09:39 |
|
||
|
Помогите исправить ошибки в программах на С++.
|
|||
|---|---|---|---|
|
#18+
cppтак что память нихрена не испортитсяИспортится, испортится - вызови ее дважды, делов-то Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 11:48 |
|
||
|
Помогите исправить ошибки в программах на С++.
|
|||
|---|---|---|---|
|
#18+
ничего не портится Код: plaintext 1. 2. 3. 4. 5. 6. 7. привет мир тебе яЁштхЄ ьшЁ Єхсх привет мир тебе а если просто два раза вызвать - то испортится строка - но она imho по любому испортится, даже если буферы разные - конвертация такая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 11:56 |
|
||
|
Помогите исправить ошибки в программах на С++.
|
|||
|---|---|---|---|
|
#18+
Станислав C. Функция работает! (я, как "автор" этой функции сначала все проверил) И явных ошибок (типа Access violation или др.) в пределах учебной Функция НЕ работает. Я тоже проверил. (да и проверять-то тут нечего). Завалится она на строке: Код: plaintext 1. попытавшись записать в сегмент, где данные только для чтения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 12:55 |
|
||
|
Помогите исправить ошибки в программах на С++.
|
|||
|---|---|---|---|
|
#18+
Помогите исправить ошибку в четвёртой лабе. Задание: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Код: 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. 36. 37. 38. 39. 40. Код: plaintext Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 13:35 |
|
||
|
Помогите исправить ошибки в программах на С++.
|
|||
|---|---|---|---|
|
#18+
MasterZiv Станислав C. Функция работает! (я, как "автор" этой функции сначала все проверил) И явных ошибок (типа Access violation или др.) в пределах учебной Функция НЕ работает. Я тоже проверил. (да и проверять-то тут нечего). Завалится она на строке: Код: plaintext 1. попытавшись записать в сегмент, где данные только для чтения. В VC++ это так . А вот в Билдере все проходит "на ура"... Вот тестовый пример (на Билдере): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Хотя, конечно, прошу прощения за излишнюю самоуверенность... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 14:32 |
|
||
|
Помогите исправить ошибки в программах на С++.
|
|||
|---|---|---|---|
|
#18+
MasterZivЗавалится она на строке: printf(Rus("Введите значение х!=0:")); попытавшись записать в сегмент, где данные только для чтения.В каком стандарте написано, что строка "Введите значение х!=0:" - только для чтения ? Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 15:48 |
|
||
|
Помогите исправить ошибки в программах на С++.
|
|||
|---|---|---|---|
|
#18+
parenyokПомогите исправить ошибку в четвёртой лабе. Задание: Прa-а-а-тивный... Вот тебе Программа: Код: 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. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. Найди 10 отличий!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 15:57 |
|
||
|
Помогите исправить ошибки в программах на С++.
|
|||
|---|---|---|---|
|
#18+
Карабас БарабасВ каком стандарте написано, что строка "Введите значение х!=0:" - только для чтения ? А в каком стандарте написано, что ее можно менять ? И, уж если о стандартах, какого типа это выражение ? А ? (const char *) - можно ее менять ? Правда я действительно не знаю, написано ли это в стандарте. Смотреть ей-богу лень и смысла нет - все равно как минимум половина компиляторов кладет такие строки в защищенный от записи сегмент констант. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 22:32 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=363&tid=2031626]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
20ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 358ms |

| 0 / 0 |
