Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> помогите срочно!!!!! 
:(
    Опции темы
Warchief
Дата 12.12.2007, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 24.5.2007

Репутация: нет
Всего: 3



извините, что вмешиваюсь, но разве эта часть кода делает, то что написано в задании?  
Код

int count = 0;
for (int i = 0; i < vec.size()-1; i++){
      if(vec[i]!=vec[i+1])
          count++;


Ведь если если массив будет {1,2,3,4,1,4}, то в переменной count будет присвоено значение 5, или я ошибаюсь?  smile  
PM MAIL ICQ Skype   Вверх
EnShTe1N
Дата 12.12.2007, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 9.12.2007

Репутация: нет
Всего: нет



Да действительно, программа делает не то!!!
Но я все таки придумал правильный код, так что =Ъ
PM MAIL   Вверх
Damarus
Дата 12.12.2007, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 671
Регистрация: 6.5.2006

Репутация: нет
Всего: 29



Цитата(Warchief @  12.12.2007,  21:09 Найти цитируемый пост)
Ведь если если массив будет {1,2,3,4,1,4}, то в переменной count будет присвоено значение 5, или я ошибаюсь?  smile 

Если массив будет {1,2,3,4,1,4}, то он не
Цитата(EnShTe1N @  12.12.2007,  18:18 Найти цитируемый пост)
отсортированный по возрастанию (каждый элемент массива не меньше предыдущего элемента, например, {1, 2, 2, 3, 3, 3})


PM MAIL ICQ Jabber   Вверх
baldina
Дата 12.12.2007, 22:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 15
Всего: 101



cout>>count;
cin<<digit;

Andrey44, вы лево и право не путаете?  smile
PM MAIL   Вверх
gamedeveloper
Дата 12.12.2007, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 8.7.2007

Репутация: нет
Всего: нет



Код

const int arrSize=5;
const int range=3; //максимальное количество разных чисел в массиве

int arr[arrSize]={1, 1, 2, 3, 3};
int numArr[range]={0,}; //массив в котором храним количества одинаковых элементов
                                        //заполнять именно так: {0,}  - массив будет заполнен нулями.
int i, count;

for (i=0; i<arrSize; i++) {
    cin>>arr[i];
}

for (i=0; i<arrSize; i++) {
    if (!numArr[arr[i]]) { //проверяем, количество встречь этого элемента,
                                    //если оно равно 0 то счётчик увеличиваем
        count++;
        numArr[arr[i]]++;  //увеличиваем счётчик встречь элемента
    }
}

cout<<count;


Вроде так.


Andrey44, путаешь операторы вставки/взятия в/из потока с самими потоками.

Это сообщение отредактировал(а) gamedeveloper - 12.12.2007, 22:41
PM MAIL   Вверх
Andrey44
Дата 13.12.2007, 09:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1501
Регистрация: 4.12.2006
Где: На работе

Репутация: 2
Всего: 26



Точно спутал. Извиняюсь, давно не работал с потоками ввода-вывода smile 
А под рукой не было как проверить. Еще раз извиняюсь если ввел кого-то в заблуждение.

Добавлено через 4 минуты и 26 секунд
Warchief
Цитата

извините, что вмешиваюсь, но разве эта часть кода делает, то что написано в задании?  
Выделить всёкод C++
1:
2:
3:
4:
    
int count = 0;
for (int i = 0; i < vec.size()-1; i++){
      if(vec[i]!=vec[i+1])
          count++;


Ведь если если массив будет {1,2,3,4,1,4}, то в переменной count будет присвоено значение 5, или я ошибаюсь?  smile   


А разве в задании не было сказано , что массив отсортирован по-возрастанию.
Если-бы было по-другому написано, то и код был-бы другой.


--------------------
????? ??, ??????? ?????.  smile 
PM MAIL WWW ICQ   Вверх
zkv
Дата 13.12.2007, 09:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 92



Цитата(Andrey44 @  13.12.2007,  09:14 Найти цитируемый пост)
давно не работал с потоками ввода-вывода

я тоже постоянно забываю в какую сторону их рисовать, помогает простое правило:
при input потоке (e.g. cin) направление из потока в переменную 
при output обратно.
PM MAIL   Вверх
Andrey44
Дата 13.12.2007, 09:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1501
Регистрация: 4.12.2006
Где: На работе

Репутация: 2
Всего: 26



zkv,  smile вы как всегда даете хорошие советы. 
Спасибо, постараюсь запомнить!


--------------------
????? ??, ??????? ?????.  smile 
PM MAIL WWW ICQ   Вверх
Warchief
Дата 13.12.2007, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 24.5.2007

Репутация: нет
Всего: 3



Цитата
А разве в задании не было сказано , что массив отсортирован по-возрастанию.
Если-бы было по-другому написано, то и код был-бы другой.



Извините, не правильно  прочитал задание smile  smile 
PM MAIL ICQ Skype   Вверх
FK2703
Дата 16.12.2007, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 16.12.2007

Репутация: нет
Всего: нет



очень прошу помощи с задачей "Золотая гора" ("Треугольник") на C

Входной файл input.txt
Выходной: output.txt

Идея-подсказка, предложенная мне: "Реализация проста-делай двумерный массив и пускай цикл снизу. Последняя строка совпадает с исходной, а дальше подымайся вверх и выбирай максимум из двух. a[0][0] твой ответ"

Пример правильного input.txt:
5
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5


Первое число во входном файле (5) - количество строк в треугольнике. Соответственно, остальные - его заполнение. Надо найти сумму чисел, расположенных на пути, начинающемся в верхней точке треугольника и заканчивающимся на основании.
Условия:
1. Каждый шаг на пути может осуществляться вниз по диагонали влево или вниз по диагонали вправо.
2. Число строк в треугольнике - от 1 до 100
3. Треугольник составлен из простых чисел от 0 до 99

Выходные данные.
В файл output.txt записывается только наибольшая сумма в виде целого числа. Для треугольника из примера правильно работающая прога запишет: "30"

Если не сдам в понедельник - не допустят до сессии, хотя это - последний оставшийся зачёт(
PM MAIL   Вверх
kolyan
Дата 16.12.2007, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 16.12.2007

Репутация: -1
Всего: нет



Очень нужна помощь. необходимо решить задачу в C++! Вот условие: Ввести последовательность из 25 нечётных чисел с клавиатуры. Найти наибольшее число из введенных элементов. Решение желательно приводить через printf, C++ Мы только начали изучать, я ничего не понял, прокоментируйте если можно. Заранее спасибо!
PM MAIL   Вверх
baldina
Дата 16.12.2007, 17:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 15
Всего: 101



kolyan,
Цитата

Ввести последовательность из 25 нечётных чисел с клавиатуры


вводишь при помощи 
Код

int n;
scanf ("ld", &n);

далее проверяешь, является ли оно нечетным (нечетное даёт в остатке от деления на 2 единицу, операция получения остатка - %). Если четное - выводишь предупреждение и повторяешь ввод. И так 25 раз.
Код

for (int i=0; i < 25; ++i)
{
  // здесь ввод, проверка и проч.
}

Наибольшее число можно искать по ходу, не запоминая все числа: заводишь переменную для значения максимального числа, например m.
m надо присвоить начальное значение, заведомо меньшее любого введенного. Например, полагая, что для ввода разрешены только положительные числа, можно смело дать начальное значение = 0.
На каждом шаге цикла сравниваешь введенное число с m, и если введенное больше m, запоминаешь его как новое значение m.
Код

if (n > m) m = n;

в конце выводишь на печать m
Код

printf ("Max number is %ld\n", m);


Думаю этого вполне достаточно, что б остальное ты сам написал.
PM MAIL   Вверх
kolyan
Дата 16.12.2007, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 16.12.2007

Репутация: -1
Всего: нет



baldina, спасибо большое, что откликнулся! Есть еще вопрос... Какие нужно библиотеки запускать, прогу я прописал, но выдает какую-то ошибку! А что нужно для \ввод, проверки и проч.\, извени за тупые вопросы!!!!!!!

PM MAIL   Вверх
baldina
Дата 16.12.2007, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 15
Всего: 101



Какую именно ошибку? Никаких особенных библиотек не надо, все есть в самом С++. Ты приложение консольное создал?

для ввода используется функция scanf
для вывода используется функция printf
для проверки используется оператор if

все это есть в моём посте
PM MAIL   Вверх
baldina
Дата 16.12.2007, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 15
Всего: 101



Ну тогда тебе в центр помощи
PM MAIL   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0912 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.