Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.60
Тина_Ливингстон
0 / 0 / 0
Регистрация: 01.11.2011
Сообщений: 59
#1

Напишите программу, которая по задуманному числу и предложенному варианту второго игрока считает количество «быков» и «коров». - C++

09.11.2011, 22:25. Просмотров 2424. Ответов 5
Метки нет (Все метки)

Первая задача

«Быки и коровы»


Вам, наверное, известна логическая игра «быки и коровы», но, тем не менее, пояс-ним ее правила. Один игрок задумывает четырёхзначное число, состоящее из различных цифр (ведущий ноль допустим). Второй игрок пытается отгадать задуманное число и на-зывает свои варианты (четырёхзначные числа в том же формате). В ответ первый игрок выдает фразу «n быков, m коров», где «быком» считается цифра из предложенного вари-анта, присутствующая в задуманном числе и стоящая на своем месте, а «коровой» - цифра, стоящая в другой позиции.
Так, если задумано число 5071, а предложенный вариант – 6012, ответ первого иг-рока «один бык, одна корова». Здесь «быком» считается цифра 0, а «коровой» - цифра 1.
Напишите программу, которая по задуманному числу и предложенному варианту второго игрока считает количество «быков» и «коров».
Входные данные находятся в текстовом файле BULLS.IN. Первая строка содержит последовательность из четырех цифр – задуманное число, во второй строке в том же фор-мате записан вариант ответа.
Выходные данные помещаются в текстовый файл BULLS.OUT. Единственная строка этого файла содержит два числа: количество «быков» и «коров».

Примеры входных данных Примеры выходных данных
5071 1 1
6012
4321
4321 4 0
1980
0879 0 3
1234
5678 0 0


Вторая задача.


Прижимистый дачник task code: GRATIS



Пенсионер Иван Иваныч вырастил на своей даче богатый урожай и упаковал его в N корзин. Вес i-й (1 ≤ i ≤ N) корзины равен Pi . Машины у Ивана Иваныча нет, но зато есть бесплатный сезонный билет на элек-тричку. Нанимать автомобиль для вывоза урожая Иван Иваныч не хочет – жалко денег... Вот и решил наш дачник потихоньку перевезти все свои кор-зины электричкой.
Согласно железнодорожным правилам, каждый пассажир имеет право бесплатно не более двух мест ручной клади суммарным весом не более Q. Платить за излишний багаж Иван Иваныч также не желает!
Определите минимальное число поездок, которые должен совершить дачник для перевозки всего урожая.
Входные данные находятся в файле GRATIS.IN. Первая строка файла содержит два целых числа – величины N и Q. Каждая из последующих N строк входного файла содержит одно целое число – величину Pi. Огра-ничения на данные: 1 ≤ N ≤ 100 000, 1 ≤ Pi, Q ≤ 10 000, Pi ≤ Q.
Выходные данные. В выходной файл GRATIS.OUT выведите искомое число поездок.

Пример входных данных Пример выходных данных
10 80 6
70
15
30
35
10
80
20
35
10
30

Для работы с текстовыми файлами необходимо:
1) подключить заголовочный файл <fstream>;
2) объявить входной и выходной потоки и связать их с файлами:
ifstream fin (”gratis.in”);
ofstream fout (”gratis.out”);
3) ввод-вывод выполнять с использованием этих потоков, например
fin >> N >> Q;
4) перед завершением работы программы закрыть файлы:
fin.close();
fout.close();


Как решения выглядят в с++???помогите пожалуйста!заранее, спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2011, 22:25     Напишите программу, которая по задуманному числу и предложенному варианту второго игрока считает количество «быков» и «коров».
Посмотрите здесь:

