Ребят тут мне 1 знакомы попросил помочь ему сделать 2 задачи на C\C++, я его уже давно изучал ниче вспомнить не могу может вы поможете задачи детскии 1.прочитать из файла массив, элементы занести в вектор, добавить в вектор элементы , пересортировать вектор посчитать сумму всех положительных эелементов 2.текст в файле :"в науке есть радость.Наука приносит удовольствие" Используя функции обработки строковых и символьных переменных скорректировать текст на "в науке есть радость, она приносит удовольствие"
char text[]="в науке есть радость.Наука приносит удовольствие"; char Dest[256]; char *ptr; ptr = strstr(text, ".Наука"); strncpy(Dest, text, ptr-text); strcat(Dest, ", она "); ptr = strstr(text, "приносит"); strcat(Dest, ptr);
а можно полный код а ту у меня компилятор гавно bc 6, буду благодарен да и по первой задачи мне тут ее сделали но много ненужного в коде проверка файла и тп можете это все убрать (std: и сделать в вашем стиле
PHP: #include <stdio.h> #include <iostream> int main(int argc, char* argv[]) { char text[]="в науке есть радость.Наука приносит удовольствие"; char Dest[256]; char *ptr; Dest[0]=0; ptr = strstr(text, ".Наука"); strncpy(Dest, text, ptr-text); Dest[ptr-text] =0; //так как strncpy не добавляет в конец строки симол конца строки \0 strcat(Dest, ", она "); ptr = strstr(text, "приносит"); strcat(Dest, ptr); return 0; }
это Dest[ptr-text] =0; обязательный строка без нее будит работать? а можно считать это из файла? вы мою 2 задачу посмотрели?
Обязательно, без неё могут быть ошибки. Ты про вторую задачу спрашиваешь или про первую? Я std:: слабо понимаю
при условии, что файл file.txt лежит в одной директории с exe файлом но можно и организовать указание файла из командной строки PHP: #include <stdio.h> #include <iostream> int main(int argc, char* argv[]) { char text[1024]; char Dest[256]; char *ptr; FILE *fp; fp=fopen("file.txt", "r"); if(!fp) return 0; //Ошибка открытия файла fgets(text, 1024, fp); fclose(fp); if(strlen(text) < 1) return 0; //Ошибка , ничего не считали с файла Dest[0]=0; ptr = strstr(text, ".Наука"); strncpy(Dest, text, ptr-text); Dest[ptr-text] =0; //так как strncpy не добавляет в конец строки симол конца строки \0 strcat(Dest, ", она "); ptr = strstr(text, "приносит"); strcat(Dest, ptr); return 0; }
а вот тот же код но указание файла из командной строки например так можно запустить из командной строки указав имя программы и имя файла program.exe file.txt PHP: #include <stdio.h> #include <iostream> int main(int argc, char* argv[]) { char text[1024]; char Dest[256]; char *ptr; char FileName[1024]; if(argc <2) { puts("ERROR. No name of file"); //Ошибка, не задали имя файла return 0; } strcpy(FileName, argv[1]); FILE *fp; fp=fopen(FileName, "r"); if(!fp) return 0; //Ошибка открытия файла fgets(text, 1024, fp); fclose(fp); if(strlen(text) < 1) return 0; //Ошибка , ничего не считали с файла Dest[0]=0; ptr = strstr(text, ".Наука"); strncpy(Dest, text, ptr-text); Dest[ptr-text] =0; //так как strncpy не добавляет в конец строки симол конца строки \0 strcat(Dest, ", она "); ptr = strstr(text, "приносит"); strcat(Dest, ptr); return 0; }