|
|
Чего вам хотелось бы видеть на сайте? |
|
|
|
|
|
|
|
|
|
C ++ |
|
|
|
#62 AlexSlipknot | 18 октября 2009 20:38
|
|
|
Активный дример
Репутация: 1809
Группа: Посетители
Сообщений: 902
C нами с: 29.10.2008
Очки: 7549
|
int main(void) { FILE * fin=NULL; int sum=0,w; int m;//переменная, в которую будем записывать самую большую сумму m=0; //сначала присвоим ей значение 0 fin=fopen("number.txt","r"); while (fscanf(fin,"%d",&w)==1) {sum+=w; if (sum>m) {m=sum;} } printf("maximum=%d",m); return 0; } вот как-то так. Если ошибся где-то в синтаксисе - Инквизитор исправит (я ж Дэльфиец )
-------------------- Slipknot Corp.
|
|
|
|
|
|
#64 AlexWhite | 18 октября 2009 21:26
|
|
|
Дример
Репутация: 3
Группа: Посетители
Сообщений: 35
C нами с: 4.09.2008
Очки: 223
|
Ну если с преобразованием типов все ясно, то само определение большей суммы неясно, и как я только не измудрялся решить задачу в трубопаскале. Точно выяснено, что если в произвольной последовательности чисел не будет отрицательных, то наибольшей суммой будет сумма всех чисел, значит для начала (или как там в С) описываем процедуру подсчёта общей суммы, далее идет условный оператор (как бы это выглядело в паскале): var x: byte; st: string; begin st:= '-'; x:= pos (st, string1); {строка с числами} if x < > 0 then {процедура главного алгоритма} else {тот кусок кода подсчёта общей суммы, в виде процедуры}
А вот этот главный алгоритм - загадка!! блин, даже графическим методом пытался решить, нифига не сдается :mad:
|
|
|
|
|
|
#66 AlexSlipknot | 18 октября 2009 22:15
|
|
|
Активный дример
Репутация: 1809
Группа: Посетители
Сообщений: 902
C нами с: 29.10.2008
Очки: 7549
|
Цитата AlexWhite Ну если с преобразованием типов все ясно, то само определение большей суммы неясно, и как я только не измудрялся решить задачу в трубопаскале. Точно выяснено, что если в произвольной последовательности чисел не будет отрицательных, то наибольшей суммой будет сумма всех чисел, значит для начала (или как там в С) описываем процедуру подсчёта общей суммы, далее идет условный оператор (как бы это выглядело в паскале): var x: byte; st: string; begin st:= '-'; x:= pos (st, string1); {строка с числами} if x < > 0 then {процедура главного алгоритма} else {тот кусок кода подсчёта общей суммы, в виде процедуры}
А вот этот главный алгоритм - загадка!! блин, даже графическим методом пытался решить, нифига не сдается :mad: во-первых, зачем pos? Во-вторых, зачем проверять х на 0? Я щас немного занят. Как освобожусь - переведу код InquisiTORа на delphi. UPD: х лучше взять integer. Открыть файл с помощью fileopen, потом ассоциировать с помощью assignfile, прочитать строку с помощью readln. Все. Остальное - фантазия программера ) Я спать )
-------------------- Slipknot Corp.
|
|
|
|
|
|
#68 AlexWhite | 19 октября 2009 11:33
|
|
|
Дример
Репутация: 3
Группа: Посетители
Сообщений: 35
C нами с: 4.09.2008
Очки: 223
|
AlexSlipknot19, мой уровень программера находится между [совсем никакой] и [очень слабенький]. И то, что я тоже учавствую в решении задачи, предложенной LEQADA, не означает что я стараюсь помочь ему (потомо что в Си, как я уже говорил не шарю ни грамма), но сам хочу решить эту задачу на паскале (делфи) интереса ради. Поэтому портируй пожалуйста код InquisiTORa, в "паскальный", буду оч. признателен. Попробую объяснить тот кусок кода (абстракцию дилетанта) который я привел выше: 1) Нужно было взять х как integer, byte было ошибкой, просто я тренируюсь подбирать типы, экономящие память; 2) Pos, если я не ошибаюсь, функция типа integer (вот поэтому byte и было ошибкой) и возвоащает целым числом позицию первого символа искомой подстроки (в нашем случае это '-'), а если этого символа нет, функция возвращает 0, соотв. если знак минуса есть, то ищем числа, если нет - просто считаем сумму всех чисел Цитата AlexSlipknot19 UPD: х лучше взять integer. Открыть файл с помощью fileopen, потом ассоциировать с помощью assignfile, прочитать строку с помощью readln. Все. Остальное - фантазия программера ) Я спать ) Спасибо за уточнение, я сделал почти также
|
|
|
|
|
|
#70 LEQADA Мастер кустарных методов | 20 октября 2009 18:10
|
|
|
Активный дример
Репутация: 3671
Группа: Посетители
Сообщений: 887
C нами с: 29.11.2008
Очки: 3939
|
Решил!!! Сууупер, и без использования массива! Всем участвующим в решение задачи благоданости.В частности AlexSlipknot19, InquisiTOR. Огромное вам спасибо парни, очень помогли... Вот код программы: Нажмите
|
|
|
|
|
|
#71 LEQADA Мастер кустарных методов | 22 октября 2009 15:56
|
|
|
Активный дример
Репутация: 3671
Группа: Посетители
Сообщений: 887
C нами с: 29.11.2008
Очки: 3939
|
Ещё одна задача по С. Код написал и компилируется без ошибок, но при запуске выходит окно предлагающее сообщить об ошибке "Send Error Report" или "Don't Send". Помогите пожалуйста найти ошибку и исправить её...Буду очень благодарен. Предполагается, что в файле записана последовательность чисел неизвестной длины (возможно, пустая). Требуется за один просмотр файла и без запоминания последовательности в массиве определить число чисел последовательности НЕ РАВНЫХ абсолютно максимальному элементу в последовательности.
|
|
|
|
|
|
#78 InquisiTOR | 23 октября 2009 07:55
|
|
|
Только зашел
Репутация: --
Группа: Гости
Сообщений: 0
C нами с: --
Очки:
|
Так что ли? (Если я правильно понял смысл задачи) UPDВот такое еще решение пришло в голову. Написал на коленке, должно работать. Пишу с КПК так что простите за ненормальный хостинг кода. http://www.slil.ru/28113476
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Информация
Посетители, находящиеся в группе Гости, не могут оставлять ответы в данном форуме. |
|
|
|
Сейчас: 23 ноября 2024 04:24 |
|
|
|
|
Windows 10 Optima Pro 22H2 19045.5011 x64
Оптимальные настройки скорости и производительности, делают эту сборку незаменимым помощником…
Скачать >> |
|
Windows 11 24H2 Enterprise LTSC 26100.1742 Stable
Сборка на основе оригинального образа Windows 11 24H2 LTSC, удалены приложения и процессы…
Скачать >> |
|
|
|
|
|