Помощь - Поиск - Пользователи - Календарь
Полная версия: программки на си > Информатика / Программирование
Образовательный студенческий форум > Другие дисциплины > Информатика / Программирование
darkcat
Помогите кто может,плиз.
необходимо написать программы на си,которые определяют:
1.Есть ли в последовательности число Х
2.Количество различных элементов неубывающей последовательности
3.Длину наибольшего постоянного участка последовательности

Последовательность находится в каком-то файле.
Использовать массивы нельзя(((
kaa
darkcat А какие ваши идеи или наработки?
darkcat
в 1й цикл,который последовательно сравнивает элементы с х.
2ю программу могу решить,но только через массив.


В принципе,могу решить эти задачи на паскале,но вот надо на си.а с семантикой и лексикой данного языка знакома слабо,времени разбираться пока что нет.поэтому дело не в идеях,а в особенностях реализации этих идей на си.
kaa
Цитата
в 1й цикл,который последовательно сравнивает элементы с х.


пример
int n=сколько чисел в последовательности
for(int i=0;i<n;i++)\\
{
if(тут сравнивать с Х)
{
вывести Х \\ если число Х попалось в последовательности
}
else
вывести " Не попались числа"
}

п.с я знаю с++ а си не очень )так что вам самим прийдеться переводить на язык програмированиия




http://www.languagec.info/

тут подробно описан синтаксис СИ) в правой стороне сайта...
Vago
Цитата(kaa @ 28.9.2009, 21:14) *

пример
int n=сколько чисел в последовательности
for(int i=0;i<n;i++)\\
{
if(тут сравнивать с Х)
{
вывести Х \\ если число Х попалось в последовательности
}
else
вывести " Не попались числа"
}

Неверно.
darkcat
а как верно?
Vago
Цитата(darkcat @ 29.9.2009, 16:11) *

а как верно?

Нарисуйте блок-схему. Или напишите эту программку на Вашем любимом Паскале. Или просто - опишите алгоритм по-русски ("...читаем из файла очередной элемент; сравниваем его с X; если он равен X, то..., в противном случае - ..."). А потом переложите это на C. Не так уж много тут новой "семантики и лексики". Элементарная работа с файлами (открыть, читать в цикле пока не обнаружим конец файла, закрыть), операторы if и break, переменные типа int и bool, вывод по printf(). Всё.
darkcat
Пусть так.но вот в 3ей задаче мне не понятна идея.
Vago
Цитата(darkcat @ 29.9.2009, 16:41) *

в 3ей задаче мне не понятна идея.

Для простоты положим пока, что в файле есть хотя бы один элемент (перейти к случаю ошибочно-пустого файла просто, но задача сейчас - не обработка ошибок...). Полагаем:
макс_ длина_непрерывной_последовательности = 1 и длина_текущей_непрерывной_последовательности = 1. Считываем первый элемент и запоминаем его, как текущее_значение_непрерывной_последовательности. А дальше - читаем файл, элемент за элементом. После чтения очередного элемента, сравниваем его с текущее_значение_непрерывной_последовательности. Что делать, если он оказался равен, а что - если нет, сами допишете?..
darkcat
думаю,да.спасибо
Vago
Цитата(darkcat @ 30.9.2009, 6:48) *

спасибо

Не за что smile.gif . Прежде чем ломать голову над третьей задачей, алгоритмизируйте, всё-таки, сперва вторую (без массива, естественно). Используемые приёмы там такие же, как и в 3-й, но 2-я - чуть попроще.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2024 Invision Power Services, Inc.