1 / 1 / 0
Регистрация: 02.04.2015
Сообщений: 7
1

Строки MS Visual 6

04.04.2015, 17:36. Показов 422. Ответов 4
Метки нет (Все метки)

Нужна помощь в записи кода программы с паскаль в С++ (компилятор с MS Visual C++ 6.0)
Собственно сам код на паскале
Кликните здесь для просмотра всего текста
Pascal
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
uses crt;
var s,n:byte;
     MyObject:string;
    
begin 
 clrscr;
 
 writeln('Программа для удаления лишних пробелов с текста');
 write('Введите длину строки: ');
 readln(n);
 
 writeln('Введите текст не более ',n,' символов: ');
 MyObject:=char(n);
 readln(MyObject);
 
 s:=1;
 while MyObject[s]=' ' do delete(MyObject,s,1);
 
 s:=length(MyObject);
 while MyObject[s]=' ' do begin delete(MyObject,s,1); s:=s-1; end;
 
 s:=1;
 while s<=length(MyObject) do
 begin
   if MyObject[s]=' 'then
   if MyObject[s-1]=' ' then begin delete(MyObject,s,1);  s:=s-1; end; 
   s:=s+1;
 end; 
 
 writeln;
 writeln('Строка после обработки');
 writeln(MyObject);
 
 readkey;
end.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.04.2015, 17:36
Ответы с готовыми решениями:

Строки на Visual С++
Составить частотный словарь вводимого текста (несколько строк) тоесть распечатать строку следующим...

Строки Visual C++
Помогите в решении задачи, пожалуйста: В литерном массиве строк содержится текст на русском...

Какую среду программирования лучше выбрать для обучения языку C++ ? Visual Studio,Visual Basic или Visual C++?
И напишите,чем рекомендуемая вами среда программирования лучше других? Насколько я понял из...

Visual C++ строки и файлы
Написать программу, которая считывает текст из файла и выводит на экран только цитаты, то есть...

4
Модератор
Эксперт С++
12098 / 9771 / 5908
Регистрация: 18.12.2011
Сообщений: 26,229
04.04.2015, 18:19 2
Почему такой старый компилятор?
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
#include <iostream.h>
#include <locale.h>
#include <string.h>  // не совсем уверен, что здесь для VC 6
//using namespace std;
int main()
{
   setlocale(LC_ALL,"Rus");
   string MyObject;
    
   cout<<"Программа для удаления лишних пробелов с текста\n";
   cout<<"Введите текст";
   getline(cin,MyObject);
 
   while (*MyObject.begin()==' ')
       MyObject.erase(MyObject.begin(),MyObject.begin()+1);
 
   while (*(MyObject.end()-1)==' ')
       MyObject.erase(MyObject.end()-1,MyObject.end());
 
   for(string::iterator p=MyObject.begin()+1;p!=MyObject.end();)
     if (*(p-1)==' ' && *p==' ')
       MyObject.erase(p,p+1);
     else
         ++p;
 
  cout<<"Строка после обработки\n'"<<MyObject<<"'"<<endl;
  system("pause");
  return 0;
}
0
1 / 1 / 0
Регистрация: 02.04.2015
Сообщений: 7
04.04.2015, 19:16  [ТС] 3
Поди пойми этих преподавателей. При таком синтаксисе компилятор ругается на тип данных string, со всеми вытекающими последствиями: erase и begin нельзя применить в MyObject
0
Модератор
Эксперт С++
12098 / 9771 / 5908
Регистрация: 18.12.2011
Сообщений: 26,229
04.04.2015, 19:49 4
Вот Вам без string
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
#include <iostream.h>
#include <locale.h>
using namespace std;
int main()
{
   setlocale(LC_ALL,"Rus");
   char MyObject[100],res[100];
    
   cout<<"Программа для удаления лишних пробелов с текста\n";
   cout<<"Введите текст";
   cin.getline(MyObject,100);
   int i=0;
   while(MyObject[i++]==' ')
       ;
   int j=0;
   for(;MyObject[i];i++)
   {
     if (MyObject[i]!=' ' || MyObject[i+1]!=' ')
       res[j++]=MyObject[i];
   }
   if (res[j-1]==' ')
      j--;
  res[j]=0;
  cout<<"Строка после обработки\n'"<<res<<"'"<<endl;
  system("pause");
  return 0;
}
0
1 / 1 / 0
Регистрация: 02.04.2015
Сообщений: 7
04.04.2015, 20:17  [ТС] 5
using namespace std; - компилятор ругается, пришлось убрать. Все работает и без локализации std
while(MyObject[i++]==' '); - пришлось переделать в while(MyObject[i]==' ') i++;(удалял лишние символы, но оставлял в начале 1 пробел)
system("pause"); - ругается на "system" . Заменил на cin.get();

Большое спасибо за помощь

p.s. старые компиляторы таки кому-то сломают мозг ..... рано или поздно )
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.04.2015, 20:17
Помогаю со студенческими работами здесь

Строки(консоль) Visual C++
Дана строка символов, состоящая из произвольного текста на англий-ском языке, слова разделены...

Перено строки на Visual basic
Нужно написать макрос для Word, чтобы в строке помещалось максимум 64 символа, остальные идут...

Ограничение размера строки в visual studio
при выводе массивов в файл в других компиляторах длинна строк не ограничена, а вот в visual studio...

Visual Studio не видит аргументы командной строки
Внезапно полностью перестала VS видеть аргументы командной строки, которые подаю ей через &quot;Проект...

Visual C# Как скопировать найтенный текст из строки
Я хочу отредактировать файл настроек BackgroundColor F2EFE9 TextColor black...

Visual Studio не дает подсказок и переносит курсор в начало строки
После переустановки VS перестал давать подсказки и переносит курсос в начало строки. Добавлено...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru