Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 28.09.2013
Сообщений: 42

почему код не работает?

28.09.2013, 22:14. Показов 1258. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
помогите пожалуйста, почему у меня код не работает?
Ввожу "х", потом погрешность, а arth всегда =0.
приложил Документ WORD, там описание лабораторной и таблица примеров внизу. у меня 1й вариант, то есть первый пример в списке.
вот сам код:
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
#include "StdAfx.h"
#include <conio.h>
#include <math.h>
#include <stdio.h>
#include <locale.h>
 
int main()
{
  int n;
  float x,y,arth,E,a;
  setlocale(LC_ALL,"");
  printf("\nВведите x: ");
  scanf("%f",&x);
  if (fabs(x)>1) {
    printf("\nОшибка ввода x, |x|<1!");
    return 1;
  }
  printf("\nВведите E: ");
  scanf("%f",&E);
  //arth=x;
  a=x;
  //y=0;
  for(n=1;fabs(a)>E;n++)
  {
     //arth+=y;
     //printf("\n %d: arth = %7.3lf",n,arth);
     //arth=x;
     y=a*x*x*(2*n-1)/(2*n+1);
     a=y;
     arth=a+y;
   }
  printf("\n arth = %7.3f",arth);
  getch();
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.09.2013, 22:14
Ответы с готовыми решениями:

Почему не работает код на других компьютерах (на моем работает)?
вот задание: построить ф-ю: на вход поступают 2 строки, на выходе 1 строка, по следующим правилам: в 1 строке удваиваются все гласные,...

Почему код не работает?
#include &lt;ctime&gt; #include &quot;std_lib_facilities.h&quot; int main() { vector &lt;int&gt; aaa; srand(time(0)); int i= 1+rand() % 9; int...

Почему код не работает?
#include &lt;iostream&gt; using namespace std; unsigned long double* remove(unsigned long double* Arr, size_t* Size) { ...

13
БНТУ ФИТР
 Аватар для kventin_zhuk
215 / 155 / 42
Регистрация: 26.12.2012
Сообщений: 382
28.09.2013, 23:02
C++
1
setlocale(LC_ALL,"");
Вот эта вот нехитрая конструкция дичайшим образом ломает вам корректный ввод символов, кстати говоря. Пишите транслитом лучше) Как следствие - оттуда и все проблемы.
1
0 / 0 / 0
Регистрация: 28.09.2013
Сообщений: 42
29.09.2013, 00:15  [ТС]
у меня после ввода x и погрешности результат всегда одинаковый. arth = 0.
почему?????
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
29.09.2013, 00:29
Цитата Сообщение от kventin_zhuk Посмотреть сообщение
C++
1
setlocale(LC_ALL,"");
Вот эта вот нехитрая конструкция дичайшим образом ломает вам корректный ввод символов, кстати говоря. Пишите транслитом лучше) Как следствие - оттуда и все проблемы.
А где здесь символы вводятся?
1
0 / 0 / 0
Регистрация: 28.09.2013
Сообщений: 42
29.09.2013, 00:30  [ТС]
ну я ввожу Икс.
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
29.09.2013, 01:34
Цитата Сообщение от ИльГас Посмотреть сообщение
ну я ввожу Икс.
Здесь что ли?
C++
1
scanf("%f",&x);
Тут ввод числа float, а не символа.
1
БНТУ ФИТР
 Аватар для kventin_zhuk
215 / 155 / 42
Регистрация: 26.12.2012
Сообщений: 382
29.09.2013, 15:54
alsav22, вы вводим символы с клавиатуры, а уж потом они преобразуются в флоат..... Попробуйте ввести 0.1 0.1 допустим, ввод зависает.
2
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
29.09.2013, 18:41
Цитата Сообщение от kventin_zhuk Посмотреть сообщение
Попробуйте ввести 0.1 0.1 допустим, ввод зависает.
Ввод правильный делайте и не зависнет:
Введите x: 0,1
Введите E: 0,1
2
БНТУ ФИТР
 Аватар для kventin_zhuk
