1

Тема: Не працює код

Підкажіть, що не так в коді. Завдання виглядає наступним чином: задане дійсне число а, натуральне число n. Обчислити: 1/a + 1/a^2 + 1/a^4 + ... + 1/a^2^n. Код:
#include <stdio.h>
#include <math.h>
int main()
{
    float sum, m, a, n, i;
    printf("Enter a\n");
    scanf_s("%lf\n", & a);
    printf("Enter n\n");
    scanf_s("%lf\n", & n);
    sum = 1 / a;
    m = n / 2;
            for (i = 0; i < m; i++)
            {
            sum = sum + (1 / a*a);
            a = a*a;
            i++;
            }
    printf ("Sum=\n", sum);
    return 0;
}

Post's attachments

Безымянный.png 4.57 kb, 123 downloads since 2014-11-01 

2

Re: Не працює код

1. Код треба писати в тег code.
2. Функція scanf_s тут невизначена, треба використати scanf або підключити бібліотеку з scanf_s.
3. В функції printf треба написати флаг для змінної, ідея та ж, що й в scanf.
4. float n, i. Це може призвести до складновловлюваних багів, тому що це цілі числа.

МАКЕ ЦКЯАІИЕ БЯЕАТ АБАІИ

3 Востаннє редагувалося koala (01.11.2014 17:10:10)

Re: Не працює код

Пан quez в принципі відповів; але в майбутньому вказуйте, будь ласка, чому ви вважаєте, що "код не працює" чи "щось в коді не так". Будь-який код можна вдосконалити, а не працювати програма може з незалежних від коду причин (наприклад, якщо компілятор повідомляє, що йому недостатньо місця на диску, по коду це не виявиш).

4

Re: Не працює код

quez написав:

1. Код треба писати в тег code.
2. Функція scanf_s тут невизначена, треба використати scanf або підключити бібліотеку з scanf_s.
3. В функції printf треба написати флаг для змінної, ідея та ж, що й в scanf.
4. float n, i. Це може призвести до складновловлюваних багів, тому що це цілі числа.

що значить "треба написати флаг для змінної"?

5

Re: Не працює код

chygaistr написав:
quez написав:

1. Код треба писати в тег code.
2. Функція scanf_s тут невизначена, треба використати scanf або підключити бібліотеку з scanf_s.
3. В функції printf треба написати флаг для змінної, ідея та ж, що й в scanf.
4. float n, i. Це може призвести до складновловлюваних багів, тому що це цілі числа.

що значить "треба написати флаг для змінної"?

Гляньте сюди в розділ examples, це краще один раз побачити. Принцип, очевидно, ви розумієте, тому що використовуєте його в scanf.

МАКЕ ЦКЯАІИЕ БЯЕАТ АБАІИ
Подякували: chygaistr1

6

Re: Не працює код

chygaistr написав:
quez написав:

1. Код треба писати в тег code.
2. Функція scanf_s тут невизначена, треба використати scanf або підключити бібліотеку з scanf_s.
3. В функції printf треба написати флаг для змінної, ідея та ж, що й в scanf.
4. float n, i. Це може призвести до складновловлюваних багів, тому що це цілі числа.

що значить "треба написати флаг для змінної"?

Це правильно зветься специфікатором виводу (вводу в scanf) - комбінація %[параметри]флаг обробляється не як прості символи, а заміняється на значення відповідного параметра функції у відповідності до параметрів. Наприклад,

printf("%d - %d", 3, 5);

виведе "3 - 5".

Подякували: chygaistr1

7

Re: Не працює код

Дякую)