Консультация № 184979
26.12.2011, 21:11
86.19 руб.
0 28 0
Здравствуйте! У меня возникли сложности с таким вопросом:
Требуется написать программу на Си:
Выбрать идущие подряд тройки цифр,упорядоченных по возрастанию.

Развернутое условие в следующем сообщении!
Помощь нужна до среды!
Прошу помочь!

С уважением,
Иван.

Обсуждение

Неизвестный
26.12.2011, 21:16
общий
Составить программу на языке Си в целом типе данных, которая для любых допустимых и корректно записанных чисел этого типа в десятичном изображении, поступающих на стандартный ввод программы, выполняет указанное вариантом действие над их значением.
В набор тестов должны быть включены разнообразные,в том числе и простейшие тесты,крайние значения для данной задачи,отрицательные и очень большие числа.

Вариант 3
Выбрать идущие подряд тройки цифр, упорядоченных по возрастанию

Помогите,пожалуйста!

С уважением,
Иван.
Неизвестный
27.12.2011, 11:10
общий
сейчас возьмусь за задачу. думаю к 15.00 сделаю
Неизвестный
27.12.2011, 11:11
общий
к сожалению экспертом в данном разделе я зарегистрировался поздно...вы поместите мой ответ в данном вопросе если я выложу его сюда в минифорум?
Неизвестный
27.12.2011, 11:35
общий
Spasibo Vam!
Неизвестный
27.12.2011, 12:34
общий
Может быть сделал очень криво и не очень хорошо, но решение соответствует вашей задаче
Код:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int s,a,b,c,i;
printf("BBeDuTe chislo troek s=");
scanf("%d",&s);
for(i=1;i<=s;i++)
{

printf("a=");
scanf("%d",&a);
printf("b=");
scanf("%d",&b);
printf("c=");
scanf("%d",&c);
if (a<=b)
{
if (b<=c)
{
printf("Uporyadochenaya troyka vibrana\n");
printf("%d",a);
printf(" ");
printf("%d",b);
printf(" ");
printf("%d\n",c);
}
}

}
return 0;
}

Программа запрашивает у пользователя сколько будет троек и начинает их ввод....Ввев очередную тройку она проверяет упорядочена ли она по возрастанию....если оно так то выдает об этом сообщение....это и есть выбранная тройка.
Неизвестный
27.12.2011, 12:45
общий
только начал разбираться в языке с, хотя давно очень его изучал. Думаю адаптируюсь быстро
Неизвестный
27.12.2011, 13:14
общий
Вид кода соответствует тому,что я ожидал увидеть
Но только программа работает не так
Нужно,чтобы при вводе,например, 123777589 она выдавала 123, 589,
при вводе 000 876 543 она выдавала "Троек цифр,упорядоченных по возрастанию, нет" в таком роде.А эта программа просто считывает тройки и пишет,что упорядоченная тройка выбрана,еще раз перечислив все тройки
Неизвестный
27.12.2011, 13:19
общий
Конечно, выложу. Когда будет окончательный вариант тогда.
Неизвестный
27.12.2011, 13:21
общий
в таком случае придется работать со строками и работать с кодом символа ну или преобразовывать тип.....
ввести строку.....получать код символа и сравнивать его с другим ..... теперь подумайте как это возможно, если
Код:
корректно записанных чисел этого типа в десятичном изображении, поступающих на стандартный ввод программы

работа с числами как у вас написана, но как допустим вы обработаете такое число.... 000000045630485 ?
Неизвестный
27.12.2011, 13:25
общий
Другими словами,выбрать те тройки,в которых цифры идут по возрастанию.


Хм,действительно..
Неизвестный
27.12.2011, 13:26
общий
уточните пожалуйста задание....что вводим(какой тип данных) и какой получаем.....
Неизвестный
27.12.2011, 13:28
общий
Если вводим число допустим, то только посимвольно и оперируем сразу тройками как у меня....если же строка цифр, то алгоритм будет несколько сложнее....могу сделать конечно до 22.00 если это реализуемо(всю жизнь только с паскалем работаю)
Неизвестный
27.12.2011, 18:22
общий
Вводим целый тип данных,получаем тоже целый

Спасибо за желание помочь!

С уважением,
Иван.
Неизвестный
27.12.2011, 18:25
общий
=) ответ устраивает вас что я сделал?
Неизвестный
27.12.2011, 18:37
общий
Программа работает неправильно при тесте a=234 b=235 c=235, выбирает эту тройку..
Неизвестный
27.12.2011, 18:38
общий
а опровергните меня что эта тройка не упорядочена по возрастанию)
Неизвестный
27.12.2011, 18:41
общий
Да,только что задумался над этим,действительно,упорядочена
Неизвестный
27.12.2011, 18:42
общий
программа учла в условии рповерки такие случаи)) они тоже считаются правельными)
Неизвестный
27.12.2011, 19:03
общий
можно уже публиковать ответ?
Неизвестный
27.12.2011, 19:31
общий
Ответ от преподавателя:

"Составить программу в целом типе данных ..."
3) Выбрать идущие подряд тройки цифр(!!!), упорядоченных по возрастанию

Читайте задание внимательно.

Примеры для вашей задачи:
123 -> 123
52341567 -> 234 156 567
65432 ->
77777 ->
1 ->
756453423 ->

Неизвестный
28.12.2011, 00:15
общий
Цитата: 388307
Выбрать идущие подряд тройки цифр(!!!)

теперь подумайте про условие.....идещие подряд тройки чисел......значит они идут по 3.......3 числа образуют тройку, за ними еще одна тройка и так далее......
теперь почему из числа 77777 нельзя выделить 1 тройку и вывести её????? ведь это тройка же))
Неизвестный
28.12.2011, 00:24
общий
Вы упускаете вторую часть условия,а именно "упорядоченных по возрастанию"
PS Не путайте цифру и число,я уже как-то спутал
Неизвестный
28.12.2011, 00:29
общий
777 не упорядочено разве??? вы снова путаете.....

теперь чтоли выходит что 12345677789 не упорядочено по возрастанию?
Неизвестный
28.12.2011, 00:30
общий
тогда все сортировки в топку если там есть повторяющиеся элементы)))
Неизвестный
28.12.2011, 00:42
общий
Видно мы с Вами говорим на разных языках
Речь идет о цифрах(!),упорядоченных по возрастанию.Подразумевается,что нужно выводить только те последовательности из 3х цифр(тройки),в которых последующая цифра больше предыдущей.
Неизвестный
28.12.2011, 03:09
общий
не больше, а упорядочена по возрастанию..... а к этому относится и такие комбинации как 6 7 8 8 8 9 ведь тоже упорядочены....6 7 8 и 8 8 9..... пусть цифры.....тогдя теряется смысл упорядоенности если вы встретите такие последовательности.....
Неизвестный
28.12.2011, 03:11
общий
пусть данн массив цифр.....если он будет выглядеть так a1=1 a2=2 a3=2 a4=5 a5=7 a6=9 он что не упорядочен по возрастанию????
давно
Мастер-Эксперт
425
4118
31.12.2011, 14:30
общий
На всякий случай напоминаю Вам, что упорядочивание может быть по "возрастанию" и по "неубыванию".
По возрастанию: это когда каждая следующая цифра последовательности больше предыдущей.
По неубыванию: это когда каждая следующая цифра последовательности больше или равна предыдущей.
Разницу улавливаете?
Об авторе:
Я только в одном глубоко убеждён - не надо иметь убеждений! :)
Форма ответа