Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Задача на си, несложная вроде на сложение

30K
16 июля 2008 года
Styks
19 / / 06.05.2008
Помогите, напишите плиз прогу на СИ
Дано натуральное число n, действительные числа a1, a2,....an
Вычислить
a1,a1+a2,.....,a1+a2+....+an
41K
16 июля 2008 года
Kellmir
4 / / 16.07.2008
Вроде так:
Код:
#include <stdio.h>
#include <conio.h>
#define maxnum 1000
void main()
{
clrscr();
int n;
float a[maxnum];
scanf("%d",&n);
for(int i=0; i<n; i++)
scanf("%f",&a);
float s=0;
for(i=0; i<n; i++)
printf("%.2f\n",s=s+a);
getch();
}

Если надо сохранить результат заведи еще один массив, тогда будет:
r[0]=a[0];
for(i=1; i<n; i++)
r=r[i-1]+a;
только s уже будет ненужно
P.S. Если большие числа может понадобиться double float

[COLOR="Red"]Оформляем код по Правилам.Следующий раз за такое оформление - получишь нарушение.[/COLOR]модератор.
30K
16 июля 2008 года
Styks
19 / / 06.05.2008
кУЧА ошибок
int n;
expression syntax in function main
float a[maxnum];
то же самое
scanf("%d",&n);
n не определена в мэйне

Я переделал файл в .срр, помогло, но хотелось бы на СИ.
Плюс я непонимаю какие числа вводить он выдает ошибку
41K
16 июля 2008 года
Kellmir
4 / / 16.07.2008
Извини, я просто давно уже понимаю под СИ Turbo C++. Привычка сказалась.
Сначало число элементов (целое), потом перечисляешь элементы (дробное)
30K
16 июля 2008 года
Styks
19 / / 06.05.2008
Так с тем же С++ и то проблема...я непонимаю...ну ввожу я скажем 0.2 .... ввожу второе число-экран врзвращает турбо си, по нажатию alt+F5 никакого результата не наблюдаються, пустой черный экран. где ж вывот результата то?(((((
41K
16 июля 2008 года
Kellmir
4 / / 16.07.2008
Ты используешь вариант с сохранением?
если да то допиши, там только будет в конце перед getch();
Код:
for(i=0; i<n; i++)
printf("%.2f\n",r);
Прога точно рабочая, примеров 10 прогнал.
Надеюсь код правильно оформил
9.4K
16 июля 2008 года
AIGrifon
165 / / 13.11.2007
Цитата: Styks
Помогите, напишите плиз прогу на СИ
Дано натуральное число n, действительные числа a1, a2,....an
Вычислить
a1,a1+a2,.....,a1+a2+....+an



Код:
#include <stdio.h>

int main()
{
    unsigned int n = 0;
    float a;
    unsigned int i = 0;
    float s = 0;
   
    scanf("%d",&n);
   
    for (i = 0; i < n; i++)
    {
        scanf("%f",&a);
        s += a;
        printf("%f ",s);
    }
   
    return 0;
}
30K
17 июля 2008 года
Styks
19 / / 06.05.2008
непонимаю. я ввожу 3(вроде как n) ввожу 2(вроде как а) результат 2.000
почему 2 так и остаеться...задание же на сложение
9.4K
17 июля 2008 года
AIGrifon
165 / / 13.11.2007
Цитата: Styks
непонимаю. я ввожу 3(вроде как n) ввожу 2(вроде как а) результат 2.000
почему 2 так и остаеться...задание же на сложение



Вводим n = 3, а затем только первое число из трех 2. Первый элемент ряда равен 0 + 2, т. е. 2. А для дальнейшего расчета необходимо ввести еще числа, в данном случае - еще два. В данном случае программа просто выводит текущий элемент ряда после получения нового элемента.

30K
19 июля 2008 года
Styks
19 / / 06.05.2008
это не тот код.нужно
a1, a1+a2, затем а1+а2+а3+а4+аn
зачем требовать с пользователя все а. смысл в том чтоб требовалось Н
смысл теряеться. зачем вообще н тогда? было бы просто сложение чисел. вводим 16 а, складываем их. А тут надо ввести первые а, и уже как бы складывать с аn
9.4K
19 июля 2008 года
AIGrifon
165 / / 13.11.2007
Цитата: Styks
это не тот код.нужно
a1, a1+a2, затем а1+а2+а3+а4+аn



Код как раз вычисляет ряд a1, a1 + a2, a1 + a2 + a3,..., a1 + a2 + ... + an

Если напрягает вывод результатов вместе с вводом исходной последовательности, то можно подкорректировать код:

Код:
#include <stdio.h>

int main()
{
    unsigned int n = 0;
    float a[256];
    unsigned int i = 0;
    float s = 0;
   
    scanf("%d",&n);
   
    for (i = 0; i < n; i++)
    {
        scanf("%f",&a);
    }

    for (i = 0; i < n; i++)
    {
        s += a;
        printf("%f ",s);
    }
   
    return 0;
}


В данном случае количество элементов ограничено 256.

Цитата: Styks

зачем требовать с пользователя все а.



А разве программа обладает телепатией? Откуда она будет знать значения элементов исходной последовательности?

Цитата: Styks

смысл в том чтоб требовалось Н
смысл теряеться. зачем вообще н тогда?



Чтобы знать количество элементов исходной последовательности.

Цитата: Styks

было бы просто сложение чисел. вводим 16 а, складываем их. А тут надо ввести первые а, и уже как бы складывать с аn



Я не телепат и точно понять, что имееется в виду не могу. Для получения ожидаемого результата необходимо поставить конкретную задачу. Я понял задание как: "Задана последовательность из n элементов a1, a2, ..., an. Необходимо вычислить значения элементов ряда a1, a1 + a2, ..., a1 + a2 + ... + an".

30K
19 июля 2008 года
Styks
19 / / 06.05.2008
Все последнее до меня дошло, ступил просто, с кодом не согласен.
результат его действия при вводе чисел
4(n)
1
2
2
3
будет
3.00000 3.00000 3.000000
то есть 3 раза записанное максимальное из введеных чисел
а должно быть
1.000000 3.00000 8.00000

Нашел ошибку. вотп равильный код
Цитата:

#include <stdio.h>

int main()
{
unsigned int n = 0;
float a[256];
unsigned int i = 0;
float s = 0;
clrscr();
printf("n: ");

scanf("%d",&n);

for (i = 0; i < n; i++)
{
printf("a[%d]", i+1);
scanf("%f",&a);
}

for (i = 0; i < n; i++)
{
s +=a;
printf("%f ",s);
}

return 0;

}

41K
19 июля 2008 года
Kellmir
4 / / 16.07.2008
это то же самое, что я тебе сразу написал
30K
21 июля 2008 года
Styks
19 / / 06.05.2008
Не тоже. У тебя а было без


Цитата:

{
printf("a[%d]", i+1);
scanf("%f",&a);
}

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог