Перейти к содержимому


- - - - -

с++


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 17

#1 Sani009

Sani009
  • Мыслитель

  • Пользователь
  • 2 835 сообщений
  • Пол:Мужчина
  • Город:а вам зачем? =)

Отправлено 25.01.2013 - 14:23

товарищи, подскажите в чём прикол - пишу простейшую программку

тело:
Изображение

так вот при запуске её, и вводе второго числа, програмка тупо выкидывает в редактор, сумма выводится, но её уже можно увидеть после повторного запуска.
если я пишу нечто по сложнее с методички - то всё гуд, на последней строчке программа останавливается и ждёт нажатия энтера.

что я делаю не так?

#2 drinkermann

drinkermann
  • Мыслитель

  • Динозавр Форума
  • 1 621 сообщений
  • Пол:Мужчина

Отправлено 26.01.2013 - 11:47

Работает ровно так как и должно. Если хочешь чтоб не выкидывало, а ждало ввода, перед ретурном читай что-нибудь.
ЗЫ: У тебя не типизирована функция main() и работоспособность всей программы сильно зависит от компилятора. В следующий раз используй void main(), если она ничего не должна возвращать, либо int main() если main() возвращает целое число как в твоем примере.

#3 pahan76

pahan76
  • Консультант

  • Пользователь
  • 990 сообщений
  • Пол:Мужчина
  • Город:Химки, М.О.

Отправлено 26.01.2013 - 14:00

Цитата

В следующий раз используй void main(), если она ничего не должна возвращать
И соответственно, в конце будет просто
return;
(да и сейчас лучше 0 оттуда убрать).

#4 Sani009

Sani009
  • Мыслитель

  • Пользователь
  • 2 835 сообщений
  • Пол:Мужчина
  • Город:а вам зачем? =)

Отправлено 26.01.2013 - 17:22

для чего нужна функция main ?

#5 pahan76

pahan76
  • Консультант

  • Пользователь
  • 990 сообщений
  • Пол:Мужчина
  • Город:Химки, М.О.

Отправлено 26.01.2013 - 17:32

Это основная часть программы. Когда программа запускается, ее выполнение начинается с начала функции main(). При выходе из функции main() программа завершается и управление переходит к той программе (операционной системе, среде разработке и т.п.), откуда она была запущена. При этом можно вернуть код возврата, в зависимости от которого вызывающая программа будет выполнять различные действия.

#6 Sani009

Sani009
  • Мыслитель

  • Пользователь
  • 2 835 сообщений
  • Пол:Мужчина
  • Город:а вам зачем? =)

Отправлено 28.01.2013 - 23:21

а функция void ?
так и не понял, везде очень странно описано.
и разжуйте, для чего предназначины массивы?


Изображение
ужасная книга, никакой логической последовательности. жуткие примеры с высшей матиматикой...
так что теперь я тут частый гость с вопросиками -_-

Сообщение отредактировал Sani009: 28.01.2013 - 23:21


#7 pahan76

pahan76
  • Консультант

  • Пользователь
  • 990 сообщений
  • Пол:Мужчина
  • Город:Химки, М.О.

Отправлено 29.01.2013 - 10:52

void - это не функция. Это тип данных. Только это особый тип данных. В C и подобных ему языках он означает, что функция:
void function(void);
1) не возвращает никаких данных - void на месте типа данных на выходе (в начале строки)
2) не принимает никаких параметров - void на месте входных параметров (в скобках)
Есть еще указатель на void - т.е. фактически на любой/неизвестный тип данный, но это ты будешь изучать потом.

Цитата

и разжуйте, для чего предназначины массивы?
Скажем так, это когда есть много взаимосвязанных данных, которые хранятся и/или обрабатываются вместе.
Например, линейка из нескольких датчиков движется вдоль детали и надо сравнивать сигналы с каждого из них в разных точках или между разными датчиками в одной точке.
Или в базе данных хранится информация о покупателе - имя, адрес, телефон и т.д.

#8 drinkermann

drinkermann
  • Мыслитель

  • Динозавр Форума
  • 1 621 сообщений
  • Пол:Мужчина

Отправлено 29.01.2013 - 21:16

И книжку ты не ту читаешь.
Вот через что нужно пройти, чтобы знать что такое c++
Изображение
ЗЫ: кстати при таких вопросах я бы вообще с++ не рекомендовал к изучению. Этот язык подразумевает некое понимание как работает машина и понимание программирования в целом. Начни с паскаля или вообще с бейсика. Нет разницы на чем писать "хеллоу ворлд". Зачем тебе этот гемор с указателями, массивами указателей и указателями на массивы указателей? Да еще и функции с неизвестным числом аргументов. От этого вскроешься уже через неделю после попытки написать что-то чуть побольше "хеллоу ворлда", ну какого-нить там простенького клиента для аськи например.

#9 Sani009

Sani009
  • Мыслитель

  • Пользователь
  • 2 835 сообщений
  • Пол:Мужчина
  • Город:а вам зачем? =)

Отправлено 22.02.2013 - 10:46

Просмотр сообщенияdrinkermann (29.01.2013 - 21:16) писал:

И книжку ты не ту читаешь.
Вот через что нужно пройти, чтобы знать что такое c++
Изображение
ЗЫ: кстати при таких вопросах я бы вообще с++ не рекомендовал к изучению. Этот язык подразумевает некое понимание как работает машина и понимание программирования в целом. Начни с паскаля или вообще с бейсика. Нет разницы на чем писать "хеллоу ворлд". Зачем тебе этот гемор с указателями, массивами указателей и указателями на массивы указателей? Да еще и функции с неизвестным числом аргументов. От этого вскроешься уже через неделю после попытки написать что-то чуть побольше "хеллоу ворлда", ну какого-нить там простенького клиента для аськи например.

ты не понял, это не я выбрал, это в техникуме сказали изучать. но за совет - спасибо.
и да, начинал я с байсика.

#10 Sani009

Sani009
  • Мыслитель

  • Пользователь
  • 2 835 сообщений
  • Пол:Мужчина
  • Город:а вам зачем? =)

Отправлено 24.06.2013 - 14:21

"В одномерном массиве, состоящем из п вещественных элементов, вычислить"
не понимаю я, что это значит?=)

#11 pahan76

pahan76
  • Консультант

  • Пользователь
  • 990 сообщений
  • Пол:Мужчина
  • Город:Химки, М.О.

Отправлено 25.06.2013 - 10:10

0.3
0.5
-0.9
5.0
217.4123
Вот тебе массив из n=5 вещественных элементов. А что именно надо в нем вычислить действительно непонятно.

#12 Sani009

Sani009
  • Мыслитель

  • Пользователь
  • 2 835 сообщений
  • Пол:Мужчина
  • Город:а вам зачем? =)

Отправлено 25.06.2013 - 16:29

в одномерном массиве, состоящем из п вещественных элементов, вычислить:
1) количество элементов массива, лежащих в диапазоне от А до В;
2) сумму элементов массива, расположенных после максимального элемента.
Упорядочить элементы массива по убыванию модулей элементов.

вот что у меня вышло по первому заданию.
второе задание ну ни в какую не могу сообразить как сделать. (вводится последовательность цифр, программа должна увидеть большую из них, и вычислить сумму последующих цифр. на словах просто, на как реализовать - немогу понять, т.к. меня напрягает варианты длинны массива)
up. кажись это реализовывается с помощью массивов?

Скрытый текст


#13 pahan76

pahan76
  • Консультант

  • Пользователь
  • 990 сообщений
  • Пол:Мужчина
  • Город:Химки, М.О.

Отправлено 26.06.2013 - 10:31

Проще всего сделать двумя циклами. Ты проходишь по массиву, ищещь максимальное число, запоминаешь его номер. Вторым циклом складываешь числа от следующего за максимальным и до конца.
Можно и без циклов:
вводишь первый элемент массива
запоминаешь его в отдельную переменную
вводишь следующий, сравниваешь с прошлым. Если меньше, прибавляешь к третьей переменной (сумма после максимального). Если он больше, затираешь им первый элемент (текущий максимум), обнуляешь сумму.
и так со всеми остальными элементами. Массив может быть любой хоть изначально неизвестной длины.

