Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.09.2012, 14:09   #1
mkerimkulov
Пользователь
 
Регистрация: 28.09.2012
Сообщений: 12
По умолчанию найти сумму всех нечетных чисел в диапазоне от 42 до 73.

Всем привет!
Я только начал изучать С. нашел гдето в инете задачу. Нужно найти сумму всех нечетных чисел в диапазоне от 42 до 73. Я написал, но ответ не такой , который я ожидал. где ошибка? спасибо

#include <stdio.h>
#include <stdlib.h>
#include<math.h>

int main()
{
int mas[32];
int a=42,i,summa=0;
for (i=0;i<32;i++)
{
mas[i]=a;
a=a+1;
if (a%2==1);
summa=summa+a;
}
printf ("\n summa= %d", summa);

}
mkerimkulov вне форума Ответить с цитированием
Старый 28.09.2012, 14:19   #2
mkerimkulov
Пользователь
 
Регистрация: 28.09.2012
Сообщений: 12
По умолчанию

сначала думал с массивами надо решать, по этому там лишние строчки есть. сорри
mkerimkulov вне форума Ответить с цитированием
Старый 28.09.2012, 15:00   #3
sVasilich
Форумчанин
 
Аватар для sVasilich
 
Регистрация: 16.12.2009
Сообщений: 224
По умолчанию

Код:
for (i=42;i<73;i++)
{
  if (i%2==1);
    summa=summa+i;
}
Люди бывают 10 типов: те, кто понимают двоичную систему счисления, и те, кто не понимают...
sVasilich вне форума Ответить с цитированием
Старый 28.09.2012, 15:23   #4
rUs_LAN
Форумчанин
 
Регистрация: 15.11.2008
Сообщений: 577
По умолчанию

можно и так

Код:
#include <stdio.h>

int main()
{
	int lowNumber = 42;
	int highNumber = 73;

	if (lowNumber % 2 != 1) lowNumber++;
	if (highNumber % 2 != 1) highNumber--;

	int count = (highNumber - lowNumber) / 2;

	int sum = (2*lowNumber + 2*(count-1))*count/2;
	
	printf("sum = %d", sum);	
}
rUs_LAN вне форума Ответить с цитированием
Старый 28.09.2012, 15:26   #5
mkerimkulov
Пользователь
 
Регистрация: 28.09.2012
Сообщений: 12
По умолчанию

ребята, всем спасибо.
mkerimkulov вне форума Ответить с цитированием
Старый 28.09.2012, 15:32   #6
mkerimkulov
Пользователь
 
Регистрация: 28.09.2012
Сообщений: 12
По умолчанию

не получается.
вот я попробовал

#include <stdio.h>
#include <stdlib.h>
#include<math.h>

int main()
{
int i,summa=0;
for (i=42;i<73;i++)
{
if (i%2==1);
summa=summa+i;
}
printf ("\n summa= %d", summa);
}

он выдает 1767. хотя должно быть не более 1000.
mkerimkulov вне форума Ответить с цитированием
Старый 28.09.2012, 15:40   #7
sVasilich
Форумчанин
 
Аватар для sVasilich
 
Регистрация: 16.12.2009
Сообщений: 224
По умолчанию

Оу, прошу прощения, вот так правильно:

Код:
for (i=42;i<73;i++)
{
  if (i%2==1)
    summa=summa+i;
}
Люди бывают 10 типов: те, кто понимают двоичную систему счисления, и те, кто не понимают...
sVasilich вне форума Ответить с цитированием
Старый 28.09.2012, 15:51   #8
three_cats
Форумчанин
 
Аватар для three_cats
 
Регистрация: 27.09.2012
Сообщений: 175
Радость

Получается 928(не больше 1000 )

Код:
#include <iostream>
#include <locale>

using namespace std;

void main() {

setlocale(LC_ALL,"Russian");

const int MIN_NUM = 42;
const int MAX_NUM = 73;
int summ = 0;

for (int i=MIN_NUM;i<=MAX_NUM;i++)
if (i % 2 != 0) summ = summ + i;

cout << "Сумма всех нечетных значений в диапазоне от " << MIN_NUM << " до " << MAX_NUM << " - " << summ << endl;

}
Никто

мой блог
three_cats вне форума Ответить с цитированием
Старый 28.09.2012, 15:54   #9
mkerimkulov
Пользователь
 
Регистрация: 28.09.2012
Сообщений: 12
По умолчанию

sVasilich
теперь получилось. Спасибо. теперь все понятно.
mkerimkulov вне форума Ответить с цитированием
Старый 28.09.2012, 15:59   #10
three_cats
Форумчанин
 
Аватар для three_cats
 
Регистрация: 27.09.2012
Сообщений: 175
Счастье

mkerimkulov, если хочешь, могу скинуть методичку по программированию с нашего университета. Правда, там задачи посложнее, зато они интересные!
Никто

мой блог
three_cats вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти сумму положительных нечетных чисел меньше 50 (free pascal) xxx966 Паскаль, Turbo Pascal, PascalABC.NET 4 26.09.2012 21:39
список всех четырехзначных нечетных чисел, делящихся без остатка на сумму своих цифр. Kami-sama Общие вопросы C/C++ 2 12.11.2010 17:07
Посчитать сумму всех целых чисел в этом диапазоне LION7777 Фриланс 14 15.06.2010 00:16
Найти сумму положительных нечетных чисел меньше 50 мандаринка Паскаль, Turbo Pascal, PascalABC.NET 8 22.12.2007 21:45