Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 Аватар для dan_333
0 / 0 / 0
Регистрация: 03.05.2007
Сообщений: 7

Для тех кто работал в разных оболочках по разработке программ на C++

03.05.2007, 12:01. Показов 1667. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть программа написанная в Visual Studio 2005 и замечательно в ней работает, в тоже время перемещая программу в Dev-C++ ( соответственно убираю #include "stdafx.h" ), программа компилируется без ошибок, но обрабатывать информацию при этом не желает.
Вот код программы, при вводе предложения должен вывести слова в столбик в порядке (если смотреть сверху вниз), то убывания:
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
#include "stdafx.h"
#include "windows.h"
#include <stdio.h>
#include <conio.h>
#include <iostream>
using namespace std;
#include <math.h>
using std::cout; using std::cin; using std::endl;
 
int _tmain()
{
   SetConsoleCP(1251);  //для руссификации выбирите в свойствах консоли шрифт Lucida Concole
   SetConsoleOutputCP(1251);
   char pr[150];
   char vz[150];   //обьявление массивов
   vz[0]='\0';      //и переменных
   int raz;
   int l[25];
   char *sl;
   int i=0;
   int x=0;
   cout<<"Введите предложение, длинна которого не должна привышать 249 символов."<<endl;
   cout<<"Введите предложение: ";                              //строка не заканчивающаяся знаком припинания не является предложением!
   cin.getline (pr,150);  //вводим предложение
   strcat(vz,pr);
   raz=strlen(pr);  //определяем длинну предложения
   sl=strtok(pr," ");
   while (sl !=NULL)  //разбиваем предложения на слова
   {
      l[i]=strlen(sl);  //и определяем длинну каждого слова
      for(int q=0;q<l[i];q++)
      {
         if(sl[q]=='.'  || sl[q]=='!' || sl[q]=='?' || sl[q]==',' || sl[q]==';' || sl[q]==':')
         {
            l[i]=l[i]-1;  //с учетом знаков припенания и заносим в массив
         }
         
      }
      
      i++;
      sl=strtok(NULL," ");
      
   }
   int f=i;
   for(int i=0;i<=f;i++)
   {
      for(int j=i+1;j<=f;j++)
      {
         if (l[i]<=l[j])
         {
            x=l[i];      //сортируем
            l[i]=l[j];      //массив
            l[j]=x;      //длины
         }
      }
   }
   
int ln=-1;
int lnn=0;
char s1[150];
char s2[150];      //обьявление массивов
int j=0;           //и переменных
int z=0, c=0;
   while(j<f)   //указываем количество слов, которые должны быть выведены
   {
      for(int i=0; i<raz+1;i++)
      {
         
         if(vz[i]==' ' || vz[i]=='.'  || vz[i]=='!' || vz[i]=='?' || vz[i]==',' || vz[i]==';' || vz[i]==':' || vz[i]=='-') //находим конец каждого слова
         {
            if (z==0)
            {
            ln=i;    //и определяем его длинну
            z=1;
            }
            else
            {
            ln=lnn+ln;
            ln=i-1-ln;
            lnn=i-ln;   //а так же с какого элемента массива vz начинается слово
            
            }
            if(l[j]==ln)   //если длинна слова совпадает с длинной отсортированного массива
            {
               strncpy(s1,vz+lnn,ln);   //то заносим в массив слово которое, будет выведено
               if(j==0)
               {
               s1[ln]='\0';
               cout<<s1<<endl;
               strcpy(s2,s1);
               j++;
               }
               else   
               {
                  if(j>0)
                  {
                     s1[ln]='\0';
                     if(strcmp(s1,s2)==0 && c==0)  //проверяем не повторяется ли слово, т.к. длинны могут быть одинаковы
                     {
                        goto next;   //если слово одинаково, то ищим другое слово такой же длинны
                        c++;
                     }
                     else
                     {
                     cout<<s1<<endl;   //выводим на экран
                     strcpy(s2,s1);        //копируем в спомогательный массив для проверки на совпадение с последующим слово
                     j++;
                     c++;
                     }
                  }
               }
            }
         }
next:;         
      }   
      z=0;
      c=0;   //обнуляем
      ln=0;   //переменные
      lnn=0;
   }
   _getch();
   return 0;
}
Кто может поделиться советом как ее довести до ума, чтобы она работала и в других оболочках пишите. Буду рад всем предложениям. Заранее спасибо!!!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.05.2007, 12:01
Ответы с готовыми решениями:

Вопрос для тех, кто работал со структурой doc-файла через WinAPI
Ниже приведён кусок проги : // . . . . . . if (stat.type==STGTY_STREAM) //если обнаружили поток, то надо его открыть { ...

Модальность окон в разных графических оболочках
Выручайте. Есть мелкая тестовая программа на Qt из двух форм. Форма1 (на ней есть текстовое поле). Кликаем на текстовое поле -...

Кто-нибудь кто в Workflow работал?
Тут просто непонятки возникают. А посоветоватьсяне с кем. В основном проблемы, связанные с технической стороной. Так что, если кто...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.05.2007, 12:01
Помогаю со студенческими работами здесь

Для тех кто програмит в 1с
Есть обработка Посмотреть вложение vigruzka.mp3 - это обработка выгрузки данных для Казначейств, но данные выгружаются не корректно,...

JQ для чайников - для тех кто только вчера узнал о существовании JQ
Приветствую всех кто проявил интерес к данной теме. Работа заставляет изучать JQ. Вот и взялся, так сказать за изучение. Начинаю с...

Для тех кто программирует на Assembler
Создал тему для того, собственно кто каким программами пользуется совместно, то есть комплексно и почему именно две, три программы...

Для тех, кто знаком с typo3
На боевом сайте нужно кое-что подправить в html. 1. Лезу на FTP, правлю. На сайте 0 эмоций. 2. Говорю &quot;очистить все...

Для тех кто знает рогалики
Есть рогалики которые запускаются в окне (ADOM, DF), но графика, как в консоли ASCII-шная. Я пытался сделать так же в окне. Но вот в чем...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru