Автор Тема: Задача по сИ  (Прочитано 2663 раз)

0 Пользователей и 1 Гость просматривают эту тему.

princ23

  • Гость
Задача по сИ
« : 25 Мая 2016, 11:18:29 »

Друзья, помогите решить задачу!
Нужно написать функцию, которая получает в качестве параметров два целых числа и возвращает сумму чисел из диапазона между ними. Пожалуста. :-[
 

pww

  • Гость
Задача по сИ
« Ответ #1 : 26 Мая 2016, 11:52:44 »
То есть сумму двух чисел в указанном промежутке? Ну как то так - первое слагаемое получаем прибавив единицу к перовму числу, второе слагемое получаем отняв от второго числа единицу.
#include <stdio.h>
// Написать функцию, которая получает в качестве параметров два целых числа и возвращает сумму чисел из диапазона между ними
int f2c (int,int);

int main ()
{   int x,y,sum;
    printf("Vvdeite dva chisla: \n");
    scanf("%d %d",&x,&y);
    sum= f2c(x,y);
    printf("Summa = %d",sum);

}
int f2c(int a,int b)
{ int s;
  a=a+1;
  b=b-1;
  s=a+b;
  return s;

}
 

koi

  • Гость
Задача по сИ
« Ответ #2 : 27 Мая 2016, 22:04:12 »
Аха, неверно вы решили. Сумму из чисел диапазона между ними - то есть нужно найти сумму не двух, а всех чисел, то есть если ввели два числа - 4 и 9, нужно найти сумму 5+6+7+8. Следовательно перепишу программу:

#include <stdio.h>
// Написать функцию, которая получает в качестве параметров два целых числа и возвращает сумму чисел из диапазона между ними
int f2c (int,int);
int main ()
{   int x,y,sum;
    printf("Vedite 2 chisla: \n");
    scanf("%d %d",&x,&y);
    sum=f2c(x,y);
        printf("Summa = %d",sum);
}

int f2c(int a,int b)
{
    int i,c,s=0;
    c=a+1;
    for(i=c;i<=(b-1);i++){
        s=s+c;
        c=c+1;}
        return s;

}
 

gadgab

  • Гость
Задача по сИ
« Ответ #3 : 29 Мая 2016, 15:26:21 »

Ну вы и накрутили)) Всё можно сделать гораздо проще:
Цитировать
#include <stdio.h>
#include <stdlib.h>
int sum (int a,int b){
int s=0;
for ( int i=a+1;i<b;i++)
s+=i;
return(s);
}
int main()
{
int a,b,s;
scanf("%d%d",&a,&b);
s=sum(a,b);
printf("%d\n",s);
}
 

adeloo

  • Гость
Задача по сИ
« Ответ #4 : 29 Мая 2016, 21:47:54 »

Ну и на плюсах код добавлю)


Цитировать
#include<iostream>
using namespace std;
int sum (int a,int b){ //функция сложения
int s=0;
for ( int i=a+1;i<b;i++)
s+=i;
return(s);
}
int main()
{
int a,b;
cin>>a>>b;
cout<<(sum(a,b));
}
 

 

В быстром ответе можно использовать BB-теги и смайлы.

Имя: E-mail: