Sha256: e264f8aba2366f27f1a4e38c2c1ab1fcf8474c3924e16e8695ec49efac039407

Contents?: true

Size: 1.01 KB

Versions: 138

Compression:

Stored size: 1.01 KB

Contents

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <stdbool.h>
#include "nucleotide_count.h"

char *count(const char *dna_strand)
{
   bool invalid_char = false;
   size_t index;
   size_t nucleotide_A_count = 0;
   size_t nucleotide_C_count = 0;
   size_t nucleotide_G_count = 0;
   size_t nucleotide_T_count = 0;
   char *count_results = calloc(1, 50);

   for (index = 0; (index < strlen(dna_strand)) && (invalid_char == false);
        index++) {
      switch (dna_strand[index]) {
      case 'A':
         nucleotide_A_count++;
         break;
      case 'C':
         nucleotide_C_count++;
         break;
      case 'G':
         nucleotide_G_count++;
         break;
      case 'T':
         nucleotide_T_count++;
         break;
      default:
         invalid_char = true;
         break;
      }
   }

   if (!invalid_char) {
      sprintf(count_results, "A:%zd C:%zd G:%zd T:%zd", nucleotide_A_count,
              nucleotide_C_count, nucleotide_G_count, nucleotide_T_count);
   }
   return count_results;
}

Version data entries

138 entries across 138 versions & 1 rubygems

Version Path
trackler-2.2.1.45 tracks/c/exercises/nucleotide-count/src/example.c
trackler-2.2.1.44 tracks/c/exercises/nucleotide-count/src/example.c
trackler-2.2.1.43 tracks/c/exercises/nucleotide-count/src/example.c
trackler-2.2.1.42 tracks/c/exercises/nucleotide-count/src/example.c
trackler-2.2.1.41 tracks/c/exercises/nucleotide-count/src/example.c
trackler-2.2.1.40 tracks/c/exercises/nucleotide-count/src/example.c
trackler-2.2.1.39 tracks/c/exercises/nucleotide-count/src/example.c
trackler-2.2.1.38 tracks/c/exercises/nucleotide-count/src/example.c
trackler-2.2.1.37 tracks/c/exercises/nucleotide-count/src/example.c
trackler-2.2.1.36 tracks/c/exercises/nucleotide-count/src/example.c
trackler-2.2.1.35 tracks/c/exercises/nucleotide-count/src/example.c
trackler-2.2.1.34 tracks/c/exercises/nucleotide-count/src/example.c
trackler-2.2.1.33 tracks/c/exercises/nucleotide-count/src/example.c
trackler-2.2.1.32 tracks/c/exercises/nucleotide-count/src/example.c
trackler-2.2.1.31 tracks/c/exercises/nucleotide-count/src/example.c
trackler-2.2.1.30 tracks/c/exercises/nucleotide-count/src/example.c
trackler-2.2.1.29 tracks/c/exercises/nucleotide-count/src/example.c
trackler-2.2.1.28 tracks/c/exercises/nucleotide-count/src/example.c
trackler-2.2.1.27 tracks/c/exercises/nucleotide-count/src/example.c
trackler-2.2.1.26 tracks/c/exercises/nucleotide-count/src/example.c