Вычислите F (X) в зависимости от введенного X - C (СИ)

  1. Здравствуйте! Помогите написать программу на языке C. Нужно, вычислите F(X) в зависимости от введенного X. Заранее огромное спасибо!


textual

Код:

#include <stdio.h>
#include <math.h>
 
int main(void)
{
    double x;
    scanf("%lf", &x);
    if(x <= 1.)
        printf("%lf\n", -(x * x) + x - 9.);
    else if(x < 8)
        printf("%lf\n", cos(2 * M_PI * x) / (log2(x) + 1.));
    else
        printf("%lf\n", pow(x, 4) + 6);
    return 0;
}


Похожие ответы
  1. В переменной "a" хочу хранить ссылки на адреса памяти значений val. Но выдает ошибки.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 #include #include #include #include   typedef struct _Key {     char key;     int *a; } Key;   typedef struct _Val {     char val[81]; } Val;   int main(void) {     const int N = 50;     int i, cnt, action;     char ch;     Key keys[N];     Val values[N];     Key key;     FILE *file = fopen("input2.txt", "r");       if (file == NULL)     {         printf("Ошибка при открытии файла\n");           return 0;     }       i = 0;       while (i < N && fscanf(file, "%s", &keys[i].key) == 1)     {         fscanf(file, "%c", &ch);         getRow(file, values[i].val, sizeof(values[i].val));         keys[i].a=&values[i].val;                   i++;     }       fclose(file);       cnt = i; }ошибкаC1 2 3 warning: assignment from incompatible pointer type [enabled by default]    keys[i].a=&(values[i].val);               ^

  1. Описать рекурсивную функцию root(f, a, b, eps), которая методом деления отрезка пополам находит с точностью eps>0 корень уравнения f(x)=0 на отрезке [a,b]. Нужно три функции. Первая - ввод значений, вторая - подсчет весь, третья - вывод значений.

  1. Возможно ли, как-нибудь реализовать такое : в функции printf("%.*f", 2, x); на место 2 поставить переменную вводимую в программе и соответственно вывод был с тем количеством цифр после запятой, которое вводится в программе

  1. C1 2 3 4 typedef enum enumName {     FIELD1,     FIELD2 } Name;Ребят, объясните пожалуйста, для чего иногда объявляют имена подобным структурам(enumName)... Для указателя на эту структуру? Чаще всего их не используют вовсе...

  1. Добрый день, именно в С не особо силён, поэтому есть дурацкий вопрос Есть текстовый файл в формате: value-type; value-type; value-type; value-type; Подскажите как при помощи fscanf, либо другой подобной функции получить структуру (состоящую из двух полей: value, type). Сейчас пишу так:C1 2 3 4 while (EOF != fscanf(pFile, "%s-%s;", sValue, sType)) {     printf("[%s][%s]\n", sValue, sType); }Но на выходе получаю:[1-test;][2-test2;] [3-test3;][2-test2;] Что в принципе логично. Подскажите пожалуйста как заставить программу считывать именно в том формате в котором мне нужно? Спасибо!Добавлено через 12 часов 43 минуты Неужели совсем нет идей?

  1. Добрый день (вечер)! Изучаю C/С++ и возник небольшой вопрос: Если использовать typedef в объявлении структуры, то мы объявляем альтернативное имя для структуры, что позволяет при создании новых объектов структуры не указывать ключевое слово struct. Новые имена указываем после фигурных скобок (можно указать одно, два... имени).C1 2 3 4 5 typedef struct {     int x;     int y; } name1, name2, name3;Все эти имена (name1, name2, name3) - это альтернативные имена структуры, верно? Если мы укажем заместо имени указатель *P, как им пользоваться и что он дает?C1 2 3 4 5 typedef struct {     int x;     int y; } *p, name;

  1. Можете пояснить и написать, что нужно сделать в коде, чтобы компилятор не выдавал следующие предупреждения: warning: integer constant is too large for "long" type; warning: comparison is always true due to limited range of data type.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 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 #include   main (void) {     long int i, l;         printf("Vvedite dvoichnoe chsislo: ");     scanf("%d", &i);         if(i==0 || i==1)         {             l=i*1;             printf("Chislo %d v desyatichnoy forme: %d\n", i, l);         }     if(i>=10 && i<100)         {             l=(i%10)*1+(i-i%10)/10;             printf("Chislo %d v desyatichnoy forme: %d\n", i, l);         }     if(i>=100 && i<1000)         {             l=(i%10)*1+((i%100-i%10)/10)*2+((i-i%100)/100)*4;             printf("Chislo %d v desyatichnoy forme: %d\n", i, l);         }     if(i>=1000 && i<10000)         {             l=(i%10)*1+((i%100-i%10)/10)*2+((i%1000-i%100)/100)*4+((i-i%1000)/1000)*8;             printf("Chislo %d v desyatichnoy forme: %d\n", i, l);         }     if(i>=10000 && i<100000)         {             l=(i%10)*1+((i%100-i%10)/10)*2+((i%1000-i%100)/100)*4+((i%10000-i%1000)/1000)*8;             l=l+((i-i%10000)/10000)*16;             printf("Chislo %d v desyatichnoy forme: %d\n", i, l);         }     if(i>=100000 && i<1000000)         {             l=(i%10)*1+((i%100-i%10)/10)*2+((i%1000-i%100)/100)*4+((i%10000-i%1000)/1000)*8;             l=l+((i%100000-i%10000)/10000)*16+((i-i%100000)/100000)*32;             printf("Chislo %d v desyatichnoy forme: %d\n", i, l);         }     if(i>=1000000 && i<10000000)         {             l=(i%10)*1+((i%100-i%10)/10)*2+((i%1000-i%100)/100)*4+((i%10000-i%1000)/1000)*8;             l=l+((i%100000-i%10000)/10000)*16+((i%1000000-i%100000)/100000)*32;             l=l+((i-i%1000000)/1000000)*64;             printf("Chislo %d v desyatichnoy forme: %d\n", i, l);         }     if(i>=10000000 && i<100000000)         {             l=(i%10)*1+((i%100-i%10)/10)*2+((i%1000-i%100)/100)*4+((i%10000-i%1000)/1000)*8;             l=l+((i%100000-i%10000)/10000)*16+((i%1000000-i%100000)/100000)*32;             l=l+((i%10000000-i%1000000)/1000000)*64+((i-i%10000000)/10000000)*128;             printf("Chislo %d v desyatichnoy forme: %d\n", i, l);         }     if(i>=100000000 && i<1000000000)         {             l=(i%10)*1+((i%100-i%10)/10)*2+((i%1000-i%100)/100)*4+((i%10000-i%1000)/1000)*8;             l=l+((i%100000-i%10000)/10000)*16+((i%1000000-i%100000)/100000)*32;             l=l+((i%10000000-i%1000000)/1000000)*64+((i%100000000-i%10000000)/10000000)*128;             l=l+((i-i%100000000)/100000000)*256;             printf("Chislo %d v desyatichnoy forme: %d\n", i, l);           }     if(i>=1000000000 && i<10000000000)         {             l=(i%10)*1+((i%100-i%10)/10)*2+((i%1000-i%100)/100)*4+((i%10000-i%1000)/1000)*8;             l=l+((i%100000-i%10000)/10000)*16+((i%1000000-i%100000)/100000)*32;             l=l+((i%10000000-i%1000000)/1000000)*64+((i%100000000-i%10000000)/10000000)*128;             l=l+((i%1000000000-i%100000000)/100000000)*256+((i-i%1000000000)/1000000000)*512;             printf("Chislo %d v desyatichnoy forme: %d\n", i, l);         }     printf("\n");             return 0; }

  1. Вычислить сумму первых N чисел натурального ряда. Пример входного файла: 56 Пример выходного файла: 1596 Написать без использования for,do while.

  1. Добрый день, добрые люди, не могу вывести в файл символы значений поля игры крестики-нолики, выбрасывает на этапе записи с сообщением buffer!=nullptr .может кто-то по коду подскажет, что я неправильно сделала))) еще не могу сообразить,как задать цвет крестикам и ноликам с сохранением цвета самого поля.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 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 #include #include #include #include #include #include #include #include #include #include #include #include     using namespace std;     #define SPACE ' ' char matrix[3][3] = { /* матрица для крестиков-ноликов */     { SPACE, SPACE, SPACE },     { SPACE, SPACE, SPACE },     { SPACE, SPACE, SPACE } };     enum ConsoleColor {     Black = 0,     DarkBlue = 1,     Green = 2,     Blue = 3,     Red = 4,     Magenta = 5,     Yellow = 6,     White = 7,     Gray = 8,     LightBlue = 9,     LightGreen = 10,     LightMagenta = 11,     LightRed = 12,     Cyan = 13,     LightYellow = 14,     LightWhite = 15   };     void SetColor(int text, int background) {     HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);     SetConsoleTextAttribute(hStdOut, (WORD)((background << 4) | text)); }     void get_computer_move(void); void get_player_move(void); void disp_matrix(void); char check(void); void renew(); //void zapis_disp(); void main() {       SetConsoleCP(1251);     SetConsoleOutputCP(1251);     setlocale(LC_ALL, "Russian");     srand(time(NULL));         int z;       printf("\n 1-Сыграть в "крестики-нолики" \n");     printf("\n 2-Выйти из игры \n");     cin >> z;     while (z != 2)     {         char done;         printf("\n______________________Играем в "крестики-нолики"_______________________\n");         printf("\n_____________Вы играете против искусственного интеллекта_________________\n");         done = SPACE;           do {               disp_matrix(); /* вывод игровой доски */             get_player_move(); /* ходит игрок */             printf("Вы походили! \n");             disp_matrix(); /* вывод игровой доски */             Sleep(1000);             done = check(); /* проверка на победу */             if (done != SPACE) break; /* победитель */             printf("Компьютер ходит! \n");             Sleep(300);             get_computer_move(); /* ходит компьютер */             system("cls");             done = check(); /* проверка на победу */         } while (done == SPACE);         if (done == 'X') printf("    Поздравляем!Вы выиграли!     \n");         else printf("       Выиграл компьютер!!!!     \n");         //disp_matrix(); /* отображение результирующего положения */         Sleep(3000);           FILE* fp;         fp = fopen("tabl.txt", "a");         if (fp != NULL)             for (int i = 0; i < 9; i++)             {                 for (int j = 0; j < 9; j++)                 {                     fscanf(fp, "%c", matrix[i][j]);                 }             }         else printf("Невозможно открыть файл на запись.\n");         fclose(fp);         cout << "\n Состояние поля успешно добавлено в файл: tabl.txt  \n" << endl;         /*if (fp != NULL)         {         cout << "Вы добавили состояние поля    \n\n";         for (int i = 0; i < 9; i++)         {         for (int j = 0; j < 9; j++)         {         fprintf(fp, "%c", matrix[i][j]);         }         }             }         fclose(fp);         */           system("cls");         renew();         printf("\n 1-Cыграть в "крестики-нолики" \n");         printf("\n 2-Выйти из игры \n");         cin >> z;         system("cls");     }         exit(0); }   /* ввод хода игрока */ void get_player_move(void) {     int y;     int x;     printf("Введите координаты вашего  X.\n");     printf("Номер строки? ");     scanf("%d", &x);     printf("Номер столбца? ");     scanf("%d", &y);     x--; y--;       if (x < 0 || y < 0 || x>2 || y>2 || matrix[x][y] != SPACE)     {         printf("Измените координаты, вы вышли за границы поля.\n");         get_player_move();     }       else SetColor(13, 10); {  matrix[x][y] = 'X'; } }   /* ход компьютера */ void get_computer_move(void) {     int t;     char *p;       p = (char *)matrix;     int i = (rand()) % 9;     p = p + i;     for (t = 0; *p != SPACE && t < 9; ++t) p++;     if (t == 9)     {         printf("draw\n");         exit(0); /* game over */     }     else *p = 'O';   }   /* отображение игровой доски */ void disp_matrix(void) {     SetColor(7, 9);     printf("\n");     int t;     for (t = 0; t < 3; t++)     {           printf(" %c | %c | %c", matrix[t][0], matrix[t][1], matrix[t][2]);         if (t != 2) printf("\n - | - | - \n");       }SetColor(7, 0);     printf("\n");   }   /* проверка на победу */ char check(void) {     int t;     char *p;     for (t = 0; t < 3; t++) { /* проверка строк */         p = &matrix[t][0];         if (*p == *(p + 1) && * (p + 1) == *(p + 2)) return *p;     }     for (t = 0; t < 3; t++) { /* проверка столбцов */         p = &matrix[0][t];         if (*p == *(p + 3) && *(p + 3) == *(p + 6)) return *p;     }       /* проверка диагоналей */     if (matrix[0][0] == matrix[1][1] && matrix[1][1] == matrix[2][2])         return matrix[0][0];     if (matrix[0][2] == matrix[1][1] && matrix[1][1] == matrix[2][0])         return matrix[0][2];     return SPACE; }   void renew() {     for (int i = 0; i < 9; i++)         for (int j = 0; j < 9; j++)             matrix[i][j] = SPACE; }

  1. Новичок в С. Сижу под линухом. Что-бы освоить аргументы командной строки и i/o файлов в С решил написать программу.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 #include #include #include #include #include   int main(int argc, char *argv[]){     FILE *fp;         if(strcmp(argv[1],"-r")==0){         fp = fopen(argv[2],"r");         if(strcmp(fp,"NULL")){             fprintf(stderr, "Can't open input file %s!\n", argv[2]);             exit(ENOENT);         }         char buff[50];         while(!feof(fp)){             fgets(buff, 50, fp);             printf("%s\n", buff);         }         fclose(fp);         exit(0);     }     if(strcmp(argv[1],"-w")==0){         fp = fopen(argv[2], "w");         if(strcmp(fp,"NULL")){             fprintf(stderr, "Can't open output file %s!\n", argv[2]);             exit(ENOENT);         }         fprintf(fp, argv[3]);         fclose(fp);         exit(0);     }     printf("Use "-r \'inputfile\'" to read file.\n");    printf("Use "-w \'outputfile\' \'inputtext\'" to write into file.\n");    exit(EINVAL);    return 0; }Как итог программа собирается, но при запуске любыми аргументами (и без них) выдаёт Segmentation fault (Exit code 139).