Форум программистов, компьютерный форум CyberForum.ru

Дан текстовый файл ( определить слово с наибольшим количеством букв и вставить его на начало и конец строки) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Дискретное преобразование Фурье http://www.cyberforum.ru/cpp-beginners/thread859110.html
Добрый день! Общем задание (2 картинки). Я знаю, не сложно. Вот код, который я написал. #include <iostream> #include <cmath> #include <complex> #include <iomanip> using namespace std; const double PI = 3.14159265; void out_func_value (double f_arr,const int Ngurnal,const double T,const double delta);
C++ Класс триугольников Уважемые юзеры) Прошу помощи при написании проги: Нужно создать класс триугольников. Атрибуты задать на свое усмотрение. Зарание благодарен. http://www.cyberforum.ru/cpp-beginners/thread859085.html
C++ Нужно перепрыгнуть строку
Проблема такая, есть скрипт он должен открывать клиент игры, а за место этого он открывает браузер. #ifdef _KOR_WEBLAUNCHER_ #ifdef _GMTOOL_ if( lpCmdLine ) { FILE* fpLog = NULL; fpLog = fopen( "./ClientStartLog.txt", "a+" ); if( fpLog ) {
Найти среднее арифметическое элементов для каждой строки заданного двухмерного массива C++
Найти среднее арифметическое элементов для каждой строки заданного двухмерного массива. Значения элементов массива ввести с клавиатуры
C++ Написать программу формировании и вывода массива размером 3х6 http://www.cyberforum.ru/cpp-beginners/thread858992.html
Напишите программу формировании и вывода массива размером 3х6, каждые три последовательных элемента в строке которого составлены по следующему правилу: 1-й - равен квадрату суммы текущих индексов; 2-й - равен случайному числу; 3-й - равен полусумме двух предыдущих элементов
C++ выбор ответа В двухмерном массиве размером n x m хранятся результаты опроса n человек на m вопросов. Ответами на вопросы являются слова «Да», «Нет», «не знаю». Написать программу, указывающую для каждого вопроса проценты ответов «Да», «Нет», «не знаю». подробнее

Показать сообщение отдельно
Pomoshnik
5 / 5 / 0
Регистрация: 16.04.2013
Сообщений: 16
09.05.2013, 01:53     Дан текстовый файл ( определить слово с наибольшим количеством букв и вставить его на начало и конец строки)
Дан текстовый файл определить слово с наибольшим количеством букв и вставить его на начало и конец строки.
Вот мой код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#include <iostream>
#include <stdio.h>
char* pidrahui(char*,int);
using namespace std;
 
int main()
{
    FILE* f;
    FILE* f1;
    f=fopen("1.txt","r");
    f1=fopen("2.txt","w");
    char *s=new char[500];
    if(f != NULL && f1 != NULL)
        {
            bool j = true;
            while(j)
                {
                    fgets(s,500,f);
                    if(feof(f))
                        j = false;
                    s = pidrahui(s,strlen(s));
                    fputs(s,f1);
                    fputs("\n",f1);
                }
            fclose(f);
            fclose(f1);
        }
    system("pause");
}
 
 
char* pidrahui(char* s,int n)
{ 
     int k=0,z=0,count,count1;
bool b=true,b1=false;
      for(int i=0;i<n;i++)
    if(isspace(s[i])&&!isspace(s[i+1]))
     k++;
    int * m=new int[k+1];
      for(int i=0;i<n;i++)
        if(isspace(s[i])&&!isspace(s[i+1]))
          m[z++]=i;
          m[z]=n;
        int *m1 = new int [z+1];
        m1[0]=m[0];
        int max=m1[0];
          for(int i = 1;i<=z+1;i++)
               {m1[i]=m[i]-m[i-1]-1;
                     if(m1[i]>max)
                     {max=m1[i];
                      count = m[i];
                      count1 = m[i-1];
                      }
                      }
                      if(m1[0]==max)
                       {
                         count = m[0];
                         count1 = 0;
                         }
                   
                    char* s1 = new char [n+count - count1+1];
                    int o=0,p=1;
                    s1[1] = s1[strlen(s1)];
                     char* s2 = new char [n+count - count1+1];
                     s2[0]=' ';
                     s2[1] = s2[strlen(s2)];
                   
                     for(int i = count1+1-(bool)(count1==0);i<count;i++)
                      {s1[o++]=s[i];
                       s2[p++]=s1[o-1]; 
          
                      } 
                        s1[o]=' ';
                        s1[o+1] = s1[strlen(s1)];
                        s2[o+1] = s2[strlen(s2)];
                        s[strlen(s)-1] = s[strlen(s)];
                        strcat(s1,s);
                        strcat(s1,s2);    
                 return s1;         
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 08:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru