9 / 9 / 0
Регистрация: 27.12.2012
Сообщений: 165
|
||||||
1 | ||||||
Написать программу, которая из всех цифр, встретившихся в строке и не равных нулю, формирует наименьшее число17.04.2014, 20:45. Показов 4229. Ответов 27
Метки нет (Все метки)
Добрый день,дали задачу по информатике,сказали из с4.
Условие задачи: На вход программе подается последовательность символов,состоящая из букв латинского алфавита и цифр.Ввод символов заканчивается вопросительным знаком.Требуется написать программу,которая из всех цифр,встретившихся в строке и не равных нулю,формирует наименьшее число(без повторения цифр) и выводит на экран число,равное синусу полученного числа.Если таких цифр нет,то программа выводит нуль.Пусть,например,на вход программе поданы следующие символы:a1ab1ac1ad2ae4r4.В данном случае программа должна вывести sin(124)=-0,995686. На паре проходили указатели,пробовал с их помощью, преподаватель сказал ввести массив(0-9) и проводить сравнение,но что-то я висну,помогите пж,заранее спасибо!
0
|
17.04.2014, 20:45 | |
Ответы с готовыми решениями:
27
Написать программу, которая, работая с файлами в режиме диалога, считает сумму всех встретившихся в файле чисел Написать программу, которая, работая с файлами в режиме диалога, считает сумму всех встретившихся в файле чисел Написать программу, которая введет восемь значений и посчитает количество положительных чисел или равных нулю. Написать программу, которая предлагает пользователю ввести число, вычисляет его разрядность и сумму всех цифр и выводить результаты в консоль |
7795 / 6561 / 2985
Регистрация: 14.04.2014
Сообщений: 28,683
|
|
17.04.2014, 21:05 | 2 |
Сначала подсчитываешь, сколько разных цифр во введённой строке (сколько в массиве z ненулевых элементов), пусть то n.
Затем формируешь число: снова просматриваешь массив и каждую присутствующую цифру умножаешь на 10 в степени (n-1) и суммируешь, после чего n уменьшаешь на единицу. Потом синус. Случай с нулём надо особо рассматривать. Например, предварительно поменять местами z[0] и ближайший ненулевой z[i].
1
|
9 / 9 / 0
Регистрация: 27.12.2012
Сообщений: 165
|
|
18.04.2014, 21:37 [ТС] | 3 |
АПНУ
0
|
61 / 61 / 24
Регистрация: 28.09.2012
Сообщений: 378
|
||||||
18.04.2014, 22:22 | 4 | |||||
mad17,
1
|
9 / 9 / 0
Регистрация: 27.12.2012
Сообщений: 165
|
|
19.04.2014, 12:19 [ТС] | 5 |
в 17 строке ошибка вылезла,со скобкой исправил ,потом тут же выходит,что "isdigit" не обьявлен
0
|
61 / 61 / 24
Регистрация: 28.09.2012
Сообщений: 378
|
|
19.04.2014, 12:38 | 6 |
mad17, Так вы не подключили библиотеку string.h вроде бы
1
|
9 / 9 / 0
Регистрация: 27.12.2012
Сообщений: 165
|
|
19.04.2014, 19:21 [ТС] | 7 |
да подключал...
0
|
61 / 61 / 24
Регистрация: 28.09.2012
Сообщений: 378
|
|
19.04.2014, 19:49 | 8 |
mad17, ctype.h сорри
1
|
430 / 384 / 200
Регистрация: 12.08.2011
Сообщений: 1,610
|
||||||
19.04.2014, 21:28 | 9 | |||||
Это следует рассматривать как приказ или как рекомендацию? Потому что лично мне кажется гораздо более простым и интуитивно понятным следующий подход:
1
|
9 / 9 / 0
Регистрация: 27.12.2012
Сообщений: 165
|
|
21.04.2014, 10:29 [ТС] | 10 |
kiff20072008 ,не совсем разобрался в вашей программе,ввожу строку,просто ноль выдает.
Добавлено через 2 минуты vtulhu,спс что помогли,но к сожалению такую не примут,вы написали более "круто",чем мы пишем)мы по полочкам,через scanf|printf и т.д)попроще сами делали,а тут взяли и дали,сказали из ЕГЭ С4.
0
|
61 / 61 / 24
Регистрация: 28.09.2012
Сообщений: 378
|
|
21.04.2014, 10:35 | 11 |
mad17,
Есть массив инт Считываем строку Массив обнуляем Пока не встретим ! Проходим по строке Если нашли число то увеличиваем на один соответствующий элемент Дальше составляет число Только там надо прибавить I а не z[i] И выводим син числа
1
|
430 / 384 / 200
Регистрация: 12.08.2011
Сообщений: 1,610
|
||||||
21.04.2014, 14:59 | 12 | |||||
А я всегда знал, что у нас не просто плохо учат программированию, а учат плохому программированию. Особенно жаль так называемых "олимпиадников", которых натаскали на то, чтобы быстро писать много кода, который ни одному нормальному работодателю и в страшном сне не приснится. И ходят они потом со своими медалями, рассказывают всем, что они гении, просто им все завидуют, поэтому не нанимают. А нанимают каких-то дураков, которые весь код на малюсенькие функции разбивают, переменным и функциям имена по 20-30 символов дают...
Вот, постарался сделать настолько хорошо, насколько это возможно в рамках требований Ваших пердопавателей.
1
|
9 / 9 / 0
Регистрация: 27.12.2012
Сообщений: 165
|
|
22.04.2014, 20:17 [ТС] | 13 |
м,не могу сказать,что учат плохому или хорошему программированию,все идет со школы,в школе,конкретно по информатике нечего не требовали ,мы просто смотрели видео и играли в CS, в институте же все аукнулось,ребята говорят то проходили,это проходили,мы же тупо ЕГЭ тесты решали.
0
|
9 / 9 / 0
Регистрация: 27.12.2012
Сообщений: 165
|
||||||||||||||||
24.04.2014, 16:34 [ТС] | 14 | |||||||||||||||
0
|
61 / 61 / 24
Регистрация: 28.09.2012
Сообщений: 378
|
|
24.04.2014, 17:12 | 15 |
mad17,первое мы в массиве элемент с номером встретившегося числа увеличиваем на 1
то есть если в элементе 4 мы встретим 3 то значит что в числе было 3 четверки к это число наименьшее составленное из чисел которые были в исходном числе
1
|
9 / 9 / 0
Регистрация: 27.12.2012
Сообщений: 165
|
|
24.04.2014, 17:28 [ТС] | 16 |
м,просто в 15 строке на "?" исправил,все равно при любом раскладе "0" пишет в результате.
0
|
61 / 61 / 24
Регистрация: 28.09.2012
Сообщений: 378
|
||||||
24.04.2014, 17:51 | 17 | |||||
mad17,
вот теперь правильно
1
|
Модератор
|
||||||
24.04.2014, 18:21 | 18 | |||||
Чего-то перемудрили... Единственная проблема - нуль. А так - вот:
1
|
4486 / 2721 / 485
Регистрация: 28.04.2012
Сообщений: 8,590
|
|||||||||||
24.04.2014, 19:12 | 19 | ||||||||||
Что за проблема?
1
|
9 / 9 / 0
Регистрация: 27.12.2012
Сообщений: 165
|
|
24.04.2014, 19:57 [ТС] | 20 |
Catstail,можно спросить:1)в 4 строке char* argv[]-за что отвечает?
2)Dig[10]-массив,char c -строка? 3)за что отвечают z и p 4)sin((double)z)-double никак заменить нельзя?ни разу его не использовали. Всем спасибо,кто отписал в этой теме!)
0
|
24.04.2014, 19:57 | |
24.04.2014, 19:57 | |
Помогаю со студенческими работами здесь
20
Написать и протестировать функцию, которая по заданной строке Str формирует новую строку, состоящую только из цифр, входящих в Str Написать программу, которая находит наименьшее трехзначное число, оканчивающееся на 6 Напишите программу, которая поможет выйграть - найдет наименьшее натуральное число с произведением цифр, равным N. Написать программу, которая предложит схему прохождения всех людей через мост за наименьшее время Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |