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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.10.2009, 21:31   #1
Medik07
Пользователь
 
Регистрация: 22.09.2009
Сообщений: 23
По умолчанию задача по C++...последовательность чисел

Здравие Желаю Всем. Есть задачки, пожалуйста посмотрите.

1. Дана последовательность из n целых чисел. Найти сумму нечетных элементов этой последовательности.
2. Дана последовательность целых чисел, за которой следует 0. Найти количество элементов этой последовательности, кратных числу К.
3. S=15+17-19+21+23-25+…, всего n слагаемых.

Ввод данных в задачах №1и №2 осуществляется с клавиатуры.
Массивы при решении задач не используются.

Так как мне очень не ловко, то приведу свои методы решения задачи.

я думаю, что:

При решении задачи №1 целесообразно использовать цикл с параметром, т. к. известно количество элементов последовательности.
При решении задачи №2 целесообразно использовать цикл с условием, т. к. известно, что признаком окончания последовательности является 0.

Заранее спасибо

Последний раз редактировалось Medik07; 07.10.2009 в 21:38.
Medik07 вне форума Ответить с цитированием
Старый 07.10.2009, 21:47   #2
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

Цитата:
то приведу свои методы решения задачи
извините, а ваши методы в коде уже как-то нарисованы?
counter вне форума Ответить с цитированием
Старый 07.10.2009, 21:56   #3
Medik07
Пользователь
 
Регистрация: 22.09.2009
Сообщений: 23
По умолчанию

Код:
#include <iostream>
#include <string>

using namespace std;

int main(){
	int* mas;
	cout << "Input number of elements: " << endl;
	int masNum = 0;
	cin >> masNum;
	mas = new int( masNum );
	cout << "Input sequence of numbers" << endl;
	for ( int i = 0; i < masNum; i++ )
		cin >> mas[i];
	int sum = 0;
	for ( int i = 0; i < masNum; i++ )
		if ( mas[i] % 2 == 1 )
			sum += mas[i];
	cout << "First Answer: " << sum << endl;
	int i = 0;
	cout << "Input k: " << endl;
	int k = 0;
	cin >> k;
	int count = 0;
	while( mas[i] != 0 ){
		if ( mas[i] % k == 0 )
			count++;
		i++;
	}
	cout << "Second Answer: " << count << endl;
	system("pause");
	return 0;
}
на вот....но она не работает нормально...скажем правильно вообще не работает ))))

Последний раз редактировалось Stilet; 08.10.2009 в 08:30.
Medik07 вне форума Ответить с цитированием
Старый 07.10.2009, 22:13   #4
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Цитата:
Сообщение от Medik07
mas = new int( masNum );
Вы выделяете память под одну(!) переменную типа int и инициализируете её masNum. Чтобы выделить массив
Код:
mas = new int[masNum]; // квадратные скобки
но ведь вам нельзя использовать массивы..
netrino вне форума Ответить с цитированием
Старый 07.10.2009, 22:17   #5
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

вот первая задача без массива

Код:
#include <iostream>

using namespace std;

int main()
{
	int mas;
	cout << "Input number of elements: " << endl;
	
	int masNum = 0;
	cin >> masNum;
	
	cout << "Input sequence of numbers" << endl;
		
	int sum = 0;
	
	for ( int i = 0; i < masNum; i++ )
	{
		cin>>mas;
		if ( mas % 2 !=0 )
			sum += mas;
	}

	cout << "First Answer: " << sum << endl;
}
counter вне форума Ответить с цитированием
Старый 07.10.2009, 22:18   #6
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 822
По умолчанию

Будем заставлять тебя думать...начну с 3 задачи...
Код:
#include <iostream>
using namespace std;
//------------------------
int main()
{
     int n=0;
     cout<<"Enter N";
     cin>>n;
     int j=0;
         int sum=0;
     for(int i=0;i<n;i++)
         {
                if(j!=2)
                  {
                     sum=sum+15+i*2;
                     j++;
                  }
                  if(j==2)
                  {

                     j=0;
                  } 
         } 
cout<<"\n Summa= "<<sum;
}
Вот здесь
Цитата:
if(j==2)
{

j=0;
}
пропущено добавление в последовательность отрицательного члена...Подумай и добавь сам..по-моему намек прозрачен.
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Старый 07.10.2009, 23:21   #7
Medik07
Пользователь
 
Регистрация: 22.09.2009
Сообщений: 23
По умолчанию

Сорри....Скарам, а ты бы не мог помочь и со вторым заданием...что то не то выходит...заранее спасибо
Medik07 вне форума Ответить с цитированием
Старый 07.10.2009, 23:24   #8
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Цитата:
Сообщение от Medik07 Посмотреть сообщение
Сорри....Скарам, а ты бы не мог помочь и со вторым заданием...что то не то выходит...заранее спасибо
counter показал вам суть решения, вам необходимо лишь немного поменять условия для второго задания.
netrino вне форума Ответить с цитированием
Старый 07.10.2009, 23:26   #9
Medik07
Пользователь
 
Регистрация: 22.09.2009
Сообщений: 23
По умолчанию

ясно...спасибо
Medik07 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С++. Последовательность чисел Medik07 Помощь студентам 2 23.12.2011 20:54
написать последовательность чисел 10 8 6 4 2 0 Neytron Паскаль, Turbo Pascal, PascalABC.NET 7 11.06.2009 12:17
ЗАДАЧА НА ПОСЛЕДОВАТЕЛЬНОСТЬ ЧИСЕЛ. ПОМОГИТЕ ПОЖАЛУЙСТF НАПИСАТЬ ПРОГРАММУ НА ЯЗЫКЕ ПАСКАЛЬ владимир/к. Помощь студентам 2 21.01.2009 03:03
Последовательность чисел с степенью до N SEREG@ Помощь студентам 4 15.06.2008 22:41