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

Программа про игроков - C++

Восстановить пароль Регистрация
 
Vladok111
0 / 0 / 0
Регистрация: 03.10.2012
Сообщений: 78
16.11.2012, 21:18     Программа про игроков #1
Игрок А объявляет двузначное число от 01 до 99. Игрок В меняет местами его цифры и полученное число прибавляет к сумме его цифр. Полученный результат он объ-являет игроку А. Игрок А проделывает с этим числам ту же процедуру, и так они продол-жают поступать поочередно, объявляя числа. От суммы чисел берется остаток от деления на 100, поэтому объявляются лишь двузначные числа. Какие числа может объявить игрок А на начальном шаге, чтобы игрок В в некоторый момент объявил число 00?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.11.2012, 21:18     Программа про игроков
Посмотрите здесь:

C++ Программа про денежки.
C++ Программа про карты
Программа в С про студентов C++
Программа про динамические массивы C++
C++ Программа про температуры
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
16.11.2012, 21:38     Программа про игроков #2
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
#include <stdio.h>
int f(int b)
{
    int a[100][2]={0},t=1;  
    a[b][0]=1;
    while(1)
    {
        if(t%2)
        {
            b=(b%10+b/10*2+b%10*10)%100;
            if(a[b][1])
                break;
            a[b][1]=1;
            t++;
        }
        else
        {
            b=(b%10+b/10*2+b%10*10)%100;
            if(a[b][0])
                break;
            a[b][0]=1;
            t++;
        }
    }
    return a[0][1];
}
int main()
{
    for(int i=0; i<100; i++)
        if(f(i))
            printf("%02d\n", i);
 
   
   return 0;
}
LVV
56 / 56 / 3
Регистрация: 15.02.2010
Сообщений: 239
16.11.2012, 23:26     Программа про игроков #3
Вообще-то решения без пояснений и алгоритма ничего не стоят...
Но...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 using namespace std;
 int main(){
int k;
for (int i=1; i<100; i++){
    k=i;
    for (int j=0; j<20; j++){
        k=(11*(k%10)+2*(k/10))%100;
        if (k==0)   {
            cout << i << endl;
            break;
        }
    }
}
 system ("pause");
 return 0;
 }
Vladok111
0 / 0 / 0
Регистрация: 03.10.2012
Сообщений: 78
17.11.2012, 13:53  [ТС]     Программа про игроков #4
Добавлено через 34 секунды
Цитата Сообщение от LVV Посмотреть сообщение
#include <iostream>
что за библиотека я пока не знаю такой только стдио конио и матч знаю)
LVV
56 / 56 / 3
Регистрация: 15.02.2010
Сообщений: 239
17.11.2012, 19:06     Программа про игроков #5
input output stream -> iostream
поток ввода-вівода.

http://ru.wikipedia.org/wiki/Iostream
Vladok111
0 / 0 / 0
Регистрация: 03.10.2012
Сообщений: 78
21.11.2012, 23:11  [ТС]     Программа про игроков #6
Цитата Сообщение от LVV Посмотреть сообщение
input output stream -> iostream
поток ввода-вівода.

http://ru.wikipedia.org/wiki/Iostream
почему бы не использовать более простую библиотеку <stdio.h>
margarin
 Аватар для margarin
35 / 35 / 0
Регистрация: 02.06.2012
Сообщений: 332
21.11.2012, 23:15     Программа про игроков #7
Цитата Сообщение от Vladok111 Посмотреть сообщение
почему бы не использовать более простую библиотеку <stdio.h>
Наверное потому что stdio.h - это скорее из C, а iostream уже C++
LVV
56 / 56 / 3
Регистрация: 15.02.2010
Сообщений: 239
22.11.2012, 05:54     Программа про игроков #8
Цитата Сообщение от Vladok111 Посмотреть сообщение
почему бы не использовать более простую библиотеку <stdio.h>
И в чём же её "простота"? В том, что в названии на один символ меньше?
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11800 / 6779 / 765
Регистрация: 27.09.2012
Сообщений: 16,829
Записей в блоге: 2
Завершенные тесты: 1
22.11.2012, 05:55     Программа про игроков #9
Цитата Сообщение от LVV Посмотреть сообщение
И в чём же её "простота"? В том, что в названии на один символ меньше?
хотя бы в том, что она не использует ООП
LVV
56 / 56 / 3
Регистрация: 15.02.2010
Сообщений: 239
22.11.2012, 06:14     Программа про игроков #10
Цитата Сообщение от Croessmah Посмотреть сообщение
хотя бы в том, что она не использует ООП
Ну и что из того?
Если судить по "весу", то откомпилированный файл
#include <stdio.h>
int main(){}

