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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.09.2014, 21:57   #1
Sanchezzz961
Новичок
Джуниор
 
Регистрация: 22.09.2014
Сообщений: 1
По умолчанию Найти наибольший показатель и номер цепочки

Здравствуйте, как можно дописать код, чтобы программа заработала? Вот условие и сама программа:
Дано: 9 цепочек (каждая длинной не более 1 тыс. знаков).
Возвращаемое значение: ID цепочки, имеющей наибольший показатель содержания GC, за которым следует сам показатель цепочки с точностью до 2-х десятичных знаков.
Код C++:
Код:
/* Template of the assignment 1 */
 
// Include libraries
#include <cstdio>
#include <fstream>
#include <string>
using namespace std;
 
// Main function
int main() {
    // Open file "rosaling_GC.txt" without any errors check
    ifstream sample;
    sample.open("rosalind_GC.txt");
    if (!sample.good()) { // Check has file been opened
        printf("%s\n", "Bad file. Does it exist?");
        return -1;
    }
    // Define a strands' amount to process 
    const unsigned int STRANDS_AMOUNT = 9;
    // 2 arrays keep a pair of values: id of a strand and the strand itself
    // e.g.
    // >strand1
    // ACTGA
    // GTTC
    // >strand2
    // CTGGC
    // will be kept as ids[0] == "strand1", ids[1] == "strand2"
    // strands[0] == "ACTGAGTTC", strands[1] == "CTGGC"
    string ids[STRANDS_AMOUNT];
    string strands[STRANDS_AMOUNT];
 
    // Some auxiliary variables
    int pos = -1;
    string currentLine;
    // Loop writes a pair of a strand's id and the strand to arrays
    while (!sample.eof()) {
        getline(sample, currentLine); // read one line from txt
 
        if (currentLine[0] == '>') { // check if it's id
            pos++;
 
            ids[pos] = currentLine.substr(1, currentLine.length()); // fill id
            strands[pos] = "";
        } else { // else proceed the strand filling
            int winReturnPos = currentLine.rfind('\r'); // A dirty hack aganst a windows file format
            strands[pos] += currentLine.substr(0,
                (winReturnPos < 0) ? currentLine.length() : winReturnPos);
        }
    };
 
    // some auxiliary variables
    int maxValuePosition = 0;
    double maxValue = 0.0;
 
    // ============ YOUR CODE HERE =======================
 
 
 
    // ====================================================
 
    printf("%s\n%.2f%%\n" , ids[maxValuePosition].c_str(), maxValue);
 
    sample.close();
    return 0;
};
Текстовый файл с данными:
http://markoutte.me/wp-content/uploa...osalind_GC.txt

Последний раз редактировалось Sanchezzz961; 23.09.2014 в 07:36.
Sanchezzz961 вне форума Ответить с цитированием
Старый 22.09.2014, 23:23   #2
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

А где задание? Не для тебя которое, а для обывателя (без спецухи, только входные и выодные данные). Сам подумай, ну кому охота гуглить про ДНК, FASTA и т.п., когда можно сделать морду кирпичём и мимо пройти?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
кодирование ДНК в С++ Anastasia.K Помощь студентам 1 23.04.2012 23:54
Найти наибольший общий делитель sektor2011 Помощь студентам 5 27.01.2011 17:36
Найти наибольший из отрицательных элементов. Pascal Kasandra88 Помощь студентам 1 30.01.2010 12:41
Найти наибольший элемент массива Almira-88 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 16.12.2009 14:25