215 / 155 / 42
Регистрация: 26.12.2012
Сообщений: 382
30.09.2013, 01:20
alsav22, Пробовал - и так и так виснет. А вот если убрать - мой вариант работает, поставить "Russian" вторым параметром - ваш.
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
30.09.2013, 01:32
Цитата Сообщение от kventin_zhuk Посмотреть сообщение
Пробовал - и так и так виснет.
Если бы у меня вис, то я бы не писал. Может от компилятора зависит. Я в студии пробую.

Добавлено через 2 минуты
Забыл спросить: вы заметили, что у меня, в десятичном числе, запятая вместо точки стоит?
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
30.09.2013, 01:39
Если закоментировать то, что не относится к вводу(для чистоты эксперимента), и сделать видимую остановку перед выходом, то, в студии всё работает:
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
//#include "StdAfx.h"
#include <conio.h>
#include <math.h>
#include <stdio.h>
#include <locale.h>
 
int main()
{
  int n;
  float x,y,arth,E,a;
  setlocale(LC_ALL,"");
  printf("\nВведите x: ");
  scanf("%f",&x);
  /*if (fabs(x)>1) {
    printf("\nОшибка ввода x, |x|<1!");
    return 1;
  }*/
  printf("\nВведите E: ");
  scanf("%f",&E);
  ////arth=x;
  //a=x;
  ////y=0;
  //for(n=1;fabs(a)>E;n++)
  //{
  //   //arth+=y;
  //   //printf("\n %d: arth = %7.3lf",n,arth);
  //   //arth=x;
  //   y=a*x*x*(2*n-1)/(2*n+1);
  //   a=y;
  //   arth=a+y;
  // }
  //printf("\n arth = %7.3f",arth);
  
  printf("exit");
  getch();
}
Миниатюры
почему код не работает?  
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
30.09.2013, 01:44
Вот так это выглядит в Code Blocks (mingw), там, правда, setlocale для русского ввода не работает, но ввод цифр от этого не сбивается (при использовании запятой). А если добавить:
C++
1
2
3
#include <windows.h>
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
, то и символы будут нормально выводиться.
Миниатюры
почему код не работает?  
0
БНТУ ФИТР
 Аватар для kventin_zhuk
215 / 155 / 42
Регистрация: 26.12.2012
Сообщений: 382
30.09.2013, 08:15
alsav22, да. Разные варианты пробовал. У меня тоже студия, но довольно старая. Пусть будет так
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
30.09.2013, 17:59
Вообще-то, программист должен знать: как и что в установленной локали (в том числе и по умолчанию). Иначе неизбежны ошибки. Если в этом коде оставить локаль по умолчанию, и использовать, при вводе десятичных чисел, запятую, то тоже будет ошибка ввода. Для пользователей, в таких случаях, делается подсказка: в каком формате что вводить.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.09.2013, 17:59
Помогаю со студенческими работами здесь

Почему не работает код?
можете подсказать почему мой код не работает? задача, из файла читаются футбольные команды и счета, а программа составляет турнирную...

Почему не работает код?
#include&lt;stdio.h&gt; #include&lt;conio.h&gt; #include&lt;math.h&gt; #include &lt;iostream&gt; using namespace std; int main() { double e,...

Почему не работает код?
Может кто найдёт ошибку: #include &lt;conio.h&gt; #include &lt;stdio.h&gt; #include &lt;time.h&gt; #include &lt;stdlib.h&gt; #include &lt;windows.h&gt; ...

Почему не работает код?
можете подсказать почему мой код не работает правильно ??? задача вот в чем Вход программы имеет следующий формат. Сначала...

Почему не работает код?
подскажите пожалуйста почему мой код не работает. от меня требуется отсортировать целые числа и напечатать с начало четные, потом нечетные...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru