Реализовать алгоритм, вычисляющий N первых членов арифметической прогрессии - C (СИ)

  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 #include "stdafx.h" #include <iostream> #include <stdio.h> #include <conio.h> #include <math.h>   int main (void) {     int i, d, an, a1, N;         printf("Vvedite d\n");         scanf_s("%d", &d);         printf("Vvedite kolichestvo chlenov progressii\n");         scanf_s("%d", &N);         printf("Vvedite a1\n");         scanf_s("%d", &a1);           for (i=0; i<N; i++)         {             an=a1+(d*i);                 printf("%d", an);         }         system("pause");         return 0; }


textual

Код к задаче: «Реализовать алгоритм, вычисляющий N первых членов арифметической прогрессии - C (СИ)»

#include <stdbool.h>
#include <limits.h>
#include <stdio.h>
 
#define MAX_DIABOLICAL (UINT_MAX / 3)
 
unsigned int diabolical(unsigned int p)
{
    if( p & 1 ) p = 3 * p + 1;
    return p / 2;
}
 
int main(int argc, char* argv[])
{
    char buf[10];
    puts("Enter first number for diabolical sequence (up to 999999999):");
    fgets(buf, sizeof(buf), stdin);
 
    unsigned int p = atoi(buf);
 
    while( p > 1 ) {
        if( p > MAX_DIABOLICAL ) {
            puts("ERROR: Next number is too large");
            break;
        }
        p = diabolical(p);
        printf("%d ", p);
    }
 
    return 0;
}

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

7   голосов, оценка 3.714 из 5



Похожие ответы
  1. Необходимо модифицировать данную функции, чтобы она указывала на индекс последнего вхождения слова в строке. То есть, если строка - Cyber Forum is Cyber Forum, а искомое слова Cyber, то она не должна выдавать 0.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 int searchWord(const char str[81], const char word[21]) /* Входные данные: str – исходная строка word – искомое  слово   Выходные данные: возвращаемое значение - индекс первого вхождения искомого слова в строку; возвращает -1, если слово не найдено */ {     int i = 0;     while (str)     {           const char* s1 = str;         const char* p1 = word;           while (*s1 == *p1)         {               s1++; p1++;             if (*p1 == '\0' || *s1 == '\0')break;           }         if (*p1 == '\0') return i;         if (*s1 == '\0') return -1;         str++;         i++;     }     return -1; }

  1. День добрый. Я - первокурсник, не так давно начал изучать язык С. И вот выдали мне тему курсового проекта: реализация игрового приложения "Пятнашки" в консоли на языке С. Квадратные глаза и n-ное кол-во кирпичей - вот так можно описать мое состояние. Срок сдачи приближается и я решился обратиться за помощью. Посоветуйте, с чего вообще начинать, какую литературу и какие темы изучать? И, может быть, у кого-нибудь завалялась готовая программа? =) Заранее спасибо.

  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 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 generate.c /**  * generate.c  *  * Computer Science 50  * Problem Set 3  *  * Generates pseudorandom numbers in [0,LIMIT), one per line.  *  * Usage: generate n [s]  *  * where n is number of pseudorandom numbers to print  * and s is an optional seed  */   #define _XOPEN_SOURCE   #include #include #include #include   // constant #define LIMIT 65536   int main(int argc, string argv[]) {     // TODO: comment me     if (argc != 2 && argc != 3)     {         printf("Usage: generate n [s]\n");         return 1;     }       // TODO: comment me     int n = atoi(argv[1]);       // TODO: comment me     if (argc == 3)     {         srand48((long int) atoi(argv[2]));     }     else     {         srand48((long int) time(NULL));     }       // TODO: comment me     for (int i = 0; i < n; i++)     {         printf("%i\n", (int) (drand48() * LIMIT));     }       // success     return 0; }     find.c /**  * find.c  *  * Computer Science 50  * Problem Set 3  *  * Prompts user for as many as MAX values until EOF is reached,  * then proceeds to search that "haystack" of values for given needle.  *  * Usage: ./find needle  *  * where needle is the value to find in a haystack of values  */         #include #include #include   #include "helpers.h"   // maximum amount of hay const int MAX = 65536;   int main(int argc, string argv[]) {     // ensure proper usage     if (argc != 2)     {         printf("Usage: ./find needle\n");         return -1;     }       // remember needle     int needle = atoi(argv[1]);       // fill haystack     int size;     int haystack[MAX];     for (size = 0; size < MAX; size++)     {         // wait for hay until EOF         printf("\nhaystack[%i] = ", size);         int straw = GetInt();                 if (straw == INT_MAX)         {             break;         }               // add hay to stack                 haystack[size] = straw;             }     printf("\n");       // sort the haystack     sort(haystack, size);       // try to find needle in haystack     if (search(needle, haystack, size))     {         printf("\nFound needle in haystack!\n\n");         return 0;     }     else     {         printf("\nDidn't find needle in haystack.\n\n");         return 1;     } }     helpers.c /**  * helpers.c  *  * Computer Science 50  * Problem Set 3  *  * Helper functions for Problem Set 3.  */         #include   #include "helpers.h"   /**  * Returns true if value is in array of n values, else false.  */ bool search(int value, int values[], int n) {     // TODO: implement a searching algorithm     return false; }   /**  * Sorts array of n values.  */ void sort(int values[], int n) {     // TODO: implement an O(n^2) sorting algorithm     return; }     helpers.h /**  * helpers.h  *  * Computer Science 50  * Problem Set 3  *  * Helper functions for Problem Set 3.  */   #include   /**  * Returns true if value is in array of n values, else false.  */ bool search(int value, int values[], int n);   /**  * Sorts array of n values.  */ void sort(int values[], int n); В программе helpers.c, я должен написать функцию сортировки, и функцию линейного поиска. Это я и попытался сделать, вот так выглядит мой код: Кликните здесь для просмотра всего текста 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 helpers.c #include #include "helpers.h"       bool search(int value, int values[], int n) {     for (int i = 0; i < n; i++)    {       if (values[n] == value)       {        return true;       }       return false;          } }     void sort(int values[], int n) {     int temp;     int ctr = 0;     int didswap;       do     {         didswap = 0;         for (int i = 0; i < n; i++)         {             if (values[i] > values[i + 1])             {                 temp = values[i];                 values[i] = values[i + 1];                 values[i + 1] = temp;                 didswap = 1;             }         }                 ctr = ctr + 1;     }     while (ctr < n && didswap != 0);     } Остальные программы я не видоизменял. При попытке, проверить программу в автоматическим тестировании я вижу такой результат Я не очень понимаю, где ошибся, может быть кто знает?Еще мне не очень понятно, почему при запуске команды - "./generate 10 50 | ./find 127", я получаю пустой массив. Ведь , как я понимаю должно было сгенерироваться 10 псевдослучайных чисел, и переместиться в программу find, и заполнить массив из haystack[]. а я получаю: Кликните здесь для просмотра всего текста

  1. подскажите как реализовать консольное меню на Си чтоб в консоли можно было перемещатся между пунктами стрелками или просто нажымая цыфры

  1. Необходимо реализовать хеш-таблицу для DNS сервера

  1. Здравствуйте,требуется на основе алгоритмов прямого поиска; Кнута, Морриса и Пратта; Боуера и Мура реализовать алгоритмы поиска подстроки в строке. Самый простой способ. Спасибо

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

  1. Реализовать алгоритм сортировки модифицированным методом простого выбора.

  1. формат binary16 стандарта IEEE 754-2008. В прототипах функций, приведённых ниже, обозначается как fp16_tC1 2 3 4 /*  * Возвращает экспоненту числа  */ int fp16_exp(fp16_t f);C1 2 3 4 /*  * Возвращает мантиссу числа без скрытого бита  */ int fp16_mant(fp16_t f);

  1. Реализовать на ассемблере функцию для работы с так называемыми числами половинной точности (формат binary16 стандарта IEEE 754-2008. В прототипах функций, приведённых ниже, обозначается как fp16_t) -утилита доступа к полям числа:C1 2 3 4 /*  * Возвращает 0, если число положительное, и 1, если отрицательное  */ int fp16_sign(fp16_t f);Чтобы проверить правильность написания программы: Вводим f = 0x3C00, должно вывести 0x0 Вводим f = 0xBC00, должно вывести 0x1 Вводим f = 0x3555, должно вывести 0x0 Вводим f = 0x39B7, должно вывести 0x0 Вводим f = 0x5640, должно вывести 0x0