весит 27,0 kb

a #include <iostream>
int main(){}

27,5 kb.
Так что "простота" <stdio.h> мнимая...
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11800 / 6779 / 765
Регистрация: 27.09.2012
Сообщений: 16,829
Записей в блоге: 2
Завершенные тесты: 1
22.11.2012, 06:31     Программа про игроков #11
Цитата Сообщение от LVV Посмотреть сообщение
Так что "простота" <stdio.h> мнимая...
Ага...только не стоит забывать, что потоки это объекты =)

Добавлено через 6 минут
И для сравнения, результирующий код после транслятора
С библеотекой iostream:
C++
1
2
3
4
5
#include <iostream> 
int main(){
    std::cout<<"Trec";
    return 0;
}
Assembler
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
    .file   "main.cpp"
.lcomm __ZStL8__ioinit,1,1
    .def    ___main;    .scl    2;  .type   32; .endef
    .section .rdata,"dr"
LC0:
    .ascii "Trec\0"
    .text
    .globl  _main
    .def    _main;  .scl    2;  .type   32; .endef
_main:
LFB947:
    .cfi_startproc
    pushl   %ebp
    .cfi_def_cfa_offset 8
    .cfi_offset 5, -8
    movl    %esp, %ebp
    .cfi_def_cfa_register 5
    andl    $-16, %esp
    subl    $16, %esp
    call    ___main
    movl    $LC0, 4(%esp)
    movl    $__ZSt4cout, (%esp)
    call    __ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
    movl    $0, %eax
    leave
    .cfi_restore 5
    .cfi_def_cfa 4, 4
    ret
    .cfi_endproc
LFE947:
    .def    ___tcf_0;   .scl    3;  .type   32; .endef
___tcf_0:
LFB952:
    .cfi_startproc
    pushl   %ebp
    .cfi_def_cfa_offset 8
    .cfi_offset 5, -8
    movl    %esp, %ebp
    .cfi_def_cfa_register 5
    subl    $24, %esp
    movl    $__ZStL8__ioinit, (%esp)
    call    __ZNSt8ios_base4InitD1Ev
    leave
    .cfi_restore 5
    .cfi_def_cfa 4, 4
    ret
    .cfi_endproc
LFE952:
    .def    __Z41__static_initialization_and_destruction_0ii;   .scl    3;  .type   32; .endef
__Z41__static_initialization_and_destruction_0ii:
LFB951:
    .cfi_startproc
    pushl   %ebp
    .cfi_def_cfa_offset 8
    .cfi_offset 5, -8
    movl    %esp, %ebp
    .cfi_def_cfa_register 5
    subl    $24, %esp
    cmpl    $1, 8(%ebp)
    jne L3
    cmpl    $65535, 12(%ebp)
    jne L3
    movl    $__ZStL8__ioinit, (%esp)
    call    __ZNSt8ios_base4InitC1Ev
    movl    $___tcf_0, (%esp)
    call    _atexit
L3:
    leave
    .cfi_restore 5
    .cfi_def_cfa 4, 4
    ret
    .cfi_endproc
LFE951:
    .def    __GLOBAL__sub_I_main;   .scl    3;  .type   32; .endef
__GLOBAL__sub_I_main:
LFB953:
    .cfi_startproc
    pushl   %ebp
    .cfi_def_cfa_offset 8
    .cfi_offset 5, -8
    movl    %esp, %ebp
    .cfi_def_cfa_register 5
    subl    $24, %esp
    movl    $65535, 4(%esp)
    movl    $1, (%esp)
    call    __Z41__static_initialization_and_destruction_0ii
    leave
    .cfi_restore 5
    .cfi_def_cfa 4, 4
    ret
    .cfi_endproc
LFE953:
    .section    .ctors,"w"
    .align 4
    .long   __GLOBAL__sub_I_main
    .def    __ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc;   .scl    2;  .type   32; .endef
    .def    __ZNSt8ios_base4InitD1Ev;   .scl    2;  .type   32; .endef
    .def    __ZNSt8ios_base4InitC1Ev;   .scl    2;  .type   32; .endef
    .def    _atexit;    .scl    2;  .type   32; .endef
с библиотекой stdio.h
C++
1
2
3
4
5
#include <stdio.h> 
int main(){
    printf("Trec");
    return 0;
}
Assembler
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
    .file   "main.cpp"
    .def    ___main;    .scl    2;  .type   32; .endef
    .section .rdata,"dr"
LC0:
    .ascii "Trec\0"
    .text
    .globl  _main
    .def    _main;  .scl    2;  .type   32; .endef
