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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.04.2012, 13:46   #1
Borkot
Пользователь
 
Аватар для Borkot
 
Регистрация: 29.04.2012
Сообщений: 37
По умолчанию Новичкам

Программирование на C/C++
Borkot вне форума Ответить с цитированием
Старый 30.04.2012, 13:57   #2
Borkot
Пользователь
 
Аватар для Borkot
 
Регистрация: 29.04.2012
Сообщений: 37
По умолчанию

Спасибо заранее и не судите сильно строго.
Проконсультируйте пожалуйста.
Есть массив с int значениями, есть описание функции, прототип функции,
Возможно ли и как происходит, нам надо в прототип функции передать значения с массива.
Что бы понятнее было, выложу код программы:
Код:
#include<iostream>
using namespace std;
int chis;
void sys(int);
int mas3[6];
void main()
{ int l,m,c,k;
	cout<<"please enter to nuber for tranclete\n";
	cin>>k;
	cout<<"please enter system\n";
	cin>>l;
	
	for(int d=0;k>1;d++)
	{
		m=k/l;c=k%l;
		cout<<m<<' '<<c<<'\n';
		k=m;mas3[d]=c;
		if(k<l)
		{c=m;}
	} 
	for( int i=6;i>=0;i--)
		{	 if(mas3[i]<0)
				{mas3[i]=0;}
			cout<<mas3[i]<<' ';
		} sys(mas3[6]);
	cout<<'\n';/*
	for(int i=6;i>=0;i--)
	{mas3[i];);
	}*/
}
void sys(int chis)
{	const unsigned int a=10,b=26;
	int mas[a];
	for(int i=0;i<a;i++)
	{	mas[i]=i;
		cout<<mas[i]<<' ';}
	cout<<"\n";
	char mas2[b];
	for(int j=65;j<91;j++)
	{
		mas2[j]=j;
		cout<<mas2[j]<<' ';
	}
	cout<<'\n';
	//for(int i=0;i<=36;i++)
	//{
		if(chis>=0&&chis<=9)
		{
			chis;//=mas[];
			cout<<chis<<' ';
		}
		else if(chis>=10&&chis<=36)
		{  for(int i=10;i<=36;i++){
			for(int j=65;j<91;j++){
			   if(chis==i){
				   cout<<mas2[j]<<' ';}
			   continue;
			}}
		}
		else{}
	//}
}

Последний раз редактировалось Borkot; 30.04.2012 в 15:22. Причина: Сделать более мене читабельный код
Borkot вне форума Ответить с цитированием
Старый 30.04.2012, 14:44   #3
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,430
По умолчанию

Что должна сделать функция SYS с числом?
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 30.04.2012, 15:01   #4
Borkot
Пользователь
 
Аватар для Borkot
 
Регистрация: 29.04.2012
Сообщений: 37
По умолчанию

Функция SYS сравнивает значение от 0 до 9 включительно выводит число, а если значение больше 10 до 36 включительно присваивает букву и выводит на экран,
Программа называется перевести число с 10ной системы счисления в любую от 2-ичной до 36- ричной.
То есть записанные в массив значения,передаются в прототип функции, эта функция сравнивает значения и в зависимости от диапазона выводит букву или число.

Последний раз редактировалось Borkot; 30.04.2012 в 15:04. Причина: Уточнение
Borkot вне форума Ответить с цитированием
Старый 30.04.2012, 15:06   #5
Borkot
Пользователь
 
Аватар для Borkot
 
Регистрация: 29.04.2012
Сообщений: 37
По умолчанию

Там где буквы выводятся- это просто сделано для наглядности...
Borkot вне форума Ответить с цитированием
Старый 30.04.2012, 15:23   #6
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,430
По умолчанию

По-моему, так проще:
Код:
#include <iostream>
using namespace std;

char *s="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";

int
translate(int num,int k)
{
    if (num==0)
        return 0;
    translate(num/k,k);
    cout<<s[num%k];
}

int
main(void)
{
    int num,k;
    cout<<"Please enter number for translate:\n";
    cin>>num;
    cout<<"Please enter system:\n";
    cin>>k;
    if (num!=0)
        translate(num,k);
    else
        cout<<0;
    return 0;
}
[offtop]Чтобы "красиво" оформить код, нажимайте значок решетка.[/offtop]
А вообще, массивы передаются по указателю, например:
Код:
#include<iostream>
using namespace std;

int
print1(int a[],int n)
{
    for(int i=0; i<n; i++)
        cout<<a[i]<<' ';
}

int
print2(int *a,int n)
{
    for(int i=0; i<n; i++)
        cout<<a[i]<<' ';
}

int
main()
{
    int a[10];
    for (int i=0; i<10; i++)
        a[i]=i;
    print1(a,10);
    cout<<endl;
    print2(a,10);
    return 0;
}
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 30.04.2012 в 15:33.
BDA вне форума Ответить с цитированием
Старый 30.04.2012, 15:38   #7
Borkot
Пользователь
 
Аватар для Borkot
 
Регистрация: 29.04.2012
Сообщений: 37
По умолчанию

Спасибо огромное!Я понял,что все неправильно сделал.

