Выручите

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by aydar, 16 Sep 2010.

  1. aydar

    aydar Member

    Joined:
    12 Nov 2009
    Messages:
    259
    Likes Received:
    6
    Reputations:
    -2
    Ребят тут мне 1 знакомы попросил помочь ему сделать 2 задачи на C\C++, я его уже давно изучал ниче вспомнить не могу может вы поможете задачи детскии

    1.прочитать из файла массив, элементы занести в вектор, добавить в вектор элементы , пересортировать вектор посчитать сумму всех положительных эелементов

    2.текст в файле :"в науке есть радость.Наука приносит удовольствие"
    Используя функции обработки строковых и символьных переменных скорректировать текст на "в науке есть радость, она приносит удовольствие"
     
  2. rudi

    rudi Active Member

    Joined:
    3 Jun 2010
    Messages:
    487
    Likes Received:
    184
    Reputations:
    5
    char text[]="в науке есть радость.Наука приносит удовольствие";
    char Dest[256];
    char *ptr;

    ptr = strstr(text, ".Наука");
    strncpy(Dest, text, ptr-text);
    strcat(Dest, ", она ");
    ptr = strstr(text, "приносит");
    strcat(Dest, ptr);
     
  3. aydar

    aydar Member

    Joined:
    12 Nov 2009
    Messages:
    259
    Likes Received:
    6
    Reputations:
    -2
    а можно полный код а ту у меня компилятор гавно bc 6, буду благодарен да и по первой задачи мне тут ее сделали но много ненужного в коде проверка файла и тп можете это все убрать (std::) и сделать в вашем стиле

     
  4. rudi

    rudi Active Member

    Joined:
    3 Jun 2010
    Messages:
    487
    Likes Received:
    184
    Reputations:
    5


    PHP:

    #include <stdio.h>
    #include <iostream>

    int main(int argccharargv[])
    {
        
        
    char text[]="в науке есть радость.Наука приносит удовольствие";
        
    char Dest[256];
        
    char *ptr;

        
    Dest[0]=0;
        
    ptr strstr(text".Наука");
        
    strncpy(Desttextptr-text);
        
    Dest[ptr-text] =0;  //так как strncpy не добавляет в конец строки симол конца строки \0
        
    strcat(Dest", она ");
        
    ptr strstr(text"приносит");
        
    strcat(Destptr);

        return 
    0;
    }
     
    1 person likes this.
  5. aydar

    aydar Member

    Joined:
    12 Nov 2009
    Messages:
    259
    Likes Received:
    6
    Reputations:
    -2
    это Dest[ptr-text] =0; обязательный строка без нее будит работать?
    а можно считать это из файла? вы мою 2 задачу посмотрели?
     
  6. rudi

    rudi Active Member

    Joined:
    3 Jun 2010
    Messages:
    487
    Likes Received:
    184
    Reputations:
    5
    Обязательно, без неё могут быть ошибки.

    Ты про вторую задачу спрашиваешь или про первую?


    Я std:: слабо понимаю
     
  7. aydar

    aydar Member

    Joined:
    12 Nov 2009
    Messages:
    259
    Likes Received:
    6
    Reputations:
    -2
    про 2 чтобы программа считывала этот текст из файла
     
  8. rudi

    rudi Active Member

    Joined:
    3 Jun 2010
    Messages:
    487
    Likes Received:
    184
    Reputations:
    5
    при условии, что файл file.txt
    лежит в одной директории с exe файлом

    но можно и организовать указание файла из командной строки


    PHP:

    #include <stdio.h>
    #include <iostream>

    int main(int argccharargv[])
    {
        
    char text[1024];
        
    char Dest[256];
        
    char *ptr;

        
    FILE *fp;
        
    fp=fopen("file.txt""r");
        if(!
    fp)
            return 
    0//Ошибка открытия файла
        
    fgets(text1024fp);
        
    fclose(fp);
        if(
    strlen(text) < 1)
            return 
    0//Ошибка , ничего не считали с файла
        

        
    Dest[0]=0;
        
    ptr strstr(text".Наука");
        
    strncpy(Desttextptr-text);
        
    Dest[ptr-text] =0;  //так как strncpy не добавляет в конец строки симол конца строки \0
        
    strcat(Dest", она ");
        
    ptr strstr(text"приносит");
        
    strcat(Destptr);

        return 
    0;
    }


     
    #8 rudi, 16 Sep 2010
    Last edited: 16 Sep 2010
    2 people like this.
  9. aydar

    aydar Member

    Joined:
    12 Nov 2009
    Messages:
    259
    Likes Received:
    6
    Reputations:
    -2
    ну если у вас все хорошо компил и выдает правильный результат, спс вам
     
  10. rudi

    rudi Active Member

    Joined:
    3 Jun 2010
    Messages:
    487
    Likes Received:
    184
    Reputations:
    5
    а вот тот же код
    но указание файла из командной строки
    например так можно запустить из командной строки
    указав имя программы и имя файла
    program.exe file.txt

    PHP:
    #include <stdio.h>
    #include <iostream>

    int main(int argccharargv[])
    {

        
    char text[1024];
        
    char Dest[256];
        
    char *ptr;
        
    char FileName[1024];

        if(
    argc <2
        {
           
    puts("ERROR. No name of file");  //Ошибка, не задали имя файла
           
    return 0;
        }
        
    strcpy(FileNameargv[1]);


        
    FILE *fp;
        
    fp=fopen(FileName"r");
        if(!
    fp)
            return 
    0//Ошибка открытия файла
        
    fgets(text1024fp);
        
    fclose(fp);
        if(
    strlen(text) < 1)
            return 
    0//Ошибка , ничего не считали с файла
        

        
    Dest[0]=0;
        
    ptr strstr(text".Наука");
        
    strncpy(Desttextptr-text);
        
    Dest[ptr-text] =0;  //так как strncpy не добавляет в конец строки симол конца строки \0
        
    strcat(Dest", она ");
        
    ptr strstr(text"приносит");
        
    strcat(Destptr);

        return 
    0;
    }