Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C++] Цикл


Автор: samoil 1.5.2011, 22:24
Обчислити середне арифметичне всіх  натуральних чисел від 1 до 50..

невиходить написать прог...

Автор: volatile 1.5.2011, 23:37
double average = (1 + 50) / 2.;

Автор: hawk3500 2.5.2011, 00:13
volatile
Как я понял тут имеют ввиду что надо среднее арифмитическое всех натуралных от 1 до 50, а не 1 и 50.
т.е. что то типа:

Код

double Sigma,average;
for(int i=1;i<=50;i++)Sigma+=i;
average=Sigma/50.0



Автор: volatile 2.5.2011, 00:39
Цитата(hawk3500 @  2.5.2011,  00:13 Найти цитируемый пост)
Как я понял тут имеют ввиду что надо среднее арифмитическое всех натуралных от 1 до 50, а не 1 и 50.

ну так это одно и тоже.
у меня небольшая оптимизация алгоритма  smile

Добавлено @ 00:44
да, и походу
Цитата(hawk3500 @  2.5.2011,  00:13 Найти цитируемый пост)
double Sigma,average;
double Sigma = 0, average;

Автор: hawk3500 2.5.2011, 01:15
Оптимизация это прикольно конечно, но в данном случае ИМХО очень уж узко.
Если ему надо будет считать всех натуральных от 1 до 53 он снова будет писать сюда.


Спасибо , что кодик мой исправили....и в правду забыл обнулить

Автор: kemiisto 2.5.2011, 01:26
Цитата(hawk3500 @  2.5.2011,  00:15 Найти цитируемый пост)
Если ему надо будет считать всех натуральных от 1 до 53 он снова будет писать сюда.

А с твоим кодом не будет? smile 

Автор: samoil 2.5.2011, 12:04
так а як правильно її оформить ??

Автор: Gluttton 2.5.2011, 12:13
Цитата(samoil @  2.5.2011,  12:04 Найти цитируемый пост)
так а як правильно її оформить ?? 

А что именно не получается?

 smile 
Ну уже или:
Так а як правильно її оформити?
Или:
Так а как правильно её оформить? (что кстати более предпочтительно на форумах домена ru).


Автор: samoil 2.5.2011, 13:19
я тікі почав вивчати С++..

Автор: borisbn 2.5.2011, 13:38
samoil, тебе ж Gluttton сказал, что лучше переводить свои сообщения на русский. Я совершенно не против украинского, но во-первых на украинских форумах, а во-вторых я просто не понимаю, что ты говоришь (пишешь)

Автор: samoil 2.5.2011, 14:34
сорі.
как записать прогу в TURBOC

Автор: Gluttton 2.5.2011, 16:42
samoil, не знаю как в TURBOC, но на gcc работает вот так:
Код

#include <stdlib.h>

int main (int argc, char *argv[])
{
    int start = 1;
    int final = 50;
    int count = 0;
    int sum = 0;
    double average = 0.0;

    // Calculate sum and count of digits from range between start and final.
    for (int i = start; i <= final; i++) {    
        sum += i;
        count++;
    }

    // Calculate average.
    average = (double)sum / (double)count;

    printf ("Calculate average for range between %d and %d.\n", start, final);
    printf ("Summ of range: %d.\n", sum);
    printf ("Count of didgit in range: %d.\n", count);
    printf ("Average: %d / %d = %3.3f.\n", sum, count, average);

    return 0;
}


В результате работы получается:
Цитата

Calculate average for range between 1 and 50.
Summ of range: 1275.
Count of didgit in range: 50.
Average: 1275 / 50 = 25.500.

Автор: samoil 2.5.2011, 19:10
конечно спасибо за прог ..
но gcc я совсем не знаю .

Автор: Gluttton 2.5.2011, 19:34
samoil, я код привел не для того что бы похвастаться, что я знаю gcc (кстати я его тоже не знаю)  smile .
Я думаю, что этот код должен работать на любом другом компиляторе c.

Ты пробовал у себя запускать?

Автор: bsa 2.5.2011, 20:35
Для домашних заданий, курсовых, существует "Центр Помощи".

Тема перенесена! 

Автор: samoil 2.5.2011, 21:36
пробовал ..
выбивает ошибки относительно argc argv

Добавлено через 55 секунд
пробовал ..
выбивает ошибки относительно argc argv

Автор: Gluttton 2.5.2011, 22:14
Цитата(samoil @  2.5.2011,  21:36 Найти цитируемый пост)
пробовал ..
выбивает ошибки относительно argc argv

"Убей" их - они в данном случае совершенно не нужны. Оставь просто пустые скобки.

Автор: samoil 2.5.2011, 23:51
немного переделал

# include <stdlib.h>
# include <iostream.h>
# include <math.h>
# include <conio.h>
int main ()
{
int start = 1;
int final = 50;
int count = 0;
int sum = 0;
double average = 0.0;

for (int i = start; i <= final; i + +) {
sum + = i;
count + +;
}
average = (double) sum / (double) count;
cout <<("Calculate average for range between% d and% d. \ n", start, final);
cout <<("Summ of range:% d. \ n", sum);
cout <<("Count of didgit in range:% d. \ n", count);
cout <<("Average:% d /% d =% 3.3f \ n", sum, count, average);
getch ();
return 0;
}

и странный ответ получился  -->  5012755025

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)