Перевести температуру из шкалы Фаренгейта в шкалу Цельсия - C (СИ)

  1. Перевести температуру из шкалы Фаренгейта в шкалу Цельсия (формула для пересчета c= (5/9) (f-32))C1 2 3 4 5 6 7 8 9 10 11 12 #include <stdio.h> int main() {     int a,c;     printf("Vvedite znachenie a:\n ");     scanf("%d", &a);     c = (5.0/9) * (a-32);                         printf("%d\n", &c);     system ("pause");     return 0;   }Помогите с задачей, а то чевот запутался... выводит результат, просто кучу цифр..


textual

Код:

printf("%d\n", c);//вместо printf("%d\n", &c);


Похожие ответы
  1. Из-за наличия специфики плюсов (векторы, классы, operator) вообще не удаётся интерпретировать логику, заложенную в код. Помогите, пожалуйста, разобраться и получить хотя бы шаблонный вариант на Си, который я смогу дописать до рабочего. Приведённая программа позволяет интерполировать графики кривыми Безье. В отличие от других сотен вариаций на данную тему не даёт ложных экстремумов. Вот статья на хабре с подробным описанием и примерами. Код программы на гитхабе.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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 // TBezierInterpolation.cpp #include #include #include   using namespace std;   #define EPSILON 1.0e-5 #define RESOLUTION 32   class Point2D { public:     double x, y;         Point2D() { x = y = 0.0; };     Point2D(double _x, double _y) { x = _x; y = _y; };         Point2D operator +(const Point2D &point) const { return Point2D(x + point.x, y + point.y); };     Point2D operator -(const Point2D &point) const { return Point2D(x - point.x, y - point.y); };     Point2D operator *(double v) const { return Point2D(x * v, y * v); };     void operator +=(const Point2D &point) { x += point.x; y += point.y; };     void operator -=(const Point2D &point) { x -= point.x; y -= point.y; };         void normalize()     {         double l = sqrt(x * x + y * y);         x /= l;         y /= l;     } };   class Segment { public:     Point2D points[4];         void calc(double t, Point2D &p)     {         double t2 = t * t;         double t3 = t2 * t;         double nt = 1.0 - t;         double nt2 = nt * nt;         double nt3 = nt2 * nt;         p.x = nt3 * points[0].x + 3.0 * t * nt2 * points[1].x + 3.0 * t2 * nt * points[2].x + t3 * points[3].x;         p.y = nt3 * points[0].y + 3.0 * t * nt2 * points[1].y + 3.0 * t2 * nt * points[2].y + t3 * points[3].y;     }; };   bool calculateSpline(const vector &values, vector &bezier) {     int n = values.size() - 1;         if (n < 2)         return false;         bezier.resize(n);         Point2D tgL;     Point2D tgR;     Point2D cur;     Point2D next = values[1] - values[0];     next.normalize();         double l1, l2, tmp, x;         --n;         for (int i = 0; i < n; ++i)     {         bezier[i].points[0] = bezier[i].points[1] = values[i];         bezier[i].points[2] = bezier[i].points[3] = values[i + 1];                 cur = next;         next = values[i + 2] - values[i + 1];         next.normalize();                 tgL = tgR;                 tgR = cur + next;         tgR.normalize();                 if (abs(values[i + 1].y - values[i].y) < EPSILON)         {             l1 = l2 = 0.0;         }         else         {             tmp = values[i + 1].x - values[i].x;             l1 = abs(tgL.x) > EPSILON ? tmp / (2.0 * tgL.x) : 1.0;             l2 = abs(tgR.x) > EPSILON ? tmp / (2.0 * tgR.x) : 1.0;         }                 if (abs(tgL.x) > EPSILON && abs(tgR.x) > EPSILON)         {             tmp = tgL.y / tgL.x - tgR.y / tgR.x;             if (abs(tmp) > EPSILON)             {                 x = (values[i + 1].y - tgR.y / tgR.x * values[i + 1].x - values[i].y + tgL.y / tgL.x * values[i].x) / tmp;                 if (x > values[i].x && x < values[i + 1].x)                 {                     if (tgL.y > 0.0)                     {                         if (l1 > l2)                             l1 = 0.0;                         else                             l2 = 0.0;                     }                     else                     {                         if (l1 < l2)                             l1 = 0.0;                         else                             l2 = 0.0;                     }                 }             }         }                 bezier[i].points[1] += tgL * l1;         bezier[i].points[2] -= tgR * l2;     }         l1 = abs(tgL.x) > EPSILON ? (values[n + 1].x - values[n].x) / (2.0 * tgL.x) : 1.0;         bezier[n].points[0] = bezier[n].points[1] = values[n];     bezier[n].points[2] = bezier[n].points[3] = values[n + 1];     bezier[n].points[1] += tgR * l1;         return true; }   int main() {     vector testValues;     vector spline;     Point2D p;       testValues.push_back(Point2D(0, 0));     testValues.push_back(Point2D(20, 0));     testValues.push_back(Point2D(45, -47));     testValues.push_back(Point2D(53, 335));     testValues.push_back(Point2D(57, 26));     testValues.push_back(Point2D(62, 387));     testValues.push_back(Point2D(74, 104));     testValues.push_back(Point2D(89, 0));     testValues.push_back(Point2D(95, 100));     testValues.push_back(Point2D(100, 0));       calculateSpline(testValues, spline);       for (auto s : spline)     {         for (int i = 0; i < RESOLUTION; ++i)         {             s.calc((double)i / (double)RESOLUTION, p);             cout << p.x << " " << p.y << endl;         }     }       cout << testValues.back().x << " " << testValues.back().y << endl;       return 0; }Bash1 g++ -std=c++11 TBezierInterpolation.cpp

  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 #include "stdafx.h" #include "iostream" #include "cstring" #include "cstdlib" using namespace std;   int main(){  cout<<"Input text : ";  char* s = new char[1000];  cin.getline(s,1000);  for (int i=0; i

  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 35 36 37 38 39 40 41 42 43 44 45 #include "stdafx.h" #include #include using namespace std; double fix(double(*f)(double), double a, double b, double eps); double f(double x); int i;   int _tmain(int argc, _TCHAR* argv[]) {     setlocale(LC_ALL, "");//подключение языков     double a, b, eps;     cout << "Нахождение приближенного значения корня методом деления отрезка пополам.\nВведите левую границу отрезка 'a' = ";     cin >> a;//ввод левой границы отрезка 'a'     cout << "Введите правую границу отрезка 'b' = ";     cin >> b;//ввод правой границы отрезка 'b'     cout << "Введите точность нахождения 'eps' = ";     cin >> eps;//ввод точности нахождения 'eps'     cout << "Приближенное значение корня = " << fix(f, a, b, eps) << endl;     cout << "Приближенное значение корня найдено за " << i << " шагов" << endl;     system("PAUSE");     return 0; }   double fix(double(*f)(double), double a, double b, double eps) {     double x = (a + b) / 2;     while ((abs(b - a)>eps) && (f(x) != 0))     {         if (f(a)*f(x)<0)             b = x;         else             a = x;         x = (a + b) / 2;         cout << "x=" << x << endl;         i++;     }     return x; }   double f(double x) {     return sin(x);     }

  1. Дано 7 чисел, считает количество отрицательных и сумму положительных. Тремя способами (for, while, do while). Но здесь я точнее не знаю как sizeof заменить на си. 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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 #include "stdafx.h" #include "stdlib.h" #include #include #include #include #include int array[7]; void main() {     int i, sum, count;     setlocale(LC_ALL, "RUS");     system("cls");     printf(" Написать 7 чисел и программа тремя способами считает количество отрицательных и сумму положительных. \n \n Введите 7 чисел массива: ");     for (i = 0; i < sizeof(array) / sizeof(int); i++)         scanf("%d", &array[i]);     printf("\n Вывод массива:");     for (i = 0; i < sizeof(array) / sizeof(int); i++)         printf("%5d", array[i]);     sum = 0; count = 0;     for (i = 0; i < sizeof(array) / sizeof(int); i++)     {         if (array[i] > 0) sum += array[i];         else count++;     }     printf("\n\n Цикл For \n");     printf(" Сумма положительных: %d \n", sum);     printf(" Число отрицательных: %d \n", count);     i = 0; sum = 0; count = 0;     while (i < sizeof(array) / sizeof(int))     {         if (array[i] > 0) sum += array[i];         else count++;         i++;     }     printf("\n Цикл While \n");     printf(" Сумма положительных: %d \n", sum);     printf(" Число отрицательных: %d \n", count);     i = 0; sum = 0; count = 0;     do     {         if (array[i] > 0) sum += array[i];         else count++;         i++;     } while (i < sizeof(array) / sizeof(int));     printf("\n Цикл Do While \n");     printf(" Сумма положительных: %d \n", sum);     printf(" Число отрицательных: %d \n", count);     _getch(); }Возможно, применить это:C1 2 3 4 5 6 7 8 9 10 11 12 13 14 int x, sum, k; . . . sum=0; k=0; for (i = 0; i <7; i++) { scanf_s("%d \n", &x); if(x>0) sum=sum+x; else k++; } printf(" Сумма положительных: %d \n", sum); printf(" Число отрицательных: %d \n", k);Но у меня как то не получается.

  1. Помогите пожалуйста, нужно перевести код с С++ на СC++1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 #include "stdafx.h" #include #include using namespace std;   int main() {     int n;     int m[1000];     cin >> n;     for (int i = 0; i < n; i++)     {         cout << "mass[" << i << "] = ";         cin >> m[i];     }     cout << endl;     for (int i = 0; i < n; i++)         cout << pow(m[i],3) << " ";     _getch();     return 0; }

  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 #include #include using std::cout; using std::cin; using std::endl;   int main() {     setlocale( LC_ALL,"Russian" );     int i,size=0,count=0;     int* mas;     cout<<"Введите количество елементов масива: ";     cin>>size;     cout<

  1. C#1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 using System; using System.Linq;   class Program {     static void Main()     {         int[] arr = Enumerable.Repeat(new Random(), 24).Select(r => r.Next(-10, 26)).ToArray();         Console.WriteLine(String.Join(", ", arr));         int[] negativeIndexes = Enumerable.Range(0, arr.Length).Where(i => arr[i] < 0).ToArray();         for (int i = 0, j = negativeIndexes.Length - 1; i < j; i++, j--)         {             int t = arr[negativeIndexes[i]];             arr[negativeIndexes[i]] = arr[negativeIndexes[j]];             arr[negativeIndexes[j]] = t;         }         Console.WriteLine(String.Join(", ", arr));     } }

  1. Подскажите. Есть код. Все задано через float. Но 10 VS не вытаскивает одну из строк, и из-за этого необходимо задать все через double, но тогда ответ получается совершенно иным. Можно ли задать double только для этой строки, чтобы не менять ничего больше. Если да, то каким способом/какой командой? Спасибо!

  1. Перевести трехзначное натуральное число, заданное в десятичной форме в двоичную систему счисления.

  1. C++1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 {   int lp;   float stopien;     clrscr ();     cout << "Podaj liczbД™ punktГіw (0 <= lp <= 100): ";         cin >> lp;     lp = lp/10;     switch (lp)       {     case 5      : { stopien = 3;    break;}     case 6      : { stopien = 3.5; break;}     case 7      : { stopien = 4;    break;}     case 8      : { stopien = 4.5; break;}     case 9,10 : { stopien = 5;    break;}     default    : { stopien = 2;    break;}       }      cout << "Twoja ocena: ";      cout.width(3);     cout.precision(1);      cout << stopien << endl;      return 0; }Привет всем, кто может помочь это перевести в язык С? Тут например подаешь от 0 до 50 то будет 2, от 50 до 59 будет 3, и так до 5