Помогите решить несколько задачек по Visual c++

Ответить
Age
Сообщения: 2
Зарегистрирован: 22 дек 2006, 15:29

22 дек 2006, 15:40

Здравствуйте. Помоите пожалуйста решить несколько консольных задач. Нужно в университет.
Составить программу с использованием операторов for:
1)Вычислить сумму квадратов всех нечетных чисел в диапазоне от 42 до 73.
Я начал решать эту задачу:
#include "stdafx.h"
#include "iomanip.h"
#include "iostream.h"
#include "math.h"
int main(int argc, char* argv[])
{double s,x,k;
for(x=42;x<=73;x+=1)
if(fmod(x,2)==0)
s=0;
else
s=x*x;
cout<<"s="<<s<<endl;

return 0;
}
Только не пойму как сделать чтобы сумму выводил, а то выводит число около 5000 это явно не сумма.

Разработать программу для табуляции функции у=f(x). Для определения общего интервала при построении графика рассчитать количество точек на среднем интервале и задать такое же на левой и правой границе.
Это задание в присоединеном текстовом документе WORD,т.к. текст задачи требует спец символов. Также там оставльные несколько задачи,которые я вас попрошу решить. Помогите пожалуйста бедному студенту. Заранее благодарен.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
BBB
Сообщения: 1272
Зарегистрирован: 27 дек 2005, 13:37

22 дек 2006, 16:18

Age писал(а):Здравствуйте. Помоите пожалуйста решить несколько консольных задач. Нужно в университет.
Составить программу с использованием операторов for:
1)Вычислить сумму квадратов всех нечетных чисел в диапазоне от 42 до 73.
Я начал решать эту задачу:
#include "stdafx.h"
#include "iomanip.h"
#include "iostream.h"
#include "math.h"
int main(int argc, char* argv[])
{double s,x,k;
for(x=42;x<=73;x+=1)
if(fmod(x,2)==0)
s=0;
else
s=x*x;
cout<<"s="<<s<<endl;

return 0;
}
Только не пойму как сделать чтобы сумму выводил, а то выводит число около 5000 это явно не сумма.
Холмс, раскачиваясь в кресле и сделав несколько затяжек, торжественно изрек:
- 5329. Это квадрат семидесяти трех.


Ну как же это будет сумма, если ты не суммируешь, а каждый раз присваиваешь переменной S новое знчение (квадрат следующего числа). Вот последнее значение тебе и выводится.

Код: Выделить всё

s = 0;
for (x=42;x<=73;x+=1) {
  if (fmod (x,2) !=0 )
    s = s + x*x;
};
cout << "s=" << s << endl;
Аватара пользователя
WinMain
Сообщения: 913
Зарегистрирован: 14 янв 2005, 10:30
Откуда: Москва
Контактная информация:

22 дек 2006, 16:18

Так должен выглядеть цикл:

Код: Выделить всё

int x, s = 0;
for(x=42;x<=73;x++)
{
  if (x&1) s += x*x;
}
Age
Сообщения: 2
Зарегистрирован: 22 дек 2006, 15:29

22 дек 2006, 18:38

Помогите решить задачи из текстового файла пожалуйста
Хыиуду
Сообщения: 2388
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

25 дек 2006, 10:00

Господа, а зачем писать:
for (x=42;x<=73;x+=1) {
if (fmod (x,2) !=0 )
если можно просто:
for (x=43;x<=73;x+=2)
Нам же нужны только нечетные числа? 42 явно к ним не относится
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Muravei
Сообщения: 1
Зарегистрирован: 28 сен 2012, 12:44

28 сен 2012, 12:53

ребята. Я начинающий программист. решил сам попробовать написать первую задачу.
Вижу некоторые пишут в 2 строки, но я написал как смог.
Хотел вывести сумму всех нечетных чисел то 42 до 74. у мня получилось вот что:
#include <stdio.h>
#include <stdlib.h>
#include<math.h>

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

}

выводит 1872, хотя я ожидал другой ответ. подскажите, где ошибка.
Андрей_Казаков
Сообщения: 4
Зарегистрирован: 25 окт 2012, 21:38

25 окт 2012, 22:02

если что пиши andrey93kz@mail.ru
Ответить