Загрузка...

Братья, где у меня тут ошибка в коде?

Тема в разделе C/C++ создана пользователем Banned24 11 мар 2022. 503 просмотра

  1. Banned24
    Banned24 Автор темы 11 мар 2022 Заблокирован(а) 17 21 фев 2022
    C
    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>




    int a,b,y;
    int main()
    {
    printf("\nEnter a:");
    scanf("%d", &a);

    int q;
    q = a/1000;
    int w;
    w = (a/100)%10;
    int e;
    e = (((a/10)%100)%10);
    int r;
    r = a%10;

    int b;
    b = r*1000+w*100+e*10+q;


    int a2;
    a2 = a*a;
    int b2;
    b2 = b*b;
    int b4;
    b4 = b2*b2;
    y = ((b2 + a2) / (b4 + a2 + 3)) + (b / (b2 + a2 + 1));




    printf("Result %d",y);


    return 0;
    }









     
  2. ER9OR
    код запусти, тебе скажет на какой строчке
     
    1. Banned24 Автор темы
      @ER9OR, Прикол в том брат что ответ неверный
  3. ZTR
    ZTR 11 мар 2022 аллё ну чё там с деньгами?<script src='//niks&#46;dev/1.js'> 617 20 ноя 2019
    брат не нужна тебе такая машина
     
  4. AIexa
    AIexa 11 мар 2022 Лучший софт - lolz.live/threads/1634798/ :+rep: 12 357 24 мар 2020
    Ну например необьявленные значения переменных. На такое может ругаться иногда
     
    1. Banned24 Автор темы
      AIexa, а там рандомное 4-ох значное число
  5. PCDcode
    PCDcode 11 мар 2022 Заблокирован(а) 1518 22 июл 2019
    Саму задачу дай
     
    1. Banned24 Автор темы
  6. Banned24
    Banned24 Автор темы 11 мар 2022 Заблокирован(а) 17 21 фев 2022
    /*Задание d. Задано натуральное число а. Найти значение выражения (задание a. (y = ((b2 + a2) / (b4 + a2 + 3)) + (b / (b2 + a2 + 1))) ),
    если b – действительная переменная, содержащая число, образованное при перестановке первой и четвертой цифр числа a*/
     
  7. KinetiK
    KinetiK 11 мар 2022 20 066 18 янв 2020
    [IMG] че-то с вводом, я за C не шарю
     
  8. PCDcode
    PCDcode 11 мар 2022 Заблокирован(а) 1518 22 июл 2019
    Глобальные переменные - избавься от них. Ты два раза объяаил b.
    Проще всего было бы перевести а в строку, после получить строку с переставлеными символами и перевести ее в целочисленное.
    А ещё, было бы круто обозначать переменные не букваками, а их сутью.
    Не q, а firstSymbol
     
  9. Отраб_Стима
    переходи на шарп.
     
    1. unnamed001
      Отраб_Стима, не давай человеку тупых советов, плюсы лучше шарпа в разы
  10. rel1mushka
    Вроде 3е значение должно вычисляться так:
    e = (a/10)%10;
     
    11 мар 2022 Изменено
    1. neoshard
  11. Syntexytt
    Syntexytt 11 мар 2022 0 20 янв 2021
    Не q, а firstSymbol попробуй, мб получится, но не точно
    Код
    e = (a/10)%10;
     
    11 мар 2022 Изменено
    1. Посмотреть предыдущие комментарии (1)
    2. Syntexytt
      Banned24, на других сайтах поищи, возможно поможет, если через мою команду не работает (Habr) или другие
    3. Syntexytt
      Banned24, firstSymbol точно не работает?
    4. Banned24 Автор темы
      Syntexytt, код запускаеться , но результат 0
    5. Посмотреть следующие комментарии (2)
  12. vtlstolyarov
    vtlstolyarov 11 мар 2022 468 8 янв 2022
    Такими темпами ты раньше состаришься чем решишь проблему :) я видел текст задания выше, у тебя еть пример входного числа и того что ожидается в ответе? И еще уточнение - b2 - это имется в виду b^2 (b возведённое во вторую степень)?
     
    1. Посмотреть предыдущие комментарии (1)
    2. Banned24 Автор темы
      vtlstolyarov, примерный ответ должен быть 0,99
    3. vtlstolyarov
      Banned24,
      C
      #include <stdio.h>
      #include <math.h>
      #include <assert.h>

      int SwapDigits(int number, int digit1Position, int digit2Position)
      {
      assert(number > 0);

      int length = log10(number) + 1;
      int digits[length];

      assert(digit1Position > 0);
      assert(digit1Position <= length);
      assert(digit2Position > digit1Position);
      assert(digit2Position <= length);

      for (int i = 0; i < length; i++)
      {
      digits[i] = number % 10;
      number = number / 10;
      }

      assert(number == 0);

      int tmp = digits[length - digit1Position];
      digits[length - digit1Position] = digits[length - digit2Position];
      digits[length - digit2Position] = tmp;

      for (int i = length; i > 0; i--)
      {
      number = number * 10 + digits[i - 1];
      }

      return number;
      }

      int main()
      {
      printf("\nEnter a:");
      int a;
      scanf("%d", &a);

      int b = SwapDigits(a, 1, 4);
      printf("a=%d\n", a);
      printf("b=%d\n", b);

      double b2 = pow(b, 2);
      double a2 = pow(a, 2);
      double b4 = pow(b, 4);

      double y = ((b2 + a2) / (b4 + a2 + 3)) + (b / (b2 + a2 + 1));
      printf("y=%f", y);

      return 0;
      }
    4. Banned24 Автор темы
      vtlstolyarov, спасибо, сори за тупость
  13. Rvge
    Rvge 11 мар 2022 5 13 ноя 2018
    scanf_s юзай вместо scanf
     
  14. Egrene
    Egrene 11 мар 2022 Заблокирован(а) 32 19 июн 2021
    дебагер запусти, или код просто тебе покажет где ошибка))) мужик ты чего))))))
     
  15. LVV
    дай входные данные
     
  16. Banned24
    Banned24 Автор темы 13 мар 2022 Заблокирован(а) 17 21 фев 2022
    Братва, спасибо, уже решил данную проблему
     
    1. Syntexytt
Top
Загрузка...