ОБСУЖДЕНИЕ

Передача массива в функцию

2 ответов 4 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

Статус
Закрыто для дальнейших ответов.
Автор темы
Здравствуйте! Пишу для себя программу, которая проводит чемпионат России по футболу. Пока с помощью двух функций провёл жеребьёвку для составления календаря и распечатку этой жеребьёвки как мне передать массив с результатами этой жеребьёвки? Заранее спасибо за помощь.
А вот и сама прога на данный момент:


Код:
#include <graphics.h>
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <time.h>
#include <math.h>
#include <stdlib.h>
#include <dos.h>
#include <limits.h>


void JerebjevkaNum();						// provedenie jerebievki
void PechatJerebjevkaNum(int []);		  // pechat jerebievki

struct Championat
{
char name[80];
int wins;		 //  chislo pobed
int draws;		//	chislo nichih
int loses;	  //	 chislo porageniy
int balls; //		  raznica myachey
int points;  //		kol-vo nabrnnyh ochkov
};

struct Championat Club[] = {

{ "Rubin", 0, 0, 0, 0, 0},
{ "CSKA", 0, 0, 0, 0, 0},
{ "Dinamo",0, 0, 0, 0, 0},
{ "Amkar", 0, 0, 0, 0, 0},
{ "Zenit", 0, 0, 0, 0, 0},
{ "Krylya Sovetov", 0, 0, 0, 0, 0},
{ "Lokomotiv",0, 0, 0, 0, 0},
{ "Spartak M",0, 0, 0, 0, 0},
{ "FC Moskva",0, 0, 0, 0, 0},
{ "Terek", 0, 0, 0, 0, 0},
{ "Saturn",0, 0, 0, 0, 0},
{ "Spartak N",0, 0, 0, 0, 0},
{ "Tomj", 0, 0, 0, 0, 0},
{ "Khimki",0, 0, 0, 0, 0},
{ "Rostov",0, 0, 0, 0, 0},
{ "Kuban", 0, 0, 0, 0, 0}

};

void JerebjevkaNum()
{
int num, ClubNum, ClubJerNum[16];
randomize();
num=random(16);
ClubJerNum[0]=num;	// prisvoenie pervomu klubu pervogo jerebievochnogo nomera

for (ClubNum=1;ClubNum<=15;ClubNum++)
{
if (num<15)
ClubJerNum[ClubNum]=++num;
else
ClubJerNum[ClubNum]=(++num-16);
}
}

void PechatJerebjevkaNum(int ClubJerNum[16])
{ 
for (int ClubNum=0; ClubNum<=15; ClubNum++)
{
printf("%s", Club[ClubNum].name);

if (ClubNum==1 || ClubNum==12)
printf("				");
if (ClubNum==0 || ClubNum==3 || ClubNum==4 || ClubNum==9 || ClubNum==15)
printf("			  ");
if (ClubNum==2 || ClubNum==10 || ClubNum==13 || ClubNum==14)
printf("			 ");
if (ClubNum==6 || ClubNum==7 || ClubNum==8 || ClubNum==11)
printf("		  ");
if (ClubNum==5)
printf("	 ");

printf("%d\n", ClubJerNum[ClubNum]);
}
}

void main(void)
{
clrscr();
JerebjevkaNum();
PechatJerebjevkaNum(int ClubJerNum[16]);
getch();
}
 
Код:
void JerebjevkaNum()
{
int num, ClubNum, ClubJerNum[16];
randomize();
num=random(16);
ClubJerNum[0]=num;	// prisvoenie pervomu klubu pervogo jerebievochnogo nomera

for (ClubNum=1;ClubNum<=15;ClubNum++)
{
if (num<15)
ClubJerNum[ClubNum]=++num;
else
ClubJerNum[ClubNum]=(++num-16);
}
}
возвращяйте не void а указатель на ваш объект.Для большего понимания происходяшего почитайте дин.структуры.Например Stack;
 
Круто но не кроссплатформенно и используются старые библиотеки(
 
Статус
Закрыто для дальнейших ответов.