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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.11.2016, 20:45   #1
yumee
Новичок
Джуниор
 
Регистрация: 27.11.2016
Сообщений: 2
По умолчанию помогите с прогой на си

Вводиться последовательность ненулевых чисел, 0 - конец последовательности.Определить является ли эта послед-ность знакочередующаяся.
Побывал так и сяк, скоро надо сдавать работы, а у меня только эта осталась не решена.
Помогите пожалуйста.
(На языке си желательно )
yumee вне форума Ответить с цитированием
Старый 27.11.2016, 20:55   #2
Artsiom
Форумчанин
 
Аватар для Artsiom
 
Регистрация: 13.07.2012
Сообщений: 357
По умолчанию

Можете выложить ваши варианты решения?
Artsiom вне форума Ответить с цитированием
Старый 27.11.2016, 21:08   #3
yumee
Новичок
Джуниор
 
Регистрация: 27.11.2016
Сообщений: 2
По умолчанию

Цитата:
Сообщение от Artsiom Посмотреть сообщение
Можете выложить ваши варианты решения?
#include <conio.h>
#include <stdio.h>
#include <math.h>
#include <locale>
int main(void)
{
int n, sgn = 2;
setlocale(LC_ALL,"Russian");
printf("Введите последовательность\n");
while (1) {
scanf_s("%i", &n);
if (n == 0) {
printf("Да");
break;
}
if (sgn == (n > 0)) {
printf("Нет");
break;
}
sgn = (n > 0);
}
_getch();
return 0;
}
yumee вне форума Ответить с цитированием
Старый 27.11.2016, 21:47   #4
Artsiom
Форумчанин
 
Аватар для Artsiom
 
Регистрация: 13.07.2012
Сообщений: 357
По умолчанию

Хз, может как-то так.
Думаю есть вариант покруче этого.
Код:
int main(void)
{
	int n, buf = 0;
	bool flag = true;

	setlocale(LC_ALL, "Russian");

	printf("Введите последовательность\n");

	while (1) {

		scanf_s("%i", &n);

		if (n == 0) {
			break;
		}

		if ((buf > 0 && n > 0) || (buf < 0 && n < 0)) {
			flag = false;
		}

		buf = n;
	}

	if (flag) {
		printf("Последовательность была знакочередующейся\n");
	} else
		printf("Последовательность НЕ была знакочередующейся\n");

	_getch();
	return 0;
}

Последний раз редактировалось Artsiom; 27.11.2016 в 21:49.
Artsiom вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите с прогой на си moksim Помощь студентам 4 27.11.2016 19:36
Помогите с прогой на с++ Olya90 Помощь студентам 0 20.04.2009 16:56
Помогите с прогой (С++) Meddy Помощь студентам 3 13.07.2008 21:38
помогите с прогой никита989 Фриланс 5 14.01.2008 17:38