------------------
Вот только задача изначально некорректна :derisive: . Что делать, если в массиве несколько элементов с максимальным значением? А если максимальный элемент последний и после него ничего нет? Можно вывести 0, но тогда этот случай по хорошему нрадо отличать от того, когда элементы после максимального есть, но их сумма все равно =0.

#14 Sani009

Sani009
  • Мыслитель

  • Пользователь
  • 2 835 сообщений
  • Пол:Мужчина
  • Город:а вам зачем? =)

Отправлено 26.06.2013 - 12:30

Просмотр сообщенияpahan76 (26.06.2013 - 10:31) писал:

Проще всего сделать двумя циклами. Ты проходишь по массиву, ищещь максимальное число, запоминаешь его номер. Вторым циклом складываешь числа от следующего за максимальным и до конца.
Можно и без циклов:
вводишь первый элемент массива
запоминаешь его в отдельную переменную
вводишь следующий, сравниваешь с прошлым. Если меньше, прибавляешь к третьей переменной (сумма после максимального). Если он больше, затираешь им первый элемент (текущий максимум), обнуляешь сумму.
и так со всеми остальными элементами. Массив может быть любой хоть изначально неизвестной длины.
надо всё таки ещё раз перечитать массивы, не помню как ими оперировать.
правда геморрой всё таки есть - больничный кончился, завтра на работу =(

Просмотр сообщенияpahan76 (26.06.2013 - 10:31) писал:

------------------
Вот только задача изначально некорректна :derisive: . Что делать, если в массиве несколько элементов с максимальным значением? А если максимальный элемент последний и после него ничего нет? Можно вывести 0, но тогда этот случай по хорошему нрадо отличать от того, когда элементы после максимального есть, но их сумма все равно =0.
я ещё очень долго вдуплял, что от меня вообще требуется в этой задаче, благо выложили примеры решения.
ощущение что на этой дкр проверяют не знание с, а знание чего угодно, но не синтаксиса и умения оперировать им.

#15 Sani009

Sani009
  • Мыслитель

  • Пользователь
  • 2 835 сообщений
  • Пол:Мужчина
  • Город:а вам зачем? =)

Отправлено 23.08.2013 - 09:04

в общем неделю я мучался, пытался родить что-нибудь... не вышло.
ищу помощи по второму заданию.
буду благодарен если кто напишет часть кода с массивом и циклами

#16 Sani009

Sani009
  • Мыслитель

  • Пользователь
  • 2 835 сообщений
  • Пол:Мужчина
  • Город:а вам зачем? =)

Отправлено 27.08.2013 - 18:55

я в ступоре, массив я сделал, а вот цикл который будет пробегать и искать мкс элемент - не могу.
пол дня вообще возился не с тем - мне кто то подкинул идею про сортировки, только под вечер, когда сделал так чтоб оно работало - понял что оно мне нужно как пятое колесо <_<
(правда к третьему заданию сортировка подойдёт)

#17 Erdees

Erdees
  • Белый и пушистый

  • Администратор
  • 4 303 сообщений
  • Пол:Мужчина
  • Город:/dev/urandom

Отправлено 28.08.2013 - 11:53

Просмотр сообщенияSani009 (27.08.2013 - 18:55) писал:

А как успехи в целом?

#18 Sani009

Sani009
  • Мыслитель

  • Пользователь
  • 2 835 сообщений
  • Пол:Мужчина
  • Город:а вам зачем? =)

Отправлено 28.08.2013 - 12:46

Просмотр сообщенияErdees (28.08.2013 - 11:53) писал:


А как успехи в целом?
помощи 0, получилось сделать только 1 задание.
сдавать надо до конца недели...

да ни чо так успехи, как обычно.




Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 скрытых пользователей