Последний раз редактировалось Borkot; 30.04.2012 в 15:43.
Borkot вне форума Ответить с цитированием
Старый 30.04.2012, 15:47   #8
Borkot
Пользователь
 
Аватар для Borkot
 
Регистрация: 29.04.2012
Сообщений: 37
По умолчанию

Просто до указателей, я еще не дошел.Все равно спасибо код скопировал,счас сяду поразбираю.
Borkot вне форума Ответить с цитированием
Старый 04.05.2012, 13:52   #9
Borkot
Пользователь
 
Аватар для Borkot
 
Регистрация: 29.04.2012
Сообщений: 37
По умолчанию

Всем привет! Игра кубики.2а кубика бросаются выпадают значения рандомно.Но если дебажить Ctrl+F5 то значения одинаковые, а если F10 то все нормально получается.Кто что подскажет?
Код:
#include<iostream>
#include<stdlib.h>
#include<time.h>
using namespace std;
int generator_sl();
void Pods4et();
int kb1[5],kb2[5],kb3[5],kb4[5];
void main()
{
char a;
cout<<"Press 1: to-komputer,press 2: to -4elovek\n";
cin>>a;
switch(a)
{
case '1':
	for(int i=0;i<5;i++)
		{
		cout<<"o4ered' komp'utera"<<endl;
		   generator_sl();
		   kb1[i]=generator_sl();
		   cout<<"Kubik A="<<kb1[i]<<endl;
		   generator_sl();
		   kb2[i]=generator_sl();
		   cout<<"Kubik B="<<kb2[i]<<endl;
		cout<<"Vi brosaete\n";
		  generator_sl();
		kb3[i]=generator_sl();
		cout<<"Kubik A="<<kb3[i]<<endl;
		   generator_sl();
		   kb4[i]=generator_sl();
		   cout<<"Kubik B="<<kb4[i]<<endl;
		}
	Pods4et();
	break;
case '2': 
	for(int i=0;i<5;i++)
		{ 
		   cout<<"Vi brosaete\n";
		   generator_sl();
		   kb3[i]=generator_sl();
		   cout<<"Kubik A="<<kb3[i]<<endl;
		   generator_sl();
		   kb4[i]=generator_sl();
		   cout<<"Kubik B="<<kb4[i]<<endl;
		   cout<<"o4ered' komp'utera"<<endl;
		   generator_sl();
		   kb1[i]=generator_sl();
		   cout<<"Kubik A="<<kb1[i]<<endl;
		   generator_sl();
		   kb2[i]=generator_sl();
		    cout<<"Kubik B="<<kb2[i]<<endl;
		}
		Pods4et();
		break;
		 default: // если введенный символ некорректен
		cout<<"\nError!!! This operator isn't correct\n";
		break; // остановка switch
}
}
void Pods4et()
{	int S1=0,S2=0,S3=0,S4=0;
	float S12=0,S34=0;
	for(int i=0;i<5;i++)
	{
		S1+=kb1[i];
		S2+=kb2[i];
		S3+=kb3[i];
		S4+=kb4[i];
	}
	if((S1+S2)>(S3+S4))
	{cout<<"Yraaa Vi pobedili:="<<(S1+S2)<<"Protiv komputera:="<<(S3+S4)<<endl;
	}
	else
		{if((S1+S2)==(S3+S4))
			{
			cout<<"Ni4'ia:="<<(S1+S2)<<endl;
			}
		else {cout<<"Pobedil komputer:="<<(S3+S4)<<"Protiv vawix zna4eniy:="<<(S1+S2)<<endl;
			 }
		}
	S12=(S1+S2)/10;
	S34=(S3+S4)/10;
	cout<<"Srednee zna4enie po broskam y VAS:="<<S12<<endl;
	cout<<"srednie Zna4enie po broskam y komp'utera:="<<S34<<endl;
}
int generator_sl(void)
{
	srand(time(NULL));
	int sl_4is=0;
	int ar=0;
	for(int i=0;i<6;i++)
	{
	
	ar=rand()%7;
	if(ar==0)
	{ //cout<<ar<<"\n";
	continue;
	}
	else
	{
	//cout<<ar<<"\n";
	sl_4is=ar;
	break;
	}
	}
	return sl_4is;
}
Borkot вне форума Ответить с цитированием
Старый 05.05.2012, 21:49   #10
Borkot
Пользователь
 
Аватар для Borkot
 
Регистрация: 29.04.2012
Сообщений: 37
По умолчанию

Я тут подумал может добавить временную задержку в генераторе чисел в 1 сек.
Код:
//когда функция обращается к генератору случайных чисел 
//происходит задержка в 1 сек
//И уже на выходе при Ctrl+F5 нормальные значения

Последний раз редактировалось Borkot; 05.05.2012 в 22:18.
Borkot вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Новичкам (java с ноля + С) alexanderduder Обсуждение статей 1 19.10.2010 21:03
Новичкам OpenGL ds.Dante Общие вопросы C/C++ 2 14.08.2009 15:29
Новичкам: Насчет халявы MaTBeu Общие вопросы C/C++ 0 23.12.2008 23:38