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

Proc - C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Bloodykeeper
This party getting crazy!
 Аватар для Bloodykeeper
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
08.10.2009, 14:50     Proc #1
Описать функцию SumRange (A,B) целого типа, находящую сумму всех целых чисел от А до В включительно (А и В-целые). если А>B, то функция возвращает 0. С помощью этой функции найти суммы чисел от А до В и от В до С, если даны числа А, В и С. Я не могу понять, как найти сумму всех целых чисел в Си. Заранее спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Splitter
 Аватар для Splitter
201 / 143 / 5
Регистрация: 13.01.2009
Сообщений: 554
08.10.2009, 14:56     Proc #2
C++
1
2
3
4
5
int res=0;
for (int i=a, i<=b, i++)
{
res=res+i;
}
Bloodykeeper
This party getting crazy!
 Аватар для Bloodykeeper
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
08.10.2009, 18:26  [ТС]     Proc #3
я написал так, но появляется куча ошибок, помогите исправить) я просто до этого процедуры не описывал, спасибо заранее.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
#include <math.h>
#include <conio.h>
 
int SumRange(int A, int B)
{   int res=0, int A, int B, i=0;
    
    for (int i=a, i<=b, i++)
    {
    res=res+i;
    }
    if(A>B) return 0;
}
Splitter
 Аватар для Splitter
201 / 143 / 5
Регистрация: 13.01.2009
Сообщений: 554
08.10.2009, 18:51     Proc #4
C++
1
2
3
4
5
6
7
8
9
int SumRange(int A, int B)
{       int res=0;
        if(A>B)
        for (int i=a, i<=b, i++)
        {
        res=res+i;
        }
        return res;
}
Bloodykeeper
This party getting crazy!
 Аватар для Bloodykeeper
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
08.10.2009, 22:54  [ТС]     Proc #5
но там куча синтаксических ошибок...хз де компилятор их нарыл((
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
09.10.2009, 08:18     Proc #6
*** cleared ***

C
1
2
3
4
5
6
7
8
9
10
int Sum(int a, int b)
{
    int n;
    
    if (a > b)
        return 0;
    for (n = a; a < b; n += ++a)
        ;
    return n;
}
xBot01
 Аватар для xBot01
9 / 9 / 1
Регистрация: 25.09.2009
Сообщений: 17
09.10.2009, 09:55     Proc #7
Цитата Сообщение от accept Посмотреть сообщение
*** cleared ***
Лучше использовать if...else и надо бы вариант на равенство.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
int Sum(int a, int b)
{
   int sum = a;
   
   if ( a <= b )
   {
      for ( int i = a; a <= b; i++ )
         sum += i;
      return i;
   }
   else
      return 0;
}
Bloodykeeper
This party getting crazy!
 Аватар для Bloodykeeper
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
09.10.2009, 15:46  [ТС]     Proc #8
А помогите еще один Proc написать:
Описать процедуру IncTime(H, M, S, T), которая увеличивает на Т секунд время, заданное в часах Н, минутах М и секундах S (H, M и S-входные и выходные параметры, Т-входной параметр; все параметры целые положительные).
Bloodykeeper
This party getting crazy!
 Аватар для Bloodykeeper
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
09.10.2009, 21:19  [ТС]     Proc #9
ну так что, никто подсказать не может?
.::.DIMA.::.
142 / 142 / 4
Регистрация: 26.10.2008
Сообщений: 782
09.10.2009, 21:42     Proc #10
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
25
void IncTime (int &h, int &m, int &s, int t)
{
    s += t;
    while (true)
    {   
        if (s >= 60)
        {
            s = s - 60;
            m++;
        }
        else
            if (m >= 60)
            {
                m = m - 60;
                h++;
            }
            else
                if (h >= 23)
                {
                    h = h - 24;
                }
                else
                    break;
    }
}
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
12.10.2009, 01:51     Proc #11
Цитата Сообщение от xBot01
C
1
2
3
      for ( int i = a; a <= b; i++ )
         sum += i;
      return i;
i существует в пределах цикла

а у меня там в коде сначала проверяется нужно ли функции считать, а потом уже присваивается первое значение

Цитата Сообщение от Bloodykeeper
Описать процедуру IncTime(H, M, S, T), которая увеличивает на Т секунд время
это можно ещё сделать через time.h, сначала преобразовать всё время в секунды, потом прибавить, потом обратно преобразовать секунды в часы, минуты, секунды
Bloodykeeper
This party getting crazy!
 Аватар для Bloodykeeper
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
14.10.2009, 20:28  [ТС]     Proc #12
помогите с первой задачей, пытаюсь протестировать, но не выходит, помогите пожалуйста

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int Sum(int a, int b)
{
   int sum=a, i;
   
   if ( a <= b )
   {
      for (i = a; a <= b; i++ )
         sum += i;
      return i;
   }
   else
      return 0;
}
void main(){
     int Sum(int, int)
     int C, j;
     printf("Enter C: ");
     scanf("%d", &C);
     for(j=0, b <= c; j++ )
              sum+=j;
              printf("%d%d",&i,&j)
}
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
15.10.2009, 04:21     Proc #13
два раза начальное значение прибавляет
а по main'у, так два числа надо вводить, нижнюю и верхнюю границы
Bloodykeeper
This party getting crazy!
 Аватар для Bloodykeeper
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
15.10.2009, 14:41  [ТС]     Proc #14
а можно в исправленном варианте? а то я чтото не понял...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.10.2009, 06:22     Proc
Еще ссылки по теме:

C++ Задача на proc помогите плз
stored proc
Изменить /proc/cpuinfo Linux
C Linux Через /dev или /proc
Proc и lambda. Зачем? Ruby

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

Или воспользуйтесь поиском по форуму:
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
16.10.2009, 06:22     Proc #15
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
25
26
27
28
29
#include <stdio.h>
 
int Sum(int a, int b);
 
main()
{
    int lower, upper;
    
    printf("Enter numbers (lower, upper): ");
    fflush(stdout);
    
    scanf("%d\t%d", &lower, &upper);
    
    printf("From %d to %d" "\n", lower, upper);
    printf("Sum = %d" "\n", Sum(lower, upper));
    
    return 0;
}
 
int Sum(int a, int b)
{
    int n;
    
    if (a > b)
        return 0;
    for (n = a; a < b; n += ++a)
        ;
    return n;
}
Yandex
Объявления
16.10.2009, 06:22     Proc
Ответ Создать тему
Опции темы

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