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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.11.2010, 19:46   #1
hvz-
Форумчанин
 
Регистрация: 14.11.2010
Сообщений: 138
Восклицание Задача.Цикл for.C консольная

Всем доброго времени суток ! В программировании я новичёк (1 курс) так что сильно не пинайте ! Тут возникла проблема: программа работает, но не правильно =/ Собственно сама задача:
Код:
Вводятся числа a и b. Найти сумму таких чисел в диапазоне [a;b], у которых остаток от деления на 7 такой же, как и у b при делении на 7.
Сам код который я написал:
Код:
#include <stdio.h>
#include <conio.h>
#include <iostream>

int main()
{
	int a=0, b=0;
	printf("Write 2 integer numbers separated by a space: ");
	scanf("%d %d", &a, &b);

	int sum=0;
	for(int i=a; i<=b; ++i)
		{
			if(i%7==7) sum+=i;
		}
	printf("\n%d", sum);

	printf("\nPress any key to exit the program...");
	getch();
	return 0;
}
При работе программы всегда выдаёт ноль, понимаю что if(i%7==7) sum+=i; скорее всего записано не правильно, но я уже окончательно запутался и ни как не соображу как же записать
Код:
сумму таких чисел в диапазоне [a;b], у которых остаток от деления на 7 такой же, как и у b при делении на 7
hvz- вне форума Ответить с цитированием
Старый 15.11.2010, 20:24   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Откуда код скомуниздил?
Код:
if((i%7)==(b/7)) sum+=i;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.11.2010, 20:44   #3
hvz-
Форумчанин
 
Регистрация: 14.11.2010
Сообщений: 138
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Откуда код скомуниздил?
Я же написал, что код мой, мне только с циклом for помогли.
Код:
if((i%7)==(b/7)) sum+=i;
Не понимаю, зачем переменную b мы делим на 7 ? Может b%7 ? С этим "если" у меня только при a=7 b=8 выдаёт ответ 8, по остальным числам 0.

И ещё вопрос: может диапозон чисел в цикле for я не правильно написал ? Если, к примеру, введут 9 и 16, то это будет диапозон чисел 9 10 11 12 13 14 15 16 , у меня правильно записана реализация диапозона ?

Последний раз редактировалось hvz-; 15.11.2010 в 20:48.
hvz- вне форума Ответить с цитированием
Старый 15.11.2010, 20:50   #4
kaljan775
:D
Форумчанин
 
Аватар для kaljan775
 
Регистрация: 26.09.2010
Сообщений: 570
По умолчанию

да, должно быть b%7, "реализация диапозона" написана верно, берутся числа от a до b включая b
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery
kaljan775 вне форума Ответить с цитированием
Старый 15.11.2010, 21:15   #5
hvz-
Форумчанин
 
Регистрация: 14.11.2010
Сообщений: 138
По умолчанию

Спасибо Stilet и kaljan775, очень помогли, оказалось что тут нужно логически подумать и не тупить ))
Тему можно закрывать.
hvz- вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача. Строки. Delphi консольная. Atoris Помощь студентам 4 16.11.2010 09:44
задача на while цикл dante92 Помощь студентам 1 27.12.2009 15:14
задача в ТР на цикл dante92 Помощь студентам 1 20.12.2009 15:14
Цикл с предусловием. ( цикл while) Цикл с постусловием. (цикл repeat ... until) Mr.User Помощь студентам 9 23.11.2007 01:34