_main:
LFB8:
    .cfi_startproc
    pushl   %ebp
    .cfi_def_cfa_offset 8
    .cfi_offset 5, -8
    movl    %esp, %ebp
    .cfi_def_cfa_register 5
    andl    $-16, %esp
    subl    $16, %esp
    call    ___main
    movl    $LC0, (%esp)
    call    _printf
    movl    $0, %eax
    leave
    .cfi_restore 5
    .cfi_def_cfa 4, 4
    ret
    .cfi_endproc
LFE8:
    .def    _printf;    .scl    2;  .type   32; .endef
LVV
56 / 56 / 3
Регистрация: 15.02.2010
Сообщений: 239
22.11.2012, 06:35     Программа про игроков #12
А то, что <ctdio.h> не поддерживает ООП, для меня только минус, поскольку работаю в С++ с потоковым вводом-выводом.
И предпочитаю
С++-шное
C++
1
2
3
4
#include <iostream>
int main(){
std::cout<<"Hello";
}
вместо С-шного
C
1
2
3
4
#include <stdio.h>
int main(){
printf( "Hello");
}
Так что, тут дело вкуса и привычки. Просто спорим о том, что лучше(проще) С, или С++. Для меня - С++, потому что С не знаю
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11800 / 6779 / 765
Регистрация: 27.09.2012
Сообщений: 16,829
Записей в блоге: 2
Завершенные тесты: 1
22.11.2012, 06:36     Программа про игроков #13
На счет размера:
iostream: 50 794 байт
stdio.h: 48*622 байт

Все делалось на GCC

Добавлено через 40 секунд
так что размер и простота понятия относительные

Добавлено через 16 секунд
Цитата Сообщение от LVV Посмотреть сообщение
И предпочитаю
Ну так это сугубо Ваши предпочтения.
Никто не заставляет Вас использовать Си'шный ввод-вывод, но говорить, что одно проще другого - это не разумно.
Я же не утверждаю, что Win API легче MFC, хотя вторым не люблю пользоваться.
LVV
56 / 56 / 3
Регистрация: 15.02.2010
Сообщений: 239
22.11.2012, 06:49     Программа про игроков #14
Цитата Сообщение от Croessmah Посмотреть сообщение
...так что размер и простота понятия относительные...
Согласен. Еще Билл Гейтц говорил, что оценивать программы по их весу, всё равно что оцценивать качество самолёта по его весу.
Цитата Сообщение от Croessmah Посмотреть сообщение
говорить, что одно проще другого - это не разумно.
Тоже согласен. Тем более, что не я завёл разговор о "простоте". Я его лишь поддерживаю.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11800 / 6779 / 765
Регистрация: 27.09.2012
Сообщений: 16,829
Записей в блоге: 2
Завершенные тесты: 1
22.11.2012, 06:51     Программа про игроков #15
Цитата Сообщение от LVV Посмотреть сообщение
оже согласен. Тем более, что не я завёл разговор о "простоте". Я его лишь поддерживаю.
Для сведения, если Вы пройдете от по всем инклудам, которые включаются в iostream, то дойдете до stdio.h.
LVV
56 / 56 / 3
Регистрация: 15.02.2010
Сообщений: 239
22.11.2012, 06:59     Программа про игроков #16
Я не знаю особенностей языка С. Изучал и изучаю С++ в отрыве от С. Поэтому для меня однозначно <iostream> вместо <stdio.h>. Еще раз повторюсь: если бы экзэшники с <iostream> и <stdio.h> сильно !различались в весе, я бы выбрал более лёгкий. А так... Каждый остаётся при своём мнении...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2012, 00:16     Программа про игроков
Еще ссылки по теме:

C++ Программа про Stack
C++ программа про последовательность
Программа про массив C++

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

Или воспользуйтесь поиском по форуму:
Vladok111
0 / 0 / 0
Регистрация: 03.10.2012
Сообщений: 78
29.11.2012, 00:16  [ТС]     Программа про игроков #17
Цитата Сообщение от margarin Посмотреть сообщение
Наверное потому что stdio.h - это скорее из C, а iostream уже C++
я просто еще на С работаю до С++ еще не дошел)

Добавлено через 7 минут
Цитата Сообщение от LVV Посмотреть сообщение
Я не знаю особенностей языка С. Изучал и изучаю С++ в отрыве от С. Поэтому для меня однозначно <iostream> вместо <stdio.h>. Еще раз повторюсь: если бы экзэшники с <iostream> и <stdio.h> сильно !различались в весе, я бы выбрал более лёгкий. А так... Каждый остаётся при своём мнении...
Я просто в С работаю,спасибо что объяснил в чем отличие)
Yandex
Объявления
29.11.2012, 00:16     Программа про игроков
Ответ Создать тему
Опции темы

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