Напишите программу, которая выводит на экран фигуру в виде ромба, состоящего из звезд. Количество строк в ромбе задавать с клавиатуры. C++
C++ Cколько можно купить быков, коров и телят на 100 рублей
Программа, которая считает количество битов. C++
C++ Напишите программу, которая по введённому числу n проверяет является ли оно палиндромом
C++ Используя функцию, составить программу, которая считает количество изменений знака в массиве чисел. y=f(x). В С++
Сколько быков, коров и телят можно купить на 100 рублей? C++
C++ Определить, сколько можно купить быков, коров и телят, если известны цены
Определить количество быков, коров и телят для покупки исходя из их цены C++
Программа, которая считает количество пробелов в строке C++
Написать программу, которая копирует файлы из другого файла и считает количество строк C++
Вычислить сколько нужно купить быков, коров и телят, имея определенную сумму денег C++
C++ Напишите программу, которая подсчитывает количество слов в строке

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт С++
6549 / 3969 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
09.11.2011, 22:31     Напишите программу, которая по задуманному числу и предложенному варианту второго игрока считает количество «быков» и «коров». #2
Быки и коровы
Тина_Ливингстон
0 / 0 / 0
Регистрация: 01.11.2011
Сообщений: 59
11.11.2011, 14:18  [ТС]     Напишите программу, которая по задуманному числу и предложенному варианту второго игрока считает количество «быков» и «коров». #3
спасибо за первую задачу...но,пожалуйста,помогите решить вторую задачу про дачника.
Тина_Ливингстон
0 / 0 / 0
Регистрация: 01.11.2011
Сообщений: 59
15.11.2011, 14:51  [ТС]     Напишите программу, которая по задуманному числу и предложенному варианту второго игрока считает количество «быков» и «коров». #4
Люди, завтра нужно сдать вторую задачу! пожалуйста, помогите!
Тина_Ливингстон
0 / 0 / 0
Регистрация: 01.11.2011
Сообщений: 59
05.12.2011, 22:47  [ТС]     Напишите программу, которая по задуманному числу и предложенному варианту второго игрока считает количество «быков» и «коров». #5
Вот код задач про Дачника!
Он работает на обычных тестах, но не правильно работает на больших числах. Подскажите, что может ьыть не так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#include <iostream>
#include <fstream>
#include<algorithm>
using namespace std;
void main()
{
    setlocale(LC_ALL,".1251");
    int N,Q,k=0;
    ifstream fin ("GRATIS.IN");
    ofstream fout("GRATIS.OUT");
    fin>>N>>Q;
    if((N>=1)&&(N<=100000)&&(Q>=1)&&(Q<=10000))
    {
        int *a;
        a=new int [N];
        for(int i=0;i<N;i++)
        {
            fin>>a[i];
            if((a[i]>Q)||(a[i]<1))
                k++;
        }
 
        if(k==0)
        {
            reverse(a,a+N);
            //int temp;
            /*for(int i=0; i<N-1; i++)
            {
                for(int j=i+1; j<N; j++)
                    if(a[i]<a[j])
                    {
                        temp=a[i];
                        a[i]=a[j];
                        a[j]=temp;
                    }
            }*/
            int i=0;
            int j=N-1;
            k=0;
            while(i<j)
            {
                if((a[i]+a[j])<=Q)
                    j=j-1;
                i++;
                k++;
            }
            if (i==j)
                k++;
        }
 
                fout<<k;
        }
        else 
            fout<<"Вес одного из мешков не соответствует железнодорожным правилам";
 
    
 
    fin.close();
    fout.close();
}
MGchannel
0 / 0 / 0
Регистрация: 06.01.2014
Сообщений: 76
08.02.2014, 23:21     Напишите программу, которая по задуманному числу и предложенному варианту второго игрока считает количество «быков» и «коров». #6
C++
1
2
3
4
5
6
for(long i=0;i<N;i++)
        {
            fin>>a[i];
            if((a[i]>Q)||(a[i]<1))
                k++;
        }
Работает для больших чисел (ограничение-1999999+(размер типа long))
Yandex
Объявления
08.02.2014, 23:21     Напишите программу, которая по задуманному числу и предложенному варианту второго игрока считает количество «быков» и «коров».
Ответ Создать тему
Опции темы

Текущее время: 03:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru