Ejemplo n.º 1
0
int main(int argc, char *argv[]) {
	

	if (argc < 2) {
		cout<< "Invalid number of arguments.\n Usage: \n "<< argv[0] << " -p1 n <filename>\n OR \n " << argv[0] <<" -p2 <filename>\n ";
	}

	else if (strcmp(argv[1], "-p1") == 0) {
		// Code for reading input for Problem 1.
		if (argc != 4) {
			cout << "Invalid number of arguments.\nUsage: " << argv[0]  << " -p1 n <filename>\n";
			return -1;
   		}
		int n = atoi(argv[2]);
		Vote* allVotes[n];
		populateVotesArray(allVotes, argv[3]);

		//Helper loop for printing votes read from file.
		for (int i=0; i<n; i++){
			allVotes[i]->print();
		}
		// Call to findLeader.
		int leaderIndex = findLeader(allVotes,n);


		if (leaderIndex >= 0 && leaderIndex < n) {
			allVotes[leaderIndex]->print();
		} else if (leaderIndex == -1) {
			cout <<"No leader.\n";
		} else if (leaderIndex == -2) {
			cout <<"findLeader not implemented\n";
		}
		return 0;
	}
	else if (strcmp(argv[1], "-p2") == 0 ) {
		// Code for reading input for Problem 2.
		if(argc != 3) {
			cout << "Invalid number of arguments.\nUsage: " << argv[0]  << " -p2  <filename>\n";
			return -1;
    		}
    		Matrix mat(argv[2]);

		//Helper function for printing matrix read from file.
    		mat.print();

		// Call to findMaxSubmatrixSum.
    		int total = findMaxSubmatrixSum(mat);
    		cout << endl << "Total = " << total << endl;
		return 0;

	} else {
		cout <<"Usage:  \n "<< argv[0] << " -p1 n <filename>\n OR \n " << argv[0] <<" -p2 <filename>\n ";
	}
	

}
Ejemplo n.º 2
0
int main(int argc, char *argv[])
{
struct wormCdnaIterator *it;
struct dnaSeq *seq;
struct wormCdnaInfo info;
char *cdnaName;
struct cdaAli *ali;
int cdnaCount = 0;
int leaderPos;
struct leader *leader;
int leaderSize;
struct leaderHit *hitList = NULL, *hit;
int estHitCount = 0;
int slen;

wormSearchAllCdna(&it);
while (nextWormCdnaAndInfo(it, &seq, &info))
    {
    ++cdnaCount;
    if (cdnaCount%1000 == 0)
        {
        printf("Processing cDNA %d\n", cdnaCount);
        }
    cdnaName = info.name;
    slen = strlen(cdnaName);
    if ((ali = wormCdaAli(cdnaName)) != NULL)
        {
        if (cdnaName[slen-2] == '.' && cdnaName[slen-1] == '5')
            reverseComplement(seq->dna, seq->size);
        if (findLeader(seq, &leader, &leaderPos, &leaderSize))
            {
            uglyf("Got %d of %d bases of %s leader at %d of %s\n",
                leaderSize, leader->size, leader->name, leaderPos, cdnaName);
            AllocVar(hit);
            hit->cdnaName = cloneString(cdnaName);
            hit->cdnaSize = seq->size;
            hit->hitPos = leaderPos;
            hit->hitSize = leaderSize;
            hit->leader = leader;
            slAddHead(&hitList, hit);
            }
#ifdef SOON
#endif /* SOON */
        cdaFreeAli(ali);
        }
    wormFreeCdnaInfo(&info);
    freeDnaSeq(&seq);
    }
freeWormCdnaIterator(&it);

slReverse(&hitList);
for (hit = hitList; hit != NULL; hit = hit->next)
    {
    char *name = hit->cdnaName;
    int nameLen = strlen(name);
    if (name[nameLen-2] == '.' && isdigit(name[nameLen-1]))
        {
        printf("%s hits %s at base %d of %d for %d bases\n",
            hit->leader->name, hit->cdnaName, hit->hitPos, hit->cdnaSize, hit->hitSize);
        ++estHitCount;
        }
    }
printf("%d hits in all, %d in ESTs\n", 
    slCount(hitList), estHitCount);

return 0;
}
Ejemplo n.º 3
0
  n = PRpreprocess(n); 
#endif  

  maxk = minCap;

  ForAllLeaderNodes(v)  /* put input in right place in data structures */
    {
      v->s_first = v->first;
      ForAllArcs(v, a)
	{
	  a->s_prev = a->prev;
	  a->s_next = a->next;
	  a->s_cap = a->cap;
	}
    }

  pack = gabow_pack(findLeader(nodes), n, nodes, maxk);
  cut = pack->k;
  free_packing(pack);

  stop = timer();

  printf("c ttime: %14.2f    capacity: " stop-start);
  fprintf_wt(stdout, "%12", cut);
  printf("\n\n");

  freegraph();

  return 0;
}