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

Poker - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ программа в классах http://www.cyberforum.ru/cpp-beginners/thread558815.html
помогите пожалуйста сделать программу в классах построить описание класса содежащего информацию о почтовом адресе организации. предусмотреть возможность раздельного изменения составных частей адреса, создания и уничтожения обьектов этого класса
C++ Структура: Найти все страны, у которых величина экспорта за 20 лет превышает величину импорта. Дан файл, содержащий информацию о товарообмене пяти стран в течение 20 лет. Под товарообменом понимается данные об экспорте и импорте из i ой в страны в j ую. Найти все страны у которых величина экспорта за 20 лет превышает величину импорта. #include <stdio.h> #include <stdlib.h> #include <conio.h> int main() { char fn,country; int year,i,j; float ballance={0.0,0.0,0.0,0.0,0.0},n; FILE... http://www.cyberforum.ru/cpp-beginners/thread558814.html
Задача в Borland C C++
Подскажите,пожалуйста в чем моя ошибка!Как вывести на экран все Yn и U(x,t) на всех слоях:n=1,n=2,......n=257 Вот условие задачи: U’(t)=u’’(x),0<x<1,0<t<2 U(x,0)=sin(x),0<=x<=1 U(0,t)=0;u(1,t)=sin(1)*e exp(-t),0<=t<=2 Ответ:u(x,t)=sin(x)*e exp(-t). Составить программу на С++,решив задачу по методу сеток. Вот код программы во вложении.
C++ Конечные автоматы
Помогите пожалуйста решить надо подсчитать количество букв перед первой цифрой последнего слова
C++ Список контрольных работ http://www.cyberforum.ru/cpp-beginners/thread558800.html
Студенты сдают контрольные работы на стол преподавателя титульной стороной вниз (вставка в конец списка). Предположим, что студент обнаруживает неправильный ответ на какой-либо вопрос и хочет проверить как он ответил. Преподаватель должен перевернуть стопку контрольных работ так, чтобы первая работа оказалась титульной стороной вверх, просмотреть работы, пока не будет найдена работа этого...
C++ Графика в С++ Есть игра крестики-нолики в консоли.. Хочу добавить графику(graphics.h),но так как еще не пойму как это сделать прошу помочь ))) заранее спасибо вот КОД #include <iostream> using namespace std; char board = {}; void clearscreen(){ for(int i = 0; i<40; i++){ cout<<endl; } подробнее

Показать сообщение отдельно
Buckstabue
 Аватар для Buckstabue
175 / 124 / 6
Регистрация: 12.01.2012
Сообщений: 624
25.04.2012, 22:53     Poker
Вначале сортируешь массив, а дальше всё элементарно.
Если всё еще не понял как решать, то вот моё решение
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
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
100
101
102
103
104
105
106
107
108
#include <cstdio>
#include <cstdlib>
 
const size_t HAND_SIZE = 5;
 
int comparator( const void * a, const void * b );
bool isStraight( const int hand[ HAND_SIZE ] );
bool isThreeOfAKind( const int hand[ HAND_SIZE ] );
bool isPair( const int hand[ HAND_SIZE ] );
 
int main()
{
   int hand[ HAND_SIZE ] = { -1 };
   FILE * fin = NULL;
   FILE * fout = NULL;
   char * result = NULL;
 
   fin = fopen( "input.txt", "rt" );
   if ( fin == NULL )
   {
      printf( "can't open input.txt for reading\n" );
      exit( EXIT_FAILURE );
   }
   for ( size_t i=0; i < HAND_SIZE; i++ )
   {
      fscanf( fin, "%d", &hand[i] );
   }
 
   fclose( fin );
 
   qsort( hand, HAND_SIZE, sizeof(hand[0]), comparator );
 
   if ( hand[0] == hand[ HAND_SIZE - 1 ] )
      result = "Impossible";
   else if ( hand[0] == hand[3] || hand[1] == hand[4] )
      result = "Four of a Kind";
   else if ( hand[0] == hand[2] && hand[3] == hand[4] ||
             hand[0] == hand[1] && hand[2] == hand[4]   )
      result = "Full House";
   else if ( isStraight(hand) )
      result = "Straight";
//   else if ( isThreeOfAKind(hand) )
   else if ( hand[0] == hand[2] || hand[1] == hand[3] || hand[2] == hand[4] )
      result = "Three of a Kind";
   else if ( hand[0] == hand[1] && hand[2] == hand[3] ||
             hand[0] == hand[1] && hand[3] == hand[4] ||
             hand[1] == hand[2] && hand[3] == hand[4]    )
      result = "Two Pairs";
   else if ( isPair(hand) )
      result = "One Pair";
   else
      result = "Nothing";
 
   fout = fopen( "output.txt", "wt" );
   fprintf( fout, result );
   fclose( fout );
 
   return 0;
}
 
int comparator( const void * a, const void * b )
{
   return *(int *)a - *(int *)b;
}
 
bool isStraight( const int hand[ HAND_SIZE ] )
{
   for ( size_t i = 1; i < HAND_SIZE; i++ )
   {
      if ( hand[ i - 1 ] != hand[ i ] - 1 )
         return false;
   }
 
   return true;
}
 
bool isThreeOfAKind( const int hand[ HAND_SIZE ] )
{
   bool breaked = false;
 
   for ( size_t i = 0; i < HAND_SIZE - 2; i++ )
   {
      for( size_t j = 1; j < 3; j++ )
      {
         if ( hand[ i + j ] != hand[ i + j - 1 ] )
         {
            breaked = true;
            break;
         }
      }
 
      if ( !breaked )
         return true;
   }
 
   return false;
}
 
bool isPair( const int hand[ HAND_SIZE ] )
{
   for ( size_t i = 1; i < HAND_SIZE; i++ )
   {
      if ( hand[ i - 1 ] == hand[ i ]  )
         return true;
   }
 
   return false;
}
Только в функции isThreeOfAKind() ошибка, но я её не искал
 
Текущее время: 06:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru