Форум программистов, компьютерный форум CyberForum.ru

Вывести сумму и произведение чисел. - C++

Восстановить пароль Регистрация
 
Walter Bishop
 Аватар для Walter Bishop
7 / 7 / 0
Регистрация: 27.09.2011
Сообщений: 144
01.05.2012, 18:06     Вывести сумму и произведение чисел. #1
Здравствуйте.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<stdio.h>
#include<conio.h>
main()
{    
     int a, b, x, y, sum, pr, i, m, h;
     printf ("vedite 2 chisla ot a do b\n");
     scanf ("%d%d", x, y);
     if ((x%2==m)and (y%2==h)) {
     for (i=a; i<=b; i++)
     {
         sum==x+y;
         pr==x*y;
         printf ("%4d %4d\n" , sum, pr);
     }
     } 
     else {
          if ((x%2==0) and (y%2==0));
          printf ("Error! Vedite nechetnie chisla");
          }    
     getch();    
      
}
Нужно вывести сумму и произведение нечетных чисел. Помогите найти ошибку. Программа не работает.



Добавлено через 31 минуту
Короче, я что-то намудрил и не знаю как выплыть.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.05.2012, 18:06     Вывести сумму и произведение чисел.
Посмотрите здесь:

Напечатать сумму, произведение, разность и долю чисел C++
вычислить произведение, сумму чисел C++
C++ Горит зачет! Определить сумму чисел с чётными номерами и произведение чисел с нечетными номерами
Если в последовательности из 3-х чисел есть число 7, вычислить произведение этих чисел; иначе - сумму C++
C++ Дано 10 действительных чисел. Определить количество, сумму и произведение отрицательных чисел
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
elivin
65 / 65 / 1
Регистрация: 04.01.2012
Сообщений: 231
Записей в блоге: 1
01.05.2012, 18:37     Вывести сумму и произведение чисел. #2
Сильно намудрил. Сразу бросается в глаза:
1. Не main(), а
C++
1
int main()
2. scanf() не принимает сами переменные, т.е. правильно будет:
C++
1
scanf ("%d%d", &x, &y);
3. В части:
C++
1
2
     if ((x%2==m)and (y%2==h)) {
     for (i=a; i<=b; i++)
переменные a, b, m и h не инициализированы
4. = - присваивание, а == - сравнение (равенство), так что в цикле:
C++
1
2
sum=x+y;
pr=x*y;
Это сначала исправьте.
Walter Bishop
 Аватар для Walter Bishop
7 / 7 / 0
Регистрация: 27.09.2011
Сообщений: 144
01.05.2012, 18:50  [ТС]     Вывести сумму и произведение чисел. #3
Конечный результат и всё работает, избавился от цикла:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<stdio.h>
#include<conio.h>
main()
{    
     int a=1, b=20, x, y, sum, pr, i, m, h;
     printf ("vedite 2 chisla ot a do b\n");
     scanf ("%d%d", &x, &y);
     if ((x%2==0) or (y%2==0)) {
          printf ("Error! Vedite nechetnie chisla");
          }
       else  {
 
         sum=x+y;
         pr=x*y;
         printf ("%4d %4d\n" , sum, pr);
     } 
     getch();    
}
elivin
65 / 65 / 1
Регистрация: 04.01.2012
Сообщений: 231
Записей в блоге: 1
01.05.2012, 18:50     Вывести сумму и произведение чисел. #4
Цитата Сообщение от Walter Bishop Посмотреть сообщение
Объясните, пож-та, значение
Нужно сначала присвоить им значение. При объявлении переменной, ей присваивается (насколько помню) рандомное (случайное значение). То есть перед циклом for (i=a; i<=b; i++) переменным a и b нужно задать значение. Например:
C++
1
2
3
4
5
6
a=0;
b=1;
for (i=a; i<=b; i++)
{
   //Тело цикла
}
Тело цикла выполнится 1 раз
_script_
169 / 137 / 34
Регистрация: 01.05.2012
Сообщений: 414
01.05.2012, 18:53     Вывести сумму и произведение чисел. #5
Ну если надо найти сумму и произведение просто двух нечетных то тогда так!!

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<stdio.h>
#include<conio.h>
int main()
{
     int x, y, sum, pr;
 
     printf ("vedite 2 nechetnix chisla \n");
     scanf ("%d%d", &x, &y);
     if ((x%2==1)and (y%2==1)) {
         sum=x+y;
         pr=x*y;
         printf ("%4d %4d\n" , sum, pr);
     }
     else {
          if ((x%2==0) or (y%2==0));
          printf ("Error! Vedite nechetnie chisla");
          }
}
elivin
65 / 65 / 1
Регистрация: 04.01.2012
Сообщений: 231
Записей в блоге: 1
01.05.2012, 18:54     Вывести сумму и произведение чисел. #6
Цитата Сообщение от Walter Bishop Посмотреть сообщение
Конечный результат и всё работает, избавился от цикла:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<stdio.h>
#include<conio.h>
main()
{    
     int a=1, b=20, x, y, sum, pr, i, m, h;
     printf ("vedite 2 chisla ot a do b\n");
     scanf ("%d%d", &x, &y);
     if ((x%2==0) or (y%2==0)) {
          printf ("Error! Vedite nechetnie chisla");
          }
       else  {
 
         sum=x+y;
         pr=x*y;
         printf ("%4d %4d\n" , sum, pr);
     } 
     getch();    
}
Отлично. Только переменные a, b, i, m и n получаются лишними.

P.S. И всё-таки int main()
Walter Bishop
 Аватар для Walter Bishop
7 / 7 / 0
Регистрация: 27.09.2011
Сообщений: 144
01.05.2012, 18:58  [ТС]     Вывести сумму и произведение чисел. #7
нет не один, а два.

Добавлено через 3 минуты
поменял у переменной a=1, то получается и b=1 вот только тогда цикл выполняется один раз.
elivin
65 / 65 / 1
Регистрация: 04.01.2012
Сообщений: 231
Записей в блоге: 1
01.05.2012, 18:59     Вывести сумму и произведение чисел. #8
Цитата Сообщение от Walter Bishop Посмотреть сообщение
нет не один, а два.
Пардон, я у себя <= на < заменил, а цикл с вашего кода скопировал.

_script_, только
C++
1
if ((x%2==0) or (y%2==0));
уберите
osrcproject
3 / 3 / 0
Регистрация: 01.05.2012
Сообщений: 14
01.05.2012, 19:01     Вывести сумму и произведение чисел. #9
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<stdio.h>
#include<conio.h>
main()
{    
     int x, y, sum, pr, i;
     printf ("vedite 2 chisla ot a do b\n");
     scanf ("%d%d", &x, &y);
     sum = 0;
     pr = 1;
     for (i=x; i<=y; i++)    
     {
         if (i%2!=0) {
             sum+=i;
             pr*=i;
         }
     } 
     printf ("%4d  %4d\n" , sum, pr);
     getch();    
      
}
Может так?
Walter Bishop
 Аватар для Walter Bishop
7 / 7 / 0
Регистрация: 27.09.2011
Сообщений: 144
01.05.2012, 19:04  [ТС]     Вывести сумму и произведение чисел. #10
Ну спасибо Вам ребята. Теперь бы с этой задачкой управиться: Проверка на палиндром
osrcproject
3 / 3 / 0
Регистрация: 01.05.2012
Сообщений: 14
01.05.2012, 19:06     Вывести сумму и произведение чисел. #11
там поправил условие проверки на чётность if (i%2!=0)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.05.2012, 19:16     Вывести сумму и произведение чисел.
Еще ссылки по теме:

C++ Определить количество, сумму и произведение отрицательных чисел
C++ Найти максимальную сумму чисел в одной строке и вывести на экран эту сумму и номер строки
Вычислить сумму и произведение двух вещественных чисел C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
elivin
65 / 65 / 1
Регистрация: 04.01.2012
Сообщений: 231
Записей в блоге: 1
01.05.2012, 19:16     Вывести сумму и произведение чисел. #12
osrcproject, так сложнее в понимании и требует больших ресурсов (хотя и незначительно для данной задачи, всё рано лучше не делать так)

Теперь бы с этой задачкой управиться: Проверка на палиндром
Перевод на язык Си примера пользователя Drinker:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <stdio.h>
 
int main()
{
    int a; //Исходное число
    scanf("%d", &a); //Вводим его с клавиатуры
    int temp = a; //Объявляем временную переменную со значением исходного числа
 
    int b = 0; //Число перевернутое
 
    while (temp != 0)
    {
          b = b * 10 + temp % 10; //Переворачиваем число по цифрам
          temp /= 10; //Отбрасываем последнюю цифру
    }
 
    if (a == b)
          printf("Палиндром!");
    else
          printf("Fail :(");
    system ("pause");
    
    return 0;
}
Yandex
Объявления
01.05.2012, 19:16     Вывести сумму и произведение чисел.
Ответ Создать тему
Опции темы

Текущее время: 20:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru