Example #1
0
GHash::iterator GHash::insert_num(GHash * pThis, const void * pKey, void * pValue )
{
    iterator iter = find_num( pThis, pKey );
    if ( iter )
        return pThis->end();
    return pThis->insert2( pKey, pValue, (hash_key_t)pKey );
}
Example #2
0
int main(){
    int arr[] = {3,4,5,6,7,8,9,0,1};
    int n = sizeof(arr)/sizeof(arr[0]);
    int num;
    scanf("%d",&num);
    int pos = find_num(arr,n,num);
    printf("%d\n",pos);
}
Example #3
0
/*
 * 创建
 */
void Creat(AdjMatrix *G)
{
	int i, j;
	int temp1, temp2;
	char tmp[2];

	printf("请输入有向图中的顶点数:");
	scanf("%d", &G->vexnum);

	printf("请输入有向图中的边数:");
	scanf("%d", &G->arcnum);

	getchar();

	for (i = 1; i <= G->vexnum; i++)
	{
		for (j = 1; j <= G->vexnum; j++)
		{
			G->arcs[i][j] = INFIITY;
		}
	}

	printf("请输入顶点名称:\n");

	for (i = 1; i <= G->vexnum; i++)
	{
		printf("No.%d:", i);
		scanf("%c", &G->vex[i]);
		getchar();
	}

	printf("请输入图中%d个边\n", G->arcnum);
	for (i = 1; i <= G->arcnum; i++)
	{
		printf("No.%d:", i);
		scanf("%s", tmp);

		temp1 = find_num(G, tmp[0]);
		temp2 = find_num(G, tmp[1]);

		G->arcs[temp1][temp2] = 1;
	}

	printf("创建完成\n");
}
Example #4
0
GHash::iterator GHash::update_num(GHash * pThis, const void * pKey, void * pValue)
{
    iterator iter = find_num( pThis, pKey );
    if ( iter != pThis->end() )
    {
        iter->setData( pValue );
        return iter;
    }
    return pThis->insert2( pKey, pValue, (hash_key_t)pKey );
}
void del(student s[], int *cur)		// 删除
{
	int flag;
	int addr;
	int i;
	char buf[20];

	system("cls");
	printf("\n--- 删除学生信息\n");
	printf("\n--- 1. 按学号删除\n");
	printf("\n--- 2. 按姓名删除\n");
	printf("\n--- 3. 回主界面\n");
	while (1)
	{
		printf("\n--- 请输入要执行的操作: ");
		fflush(stdin);
		scanf("%d", &flag);
		if (flag == 1)
		{
			printf("\n请输入学号: ");
			fflush(stdin);
			scanf("%s", buf);
			addr = find_num(s, buf, *cur);
			if (addr == -1) printf("\n--- 没有找到!\n");
			else 
			{
				for (i=addr; i<*cur; i++)
					s[i] = s[i+1];
				(*cur)--;
				printf("\n删除成功!\n");
			}
		}
		else if (flag == 2)
		{
			printf("\n请输入姓名: ");
			fflush(stdin);
			scanf("%s", buf);
			addr = find_name(s, buf, *cur);
			if (addr == -1) printf("\n--- 没有找到!\n");
			else 
			{
				for (i=addr; i<*cur; i++)
					s[i] = s[i+1];
				(*cur)--;
				printf("\n删除成功!\n");
			}
		}
		else if (flag == 3) break;
		else printf("\nXXX 输入错误");
	}
	back();
}
int main() {
    int Q;
    scanf("%d", &Q);
    for (int i = 0; i < Q; i ++) {
        long long s;
        scanf("%lld", &s);
        if (s == 1) printf("0 0\n");
        else {
            long long num = find_num(s-1);
            printf("%lld\n", num);
            long long pos = s - 1 - cal(num - 1);
            solve(num, pos);
        }
    }
    return 0;
}
void find(student s[], int cur)		// 查找
{
	int flag;
	char buf[20];
	int addr;

	system("cls");
	printf("\n--- 查找学生信息\n");
	printf("\n--- 1. 按学号查找\n");
	printf("\n--- 2. 按姓名查找\n");
	printf("\n--- 3. 回主界面\n");
	while (1)
	{
		printf("\n--- 请输入要执行的操作: ");
		fflush(stdin);
		scanf("%d", &flag);
		if (flag == 1)
		{
			printf("\n请输入学号: ");
			fflush(stdin);
			scanf("%s", buf);
			addr = find_num(s, buf, cur);
			if (addr == -1) printf("\n--- 没有找到!\n");
			else 
			{
				printf("\n学号\t姓名\t性别\t语文\t数学\t英语\t体育\t平均分\t总成绩\n");
				print_each(s, addr);
			}
		}
		else if (flag == 2)
		{
			printf("\n请输入姓名: ");
			fflush(stdin);
			scanf("%s", buf);
			addr = find_name(s, buf, cur);
			if (addr == -1) printf("\n--- 没有找到!\n");
			else 
			{
				printf("\n学号\t姓名\t性别\t语文\t数学\t英语\t体育\t平均分\t总成绩\n");
				print_each(s, addr);
			}
		}
		else if (flag == 3) break;
		else printf("\nXXX 输入错误");
	}
	back();
}
Example #8
0
int main(void)
{
	int m, n, i, j, num, result;
	int arr[MAX][MAX];

	while (scanf("%d %d", &m, &n) != EOF)
	{
		scanf("%d", &num);
		for (i = 0; i < m; i ++)
			for (j = 0; j < n; j++)
				scanf("%d", &arr[i][j]);
		result = find_num(arr, m, n, num);
		if (result == 1)
			printf("Yes\n");
		else
			printf("No\n");
	}
	return 0;
}
Example #9
0
int main(void)
{
    unsigned long long N = 0;
    unsigned long long num = 0;
    int k = 0;

    Nums[1] = 2;
    Nums[2] = 3;
    Nums[3] = 5;
    Nums[4] = 7;
    Nums[5] = 11;
    MaxNum = 5;

    scanf("%llu", &N);

    for (unsigned long long i = 0; i < N; i++) {
        scanf("%d", &k);
        num = find_num(k);
        printf("%llu\n", num);
    }

}
Example #10
0
int check_mask(double starttime, double duration, mask * obsmask, int *maskchans)
/* Return value is the number of channels to mask.  The */
/* channel numbers are placed in maskchans (which must  */
/* have a length of numchan).  If -1 is returned, all   */
/* channels should be masked.                           */
{
   int loint, hiint;
   double endtime;
   static int old_loint = -1, old_hiint = -1, old_numchan = 0;

   /*
      static int firsttime = 1;
      if (firsttime){
      int ii;
      printf("\n\n numzapints = %d\n : ", obsmask->num_zap_ints);
      for (ii=0; ii<obsmask->num_zap_ints; ii++)
      printf("%d ", obsmask->zap_ints[ii]);
      printf("\n\n numzapchans = %d\n : ", obsmask->num_zap_chans);
      for (ii=0; ii<obsmask->num_zap_chans; ii++)
      printf("%d ", obsmask->zap_chans[ii]);
      printf("\n\n");
      firsttime = 0;
      }
    */

   endtime = starttime + duration;
   loint = (int) (starttime / obsmask->dtint);
   hiint = (int) (endtime / obsmask->dtint);

   /* Mask the same channels as for the last call */
   if (loint == old_loint && hiint == old_hiint)
       return old_numchan;

   /* Make sure that we aren't past the last interval */
   if (loint >= obsmask->numint)
       loint = obsmask->numint - 1;
   if (hiint >= obsmask->numint)
       hiint = loint;

   if ((loint >= obsmask->numint + 1) ||
       (hiint >= obsmask->numint + 1)) {
       printf("Warning!!  Trying to use a mask interval well after the mask ends!\n");
   }

   /* Determine new channels to mask */
   if (loint == hiint) {
      old_loint = old_hiint = loint;
      /* Check to see if this is an interval where we zap all the channels */
      if (obsmask->num_zap_ints) {
         if (find_num(loint, obsmask->zap_ints, obsmask->num_zap_ints)) {
            old_numchan = -1;
            return old_numchan;
         }
      }
      /* Merge the overall channels to zap with the local channels to zap */
      old_numchan = merge_no_dupes(obsmask->zap_chans,
                                   obsmask->num_zap_chans,
                                   obsmask->chans[loint],
                                   obsmask->num_chans_per_int[loint], maskchans);
   } else {                     /* We are straddling a rfifind interval boundary */
      int *tmpchans;

      old_loint = loint;
      old_hiint = hiint;
      /* Check to see if this is an interval where we zap all the channels */
      if (obsmask->num_zap_ints) {
         if (find_num(loint, obsmask->zap_ints, obsmask->num_zap_ints)) {
            old_numchan = -1;
            return old_numchan;
         }
         if (find_num(hiint, obsmask->zap_ints, obsmask->num_zap_ints)) {
            old_numchan = -1;
            return old_numchan;
         }
      }
      /* Merge the overall channels to zap with the loint channels to zap */
      if (obsmask->num_zap_chans) {
         tmpchans = gen_ivect(obsmask->numchan);
         old_numchan = merge_no_dupes(obsmask->zap_chans,
                                      obsmask->num_zap_chans,
                                      obsmask->chans[loint],
                                      obsmask->num_chans_per_int[loint], tmpchans);
      } else {
         tmpchans = obsmask->zap_chans;
         old_numchan = obsmask->num_zap_chans;
      }
      /* Merge the loint+overall channels to zap with the hiint channels to zap */
      old_numchan = merge_no_dupes(tmpchans,
                                   old_numchan,
                                   obsmask->chans[hiint],
                                   obsmask->num_chans_per_int[hiint], maskchans);
      if (obsmask->num_zap_chans)
         vect_free(tmpchans);
   }
   return old_numchan;
}