Программа выдает результат 0,00000 - C (СИ)

  1. Граждане, всем доброго времени суток! не пойму, где я не так делаю, почему результат 0,00000??? осваиваю язык с. Желаемый результат - ответ на действие.C1 2 3 4 5 6 7 8 9 10 11 12 13 #include <stdio.h> #include <math.h>   int main() {     int a, b, d;     a = 1;     b = -10;     d = a/b;     printf("d= %f\n", d);         return 0; }  


textual

Код к задаче: «Программа выдает результат 0,00000 - C (СИ)»

#include <stdio.h>
#include <math.h>
 
int main()
{
    int a, b;
    float d;
    a = 1;
    b = -10;
    d = (float)a / b;
    printf("d= %f\n", d);
 
    return 0;
}

СДЕЛАЙТЕ РЕПОСТ

15   голосов, оценка 4.267 из 5



Похожие ответы
  1. Пытаюсь сделать простейший стек, программа сегфолтится при попытке обратиться к функции pop().C1 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 #include #define MAX 100   char *myStack[MAX]; int top = 0;   void push(char*); const char* pop(void);   int main(int argc, char **argv) {     push("fff");     printf("%s\n", pop());     return 0; }   void push(char *str) {     if (top < MAX)         myStack[top++] = str; }   const char* pop(void) {     if (top >= 0)         return myStack[top--];     return 0; }Где я ошибаюсь?

  1. Написать программу вывода элементов одномерного массива при наличии чисел заглушек и с правильным порядком индексации C1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #include #include     int main(){     int a[10] = {-1, 7, 1, 3, 1, -1, 4, -1, 6, 5 };   int  i = 0;               for(i = 0; i < sizeof(a)/ sizeof(*a); ++i)            if (a[i] != -1 )    printf ("a[%d]= %d\n", i, a[i]);    return 0; }Помогите вывести правильную индексацию массива

  1. Суть в том,что надо проверь слова из строки на условия: 1)начало и конец слова начинается на одну и ту же букву 2)слово содержит 3 буквы к ошибки: 1) [Error] request for member 'length' in 'p', which is of non-class type 'char*' 2 )26строка expected primary-expression before 'int' 3)26строка expected ')' before 'int' 4) 30строка expected ')' before 'p' 5)30строка expected ')' before ';' tokenC1 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 #include #include #include #include   int  cnt(char text,char ch)  {     int res = 0;     for (; text; ++text) {         res += (text == 'k');     }     return res; }     int main() {     char text[256], *p;       fgets(text, sizeof(text), stdin);       p = strtok(text, " ");     while (p)     {         if ((p[0] == p[p.length()-1]) && (3==(int cnt(text,'k'))))         {             printf("%s\n", p);         }         p = strtok(NULL, " ");     }       return 0; }

  1. Есть проблема если я беру "с=0" и в цикле пишу условие "с!=100", то у меня нормально отображается квадрат из звездочек, а если начинаю считать от 1 (с=1), тогда у меня в первой строке последней звездочки нет и она переносится после десятой строки, хотя этого быть не должно. Скажите, что не так в коде, расположенном в комментариях.C1 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 #include   main (void) {     int c=0, t;         while(c!=100)     {         c=c+1;         t=c%10;         printf("*");         if(t==0)         {             printf("\n");         }     }     printf("\n");     return 0; } /* ???? #include   main (void) {     int c=1, t;         while(c!=101)     {         c=c+1;         t=c%10;         printf("*");         if(t==0)         {             printf("\n");         }     }     printf("\n");     return 0; } */

  1. Не компилируется код в gcc и при этом консоль не пишет никаких ошибок, в чем прокол?:C1 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 #include #include #include #include #include   bool cut_name(char *s) {     int i, uid;     char *ptr;     char *name = strtok(s, ":");  // получаем первое слово (имя пользователя)       for (i = 0; i < 2; i++) {  // получаем ещё два слова (одно пропускаем, а второе - номер пользователя)         ptr = strtok(NULL, ":");         if (!ptr)            return false;     }     uid = atoi(ptr);  // переводим имя пользователя из строки в число     s[strlen(name)] = '\0';  // в исходной строке оставляем только имя пользователя     //if (uid < 1000)   // номера меньше 1000 - это системные пользователи... их будем пропускать         return false;       return true; }   int main()   { FILE * mf=fopen ("C:TEST.txt","r"); //etc/passwd     char lines[100][1000];     int nl = 0, nlmax = 100;     int i;       while (nl < nlmax && fgets(lines[nl], 1000, mf)) {         char *p = strrchr(lines[nl], '\n');         if (p)             *p = '\0';         nl++;     }         for (i = 0; i < nl; i++)         printf("%s\n", cut_name(lines[i]));         }

  1. Буду благодарен, если кто-то объяснит, как работает данная программа построчно (отлично будет, если написать комментарии к каждой строке (кроме самых очевидных)), либо напишет программу попроще. Задача была следующая: напишите функцию expand(s1,s2), которая бы разворачивала сокращенную запись наподобие a-z в строке s1 в полный список abc...xyz в строке s2. Учитывайте буквы в любом регистре, цифры, а также записи вида a-b-c, a-z0-9 и -a-z. Сделайте так, чтобы знаки - в начале и в конце строки воспринимались буквально, а не как символы развертывания. Спасибо.C1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 void expand(char s1[], char s2[]) {     int i, j, k;     k = 0;     for (i = 0; s1[i] != '\0'; i++)         if (s1[i] == '-')             if (i == 0 || s1[i+1] == '\0')                 s2[k++] = '-';             else                 for (j = s1[i-1]; j <= s1[i+1]; j++)                     s2[k++] = j;     s2[k] = '\0'; }   int main(void) {     char s1[] = "-a-z0-9d-f-";     char s2[128] = "";     expand(s1, s2);     printf("s1=%s\ns2=%s\n", s1, s2);     return 0; } }

  1. C1 2 3 4 5 6 7 8 #include #define STOP * int main() { char ch; while ((ch=getchar())!=STOP) putchar (ch); }

  1. У меня есть две структуры, с одинаковым кол-вом полей, но поля разного типа:C1 2 3 4 5 6 7 8 9 10 11 12 13 struct hat {     char s1[20], s2[20], s3[20] ; } shapka;   typedef struct monopolies {     char name[40];     int year;     float capital;   }monopolies; monopolies monopoly; //создаю тут структуру типа monopoliesЕсть функция для обработки "шапки": ( если что, это считывание шапки таблицы из файла, но это не важно)C1 2 3 4 5 6 7 8 9 10 11 void Read_Shapka_File(FILE *f, struct hat *shapka) //как вы видите, отдаю в ф-ию указатель на структуру типа hat {     if (fscanf(f, "%s%s%s", shapka->s1, shapka->s2, shapka->s3)!=EOF)     {         printf("%-20s %15s %20s\n\n", shapka->s1, shapka->s2, shapka->s3);     }     else     {         exit(ERROR_READING_FILE);     } }...И совершенно другая, отдельная ф-ия, в которую я отдаю указатель на вторую структуру.C1 void Job1_Two_Files(char* putInp, monopolies *monopoly)В этой ф-ии я вызываю ф-ию Read_Shapka_File, но отдаю ей указатель на другую структуру, не ту, что положено:C1 Read_Shapka_File(inp, monopoly);. Мало того что компилятор не ругается, но программа работает и выводит-таки эту "шапку". КАК??? Если это из-за указателей в обеих ф-иях, это не объясняет, почему нет конфликта типов. Скидываю программу, постарался удалить все, что не относится к данной проблеме

  1. Создать программу, которая будет запрашивать у пользователя длины сторон треугольника. После этого программа должна вывести на экран периметр треугольника, площадь и углы, для которых нужно разработать функции. Площадь треугольника можно найти по формуле Герона. Углы можно найти по соотношению сторон. При выполнении программы все приглашения на ввод данных, а также все выводимые данные должны иметь четкое объяснение на экране.C1 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 #include #include #include   double SemiPerimeter(double a, double b, double c) {         double sPerimeter = (a + b + c) / 2;         return sPerimeter; }   double Square(double a, double b, double c, double SemiPerimeter) { double Square_Geron = sqrt(SemiPerimeter*(SemiPerimeter - a)*(SemiPerimeter - b)*(SemiPerimeter - c));         return Square_Geron; }   double AngleA(double a, double b, double c) {         double Angle_CosA = cos((a*a - b*b + c*c) / 2*(b*c));         return Angle_CosA; }   double AngleB(double a, double b, double c) {         double Angle_CosB = cos((a*a - b*b + c*c) / 2 * (a*c));         return Angle_CosB; } double AngleC(double a, double b, double c) {         double Angle_CosC = cos((a*a - b*b + c*c) / 2 * (a*b));         return Angle_CosC; }   main() {         SetConsoleCP(1251);         SetConsoleOutputCP(1251);             double Square_of_triangle, a, b, c;         double CosA, CosB, CosC;           printf("Введите сторону a: ");         scanf_s("%lf", &a);         printf("Введите сторону b: ");         scanf_s("%lf", &b);         printf("Введите сторону c: ");         scanf_s("%lf", &c);             Square_of_triangle = Square(a, b, c, SemiPerimeter(a, b, c));         printf("\tПлоща треугольника за формулою Герона: %f\n\n", Square_of_triangle);         CosA = AngleA(a, b, c);         printf("Кyт a равняется:  %f\n", CosA);         CosB = AngleB(a, b, c);         printf("Кyт b равняется:  %f\n", CosB);         CosC = AngleC(a, b, c);         printf("Кyт c равняется: %f\n", CosC);  }Проблема заключается в следующем, программа не правильно высчитывает углы, получается что углы не равны 180градусам. Подскажите что поменять в программе. Во-вторых, как можно оптимизировать, что бы не повторять одни и те же действия 3 раза. Зарание СПАСИБО!

  1. Нужна помощ в разработке программы по перекодировке текстовых файлов из кодового набора кои-8 в кодовый набор ср1251 по таблице, заданной в текстовом файле. Имя файла таблицы вместе с именем файлов исходного текста и результата его перекодировки должно передаваться программе через аргументы командной строки её вызова. Данные в таблице перекодировки должны быть представлены в системе счисления по основанию 8. Дело в том что я не могу понять как это представить в восьмеричной системе счисления