![]() |
Модераторы: Poseidon |
![]() ![]() ![]() |
|
Лира |
|
|||
Unregistered |
Извините, если не в тему - просто не знаю, куда обратиться, помогите пожалуйста написать программу на Си (не на С++).
если сумма трех попарно различных действительных чисел x, y, z меньше единицы, то наименьшее из них заменить полусуммой двух других, в противном случае заменить меньшее из x и y полусуммой двух оставшихся. Надеюсь на вашу помощь! |
|||
|
||||
BreakPointMAN |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 15.9.2004 Где: Saratov Репутация: 2 Всего: 24 |
Я бы сделал как-нибудь так:
Здесь: sum - это переменная типа float, в которой хранится сумма всех трех чисел; min - это указатель типа float*, по ходу работы программы он "настраивается" либо на минимальную из x, y и z (при sum<1), либо на минимальную из x и y (в противном случае). В дальнейшем, когда мы обращаемся к нему (например, (*min)=чего-то_там или просто *min), мы на самом деле обращаемся к той переменной, на которую он настроен (т.е. меняем её или читаем её значение). Вполне очевидно, что если sum - это сумма всех трех переменных, то, если вычесть из sum какую-либо одну, то получим сумму двух оставшихся. Ну, остальное, вроде, в пояснениях особо не нуждается... %) Это сообщение отредактировал(а) BreakPointMAN - 2.10.2005, 14:27 -------------------- "Разруха не в клозетах, а в головах." © Ф.Ф. Преображенский (М.Булгаков, "Собачье сердце") |
|||
|
||||
alexXx |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 2.10.2005 Репутация: 1 Всего: 1 |
#include <stdio.h>
#include <conio.h> void main() { int x,y,z; if ((x+y+z)<1) { if(x<y && x<z) x=(y+z)/2; if(y<x && y<z) y=(x+z)/2; if(z<x && z<y) z=(x+y)/2; } else { if(x<y) x=(y+z)/2; else y=(x+z)/2; } // Если надо, оформишь ввод/вывод x,y,z. Я решил не делать. // Если я не так понял условее уж извени. ![]() } |
|||
|
||||
Лира |
|
|||
Unregistered |
Спасибо БОЛЬШОЕ
![]() |
|||
|
||||
BreakPointMAN |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 15.9.2004 Где: Saratov Репутация: 2 Всего: 24 |
alexXx
Твоя программа не будет работать корректно по ряду причин: - во-первых, в задаче требуется использование типа float, а не int:
- во-вторых, нельзя проверять условия, так, как они у тебя проверяются:
...поскольку там подряд будет все выполняться - нет else ни одного, и, для чисел x=-3, y=-2, z=-1 вместо правильного результата "-1.5, -2, -1" будет выдан неправильный "-1.5, -1.25, -1". Это сообщение отредактировал(а) BreakPointMAN - 2.10.2005, 14:58 -------------------- "Разруха не в клозетах, а в головах." © Ф.Ф. Преображенский (М.Булгаков, "Собачье сердце") |
||||
|
|||||
Лира |
|
|||
Unregistered |
А что между С и С++ нет различий?
Я вот пробую для С, но че т не получается. Пишет ошибку, что типа невозможно открыть включенный файл "stdio.h" А я не знаю как его создавать. Я вообще пока валенок в этом деле. |
|||
|
||||
LPBOY |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 228 Регистрация: 12.7.2005 Репутация: нет Всего: 20 |
Попробуй убрать эту строчку по-моему в Си она не нужна.
--------------------
Каждый человек по-своему прав, а по-моему нет... |
|||
|
||||
Лира |
|
|||
Unregistered |
Нужна к сожалению.
Но тем не менее если попробовать, то появляетсвя " невозможно открыть файл "col.obj" |
|||
|
||||
Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 5 Всего: 134 |
Советую проверить пути к заголовочным файлам и библиотекам.
зы. что за компилер? -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
LPBOY |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 228 Регистрация: 12.7.2005 Репутация: нет Всего: 20 |
На каком компиляторе компилишь? У меня прекрасно без этого файла скомпилировалось.
Это сообщение отредактировал(а) LPBOY - 2.10.2005, 16:11 --------------------
Каждый человек по-своему прав, а по-моему нет... |
|||
|
||||
Guest |
|
|||
Unregistered |
мммм,я не знаю о чем вы говорите?
Мне всего лишь нужно сдать эту долбанную лабораторную ![]() |
|||
|
||||
cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 15 Всего: 99 |
Ну ты же должна знать в какой программе ты код то пишешь (и потом компилируешь)? Может все таки Microsoft Visual C++ 6.0?
Если нет, то переходи в него, тогда я тебе скажу, что дальше делать, чтобы откомпилить проект по крайней мере. И зарегистрируйся чтоли, пора уж... ![]() -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
BreakPointMAN |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 15.9.2004 Где: Saratov Репутация: 2 Всего: 24 |
Лира!
Все эти ошибки 99% возникают из-за того, что компилятор не может найти нужные файлы, потому что у него не прописано, где их искать... Если ты пишешь программу свою в Turbo C++ от Borland, например, то сделай следующее: в меню Options==>Directories пропиши пути Include Directories и Library Directories так, чтобы в папке, которую ты прописала в первом случае, присутствовали файлы stdio.h и conio.h, а в папке, которую ты прописала во втором случае, присутствовала добрая куча файлов типа *.obj. Надеюсь, ты умеешь пользоваться Проводником(Explorer'ом) / FAR'ом / Norton Commander'ом и т.п.? Посмотреть наличие этих файликов сможешь, чтобы узнать, в каких папках они лежат? ![]() У меня Turbo C++ лежит в папке C:\TC_3\ в нем есть папки INCLUDE и LIB в которых лежат файлы stdio.h, conio.h и *.obj соответственно. Поэтому для моего случая это будут такие пути: c:\tc_3\include и c:\tc_3\lib У тебя, скорее всего, аналогично. Если используешь среду, отличную от Turbo C++ - поищи файлы, на которые компилятор ругается, что не может открыть, а когда найдешь и посмотришь, в каких папках они лежат, поищи где-нибудь в меню компилятора аналогичные настройки. -------------------- "Разруха не в клозетах, а в головах." © Ф.Ф. Преображенский (М.Булгаков, "Собачье сердце") |
|||
|
||||
chipset |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: нет Всего: 164 |
Модератор: перенесено из C++:Общие вопросы.
--------------------
|
|||
|
||||
nikitao |
|
||||
![]() Кот-программист ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1206 Регистрация: 30.8.2005 Где: Спб Репутация: 3 Всего: 26 |
Точна такая же задачка уже была недавно на форуруме,только решение правдо было мной изложено коряво и для C++,там Dreamator 0x01 ее переработал и все сработало
Файл "stdio.h" кокрас нужен для С,а в C++ используется "iostream.h" . BreakPointMAN ,скорее всего прав,можно еще попробывать вместо
прописать
А котолог через поиск Windы смотришь. ![]() -------------------- Жизнь - печальная штука. |
||||
|
|||||
nikitao |
|
|||
![]() Кот-программист ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1206 Регистрация: 30.8.2005 Где: Спб Репутация: 3 Всего: 26 |
http://forum.vingrad.ru/index.php?showtopic=64904,Вот тот же вопрос.
-------------------- Жизнь - печальная штука. |
|||
|
||||
Prorok |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 30.9.2005 Репутация: нет Всего: нет |
BreakPointMAN
А в твоем варианте программы можно поменять местами 20 и 21 строки? |
|||
|
||||
BreakPointMAN |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 15.9.2004 Где: Saratov Репутация: 2 Всего: 24 |
а как ты думаешь?.. ![]() -------------------- "Разруха не в клозетах, а в головах." © Ф.Ф. Преображенский (М.Булгаков, "Собачье сердце") |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Центр помощи" | |
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Центр помощи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |