Кто может решить С4 по готовому алгоритму, отпишитесь! - ФОРУМ ПОСТУПИМ.РУ
Главная
Поиск репетитора
Коллективный блог
публикаций
Форум (обсуждаем ЕГЭ 2020)
тем и сообщений
Для учебы




Войти
или
Зарегистрироваться
Новые сообщения · Участники · Правила форума · Поиск по форуму · RSS
  • Страница 1 из 2
  • 1
  • 2
  • »
Архив - только для чтения
ФОРУМ ПОСТУПИМ.РУ » АРХИВ (ТОЛЬКО ДЛЯ ЧТЕНИЯ) » Единый государственный экзамен 2010 » Кто может решить С4 по готовому алгоритму, отпишитесь!
Кто может решить С4 по готовому алгоритму, отпишитесь!
Utah_jazzДата: Четверг, 2010-05-27, 1:02 PM | Сообщение # 1
Академик
Группа: Проверенные
Сообщений: 1848
Репутация: 267
Награды: 21
Замечания: 60%
Статус: Offline
Город: Москва
Люди, кто может по алгоритму закодить вот это задание до 2 часов, оч надо.
ВОТ ФОТКА ЗАДАЧИ ПОЯВИЛАСЬ: /_fr/62/0042108.jpg
На вход подаются символы, среди которых будут и цифры, заканчивается ввод нулем. Нужно выдать максимальное число, которое будет слева направо и справа налево читаться одинаково, нули в ответе присуствовать не должны!
ПРимер ввод:
for i:=9991 downto 10
Вывод:
19991

Вот алгоритм:
у тебя получается массив из счетчиков для цифр. Пробегаешь его с начала до конца. Если счетчик делится на 2 без остатка пишешь в строку его индекс(то бишь цифирь) count div 2 раз. Потом приписываешь центр полинома (ту цифирь, что встретилась нечетное число раз). Пробегашь массив с конца до начала. Если счетчик делится на 2 без остатка пишешь в строку его индекс(то бишь цифирь) count div 2 раз. Получится относительно центра одинаково в обе стороны.

Добавлено (2010-05-27, 1:02 PM)
---------------------------------------------
вот еще поподробнее если непонятно
Получается массив из счетчиков для цифр. Пробегаешь его с начала до конца. Если счетчик делится на 2 без остатка пишешь в строку его индекс(то бишь цифирь) count div 2 раз. Потом приписываешь центр полинома (ту цифирь, что встретилась нечетное число раз). Пробегашь массив с конца до начала. Если счетчик делится на 2 без остатка пишешь в строку его индекс(то бишь цифирь) count div 2 раз. Получится относительно центра одинаково в обе стороны.

Сообщение отредактировал Utah_jazz - Четверг, 2010-05-27, 1:36 PM
 
VladqДата: Четверг, 2010-05-27, 1:03 PM | Сообщение # 2
Нобелевский лауреат
Группа: Проверенные
Сообщений: 8014
Репутация: 4798
Награды: 247
Замечания: 0%
Статус: Offline
Utah_jazz, Вован, ты же прогер, сам не можешь? smile
 
Utah_jazzДата: Четверг, 2010-05-27, 1:04 PM | Сообщение # 3
Академик
Группа: Проверенные
Сообщений: 1848
Репутация: 267
Награды: 21
Замечания: 60%
Статус: Offline
Город: Москва
Vladq, бля, я уже 4 с4 написал, меня задолбало и мозг не пашет + я не оч понял почему-то, вот бред какой-то
 
VladqДата: Четверг, 2010-05-27, 1:08 PM | Сообщение # 4
Нобелевский лауреат
Группа: Проверенные
Сообщений: 8014
Репутация: 4798
Награды: 247
Замечания: 0%
Статус: Offline
забей, отдохни biggrin
 
Utah_jazzДата: Четверг, 2010-05-27, 1:26 PM | Сообщение # 5
Академик
Группа: Проверенные
Сообщений: 1848
Репутация: 267
Награды: 21
Замечания: 60%
Статус: Offline
Город: Москва
Вот код, но работает непрально,помогите закодить!
#include <stdio.h>

int main () {
char c;
int m[50];
int k=0;
int i=0;
int l=0;
int max=0;
int a[10];

while ((c=getchar())!='.') {
if ((c>=48) && (c<=57)) {
m[i]=c-48;
i++;
}
}
k=i;

for (i=0; i<k; i++) {
if (m[i]==0) {
a[0]++;
}
if (m[i]==1) {
a[1]++;
}
if (m[i]==2) {
a[2]++;
}
if (m[i]==3) {
a[3]++;
}
if (m[i]==4) {
a[4]++;
}
if (m[i]==5) {
a[5]++;
}
if (m[i]==6) {
a[6]++;
}
if (m[i]==7) {
a[7]++;
}
if (m[i]==8) {
a[8]++;
}
if (m[i]==9) {
a[9]++;
}
}

for (i=0; i<10; i++) {
printf ("%d\n", a[i]);
}

for (i=0; i<9; i++) {
if (a[i]%2==0) {
printf ("%d", i);
}
}

for (i=0; i<9; i++) {
if (a[i]%2==1) {
printf ("%d", i);
}
}

for (i=9; i>0; i--) {
if (a[i]%2==0) {
printf ("%d", i);
}
}

getchar ();
getchar ();
return 0;
}

Добавлено (2010-05-27, 1:26 PM)
---------------------------------------------
Да,знаю что жестко туплю с кучей ифом, можно в 9 раз сократить, это я чтоб наверняка, ошибку найти! А то еще подумаете,что идиот)

Сообщение отредактировал Utah_jazz - Четверг, 2010-05-27, 1:25 PM
 
Utah_jazzДата: Четверг, 2010-05-27, 1:32 PM | Сообщение # 6
Академик
Группа: Проверенные
Сообщений: 1848
Репутация: 267
Награды: 21
Замечания: 60%
Статус: Offline
Город: Москва
Neud, да что ты придрался, в задании так написано! Помоги ошибку исправить просто,плииз!

Добавлено (2010-05-27, 1:32 PM)
---------------------------------------------
А я понял, НУЖНО ИСПОЛЬЗОВАТЬ максимальное количество цифр, а если их несколько,то вывести минимальное из них, блин, еще одна запара.

 
Utah_jazzДата: Четверг, 2010-05-27, 1:33 PM | Сообщение # 7
Академик
Группа: Проверенные
Сообщений: 1848
Репутация: 267
Награды: 21
Замечания: 60%
Статус: Offline
Город: Москва
Neud, извини,не заметил, огромное спасибо! А можешь еще мои добавления закодить?)
 
Utah_jazzДата: Четверг, 2010-05-27, 1:37 PM | Сообщение # 8
Академик
Группа: Проверенные
Сообщений: 1848
Репутация: 267
Награды: 21
Замечания: 60%
Статус: Offline
Город: Москва
Neud, вот,смотри /_fr/62/0042108.jpg
там нужно, вывести наибольшее количество символов, а если несколько таких вариантов возможно, то наименьшее число, у тя это выполняетсяя?
 
Utah_jazzДата: Четверг, 2010-05-27, 1:42 PM | Сообщение # 9
Академик
Группа: Проверенные
Сообщений: 1848
Репутация: 267
Награды: 21
Замечания: 60%
Статус: Offline
Город: Москва
Neud, ты уверен,что будет работать? Я щас не соображаю, можешь хотя бы откомпилировать и проверить,плиз?

Добавлено (2010-05-27, 1:42 PM)
---------------------------------------------
for i:=1 to counts[c] div 2 do write©;
А здесь менять местами? Я понимаю что идиотизм спрашиваю, просто не могу уже врубаться.

 
NeudДата: Четверг, 2010-05-27, 1:42 PM | Сообщение # 10
Студент
Группа: Пользователи
Сообщений: 23
Репутация: 6
Награды: 2
Замечания: 0%
Статус: Offline
Не нравится - не ешь. Сам пиши.
 
Utah_jazzДата: Четверг, 2010-05-27, 1:43 PM | Сообщение # 11
Академик
Группа: Проверенные
Сообщений: 1848
Репутация: 267
Награды: 21
Замечания: 60%
Статус: Offline
Город: Москва
Да я просто спрашиваю, че ты злишься.

Сообщение отредактировал Utah_jazz - Четверг, 2010-05-27, 1:44 PM
 
Utah_jazzДата: Четверг, 2010-05-27, 1:56 PM | Сообщение # 12
Академик
Группа: Проверенные
Сообщений: 1848
Репутация: 267
Награды: 21
Замечания: 60%
Статус: Offline
Город: Москва
Neud, почему удалил? непрально? я просто уже отправил чувакув решение,надо скзать чтоб не писал,если что... Спасибо больше,что время потратил...
 
NeudДата: Четверг, 2010-05-27, 1:59 PM | Сообщение # 13
Студент
Группа: Пользователи
Сообщений: 23
Репутация: 6
Награды: 2
Замечания: 0%
Статус: Offline
все правильно
 
Utah_jazzДата: Четверг, 2010-05-27, 2:00 PM | Сообщение # 14
Академик
Группа: Проверенные
Сообщений: 1848
Репутация: 267
Награды: 21
Замечания: 60%
Статус: Offline
Город: Москва
Neud, спс огромное! А зачем тогда удалил код?)

Сообщение отредактировал Utah_jazz - Четверг, 2010-05-27, 2:00 PM
 
NeudДата: Четверг, 2010-05-27, 2:03 PM | Сообщение # 15
Студент
Группа: Пользователи
Сообщений: 23
Репутация: 6
Награды: 2
Замечания: 0%
Статус: Offline
захотел и удалил
 
ФОРУМ ПОСТУПИМ.РУ » АРХИВ (ТОЛЬКО ДЛЯ ЧТЕНИЯ) » Единый государственный экзамен 2010 » Кто может решить С4 по готовому алгоритму, отпишитесь!
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:








© 2006 - 2023 Поступим.ру Информация:
О проекте
Контакты

Регистрация на сайте
Статистика сообщества
Пользовательское соглашение
Разделы:
Поиск репетитора
Форум сообщества
Коллективный блог
Материалы для учебы
ЕГЭ 2021
RSS:
RSS форума
RSS блога