Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.06.2011, 09:07   #11
was3110
Форумчанин
 
Аватар для was3110
 
Регистрация: 25.04.2010
Сообщений: 254
По умолчанию

искать готовый ответ. Возможно, разобраться в работающей программе, у Вас получится быстрее. А пока на ясные и четкие рекомендации, Вы задаете глобальный вопрос "Что делать?"
помогать студентам - моя вторая профессия
was3110 вне форума Ответить с цитированием
Старый 07.06.2011, 16:23   #12
KobolD
Форумчанин
 
Регистрация: 10.06.2010
Сообщений: 239
По умолчанию

Я у себя создал консольное приложение и запихнул в него твой код, ну там с небольшими правками, все работает норм.
Код:
#include "stdafx.h"
#include <iostream>
#include <iomanip>
#include <stdlib.h>
#include <time.h>
using namespace std; //пространство имен для cin, cout;

void shuffle (int [][13]); //прототипы функций
void deal(const int[][13], const char *[], const char *[]);


int _tmain(int argc, _TCHAR* argv[])
{
	setlocale(LC_ALL,"RUS");	//для отображения русского языка в консоли

	const char *suit[4]={"Червы", "Бубны","Трефы","Пики"}; //массив указателей на масивы символов для мастей, заполняем названием масти
	const char *face[13]={"Туз","Двойка","Тройка","Четверка","Пятерка","Шестерка","Семерка",
			"Восьмерка","Девятка","Десятка","Валет","Дама","Кароль"};	//массив указателей на масивы символов для карт, заполняем названием карт
	int deck[4][13]={0}; //массив для колоды

	srand (time(NULL));

	shuffle(deck); //передаем функции массив для заполнения
	deal(deck, face, suit); //ошибка!!! //передаем массивы для тосования и вывода
	int x;
	cin>>x;
	return 0;
}

void shuffle ( int wDeck[][13])
{
	int row, column;

	for (int card=1; card<=52;card++)
	{
		do
		{
			row=rand() % 4;
			column= rand() % 13;
		}while (wDeck[row][column]!=0);
		wDeck[row][column]=card;
	}
}

void deal (const int wDeck[][13],const char *wFace[], const char *wSuit[])
{
	for (int card=1;card<=52;card++)
		
		for (int row=0; row<=3;row++)

			for (int column=0;column<=12; column++)
				if(wDeck[row][column]==card)
					cout<<setw(9)<<setiosflags(ios::right)<<wFace[column]<<" масти "
					<<setw(5)<<setiosflags(ios::left)<<wSuit[row]
					<<(card%2==0? '\n': '\t');
}
Чтобы слова не расходились с делом, нужно молчать и ничего не делать.
KobolD вне форума Ответить с цитированием
Старый 09.06.2011, 10:09   #13
diviru
Пользователь
 
Регистрация: 06.05.2011
Сообщений: 14
По умолчанию

Интересно, а подскажите пожалуйста в какой среде работаете?
diviru вне форума Ответить с цитированием
Старый 09.06.2011, 10:17   #14
diviru
Пользователь
 
Регистрация: 06.05.2011
Сообщений: 14
По умолчанию

И у меня заработало, только не пойму в чем проблема, ты что то изменил?
diviru вне форума Ответить с цитированием
Старый 09.06.2011, 10:19   #15
diviru
Пользователь
 
Регистрация: 06.05.2011
Сообщений: 14
По умолчанию

Вот работающий код:
Код:
#include <iostream>
#include <iomanip>
#include <stdlib.h>
#include <time.h>
using namespace std; //пространство имен для cin, cout;

void shuffle (int [][13]); //прототипы функций
void deal(const int[][13], const char *[], const char *[]);


void main()
{
	setlocale(LC_ALL,"RUS");	//для отображения русского языка в консоли

	const char *suit[4]={"Червы", "Бубны","Трефы","Пики"}; //массив указателей на масивы символов для мастей, заполняем названием масти
	const char *face[13]={"Туз","Двойка","Тройка","Четверка","Пятерка","Шестерка","Семерка",
			"Восьмерка","Девятка","Десятка","Валет","Дама","Кароль"};	//массив указателей на масивы символов для карт, заполняем названием карт
	int deck[4][13]={0}; //массив для колоды

	srand (time(NULL));

	shuffle(deck); //передаем функции массив для заполнения
	deal(deck, face, suit); //ошибка!!! //передаем массивы для тосования и вывода
	int x;
	cin>>x;
	
}

void shuffle ( int wDeck[][13])
{
	int row, column;

	for (int card=1; card<=52;card++)
	{
		do
		{
			row=rand() % 4;
			column= rand() % 13;
		}while (wDeck[row][column]!=0);
		wDeck[row][column]=card;
	}
}

void deal (const int wDeck[][13],const char *wFace[], const char *wSuit[])
{
	for (int card=1;card<=52;card++)
		
		for (int row=0; row<=3;row++)

			for (int column=0;column<=12; column++)
				if(wDeck[row][column]==card)
					cout<<setw(9)<<setiosflags(ios::right)<<wFace[column]<<" масти "
					<<setw(5)<<setiosflags(ios::left)<<wSuit[row]
					<<(card%2==0? '\n': '\t');
}
diviru вне форума Ответить с цитированием
Старый 09.06.2011, 18:55   #16
diviru
Пользователь
 
Регистрация: 06.05.2011
Сообщений: 14
По умолчанию

А я понял в чем была ошибка, название самой функции main написано вот так mani !!!!!!!!!!!!!!!!!!!!!!!!!!
diviru вне форума Ответить с цитированием
Старый 10.06.2011, 11:04   #17
KobolD
Форумчанин
 
Регистрация: 10.06.2010
Сообщений: 239
По умолчанию

Ларчик то просто открывался
Чтобы слова не расходились с делом, нужно молчать и ничего не делать.
KobolD вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
РИДЕР КАРТ (C)stalin(Cpp) Общие вопросы .NET 0 25.04.2010 18:18
Написал редактор карт sasha1993 Gamedev - cоздание игр: Unity, OpenGL, DirectX 8 18.07.2009 21:31
Тестер звуковых карт NotProCoder Софт 5 21.04.2009 20:01
Простенький редактор карт. ROD Gamedev - cоздание игр: Unity, OpenGL, DirectX 5 07.04.2009 22:24
Перетасовка колоды карт newd Общие вопросы Delphi 5 04.03.2009 09:44