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

Перевести синтаксис программы с Delphi в C++, очень нужно - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Произведение элементов с чётными номерами http://www.cyberforum.ru/cpp-beginners/thread703071.html
В одномерном массиве, состоящем из н целых элементов, вычислить: 1) произведение элементов с чётными номерами, 2) сумму элементов массива, расположенных между первым и последним нулевыми элементами....
C++ Программа на языке С++ в среде Visual Studio 2010 Здравствуйте Вот было задание-написать программу которая подсчитывает число ненулевых битов целого числа и использует операцию сдвига. Вот текст программы: #include "stdafx.h" #include... http://www.cyberforum.ru/cpp-beginners/thread703058.html
C++ Сумма N целых положительных чисел
Доброго времени суток. Срочно нужна помощь в написании программы на С++, а именно-Написать программу которая вычисляет сумму N целых положительных чисел. количество вводится во время работы...
Определить, есть ли в заданном предложении цифры. И если есть, найти их сумму C++
Определить, есть ли в заданном предложении цифры. И если есть, найти их сумму.
C++ Нужно отправить данные письмом http://www.cyberforum.ru/cpp-beginners/thread703025.html
Не понимаю как мне прикрепить файл который создаётся в программе. #include <iostream> #include <fstream> #include <time.h> #include <stdio.h> #include <windows.h> #include <winsock.h>...
C++ Игра "Угадай слова" через массивы! Получил такое задание! Помогите разобраться! Хотя бы какие то наброски подскажите! Написать игру! Создать массив с 20 словами. В начале игры с помощью случайного генератора чисел выбрать одно.... подробнее

Показать сообщение отдельно
Gores
0 / 0 / 0
Регистрация: 29.02.2012
Сообщений: 30

Перевести синтаксис программы с Delphi в C++, очень нужно - C++

20.11.2012, 12:29. Просмотров 484. Ответов 1
Метки (Все метки)

Даны два текстовых файла f1 и f2. Файл f1 содержит произвольный текст. Слова в тексте разделены пробелами и знаками препинания. Файл f2 содержит не более 30 слов, которые разделены запятыми. Эти слова образуют пары: каждое второе является синонимом первого. Заменить в файле f1 те слова, которые можно, их синонимами. Результат поместить в новый файл




Листинг:


Delphi
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
Unit ZADACH303;
Interface
Implementation
Begin
 writeln('Даны два текстовых файла f1 и f2. Файл f1 содержит произвольный текст. Слова в тексте разделены пробелами и знаками препинания. Файл f2 содержит не более 30 слов, которые разделены запятыми. Эти слова образуют пары: каждое второе является синонимом первого. Заменить в файле f1 те слова, которые можно, их синонимами. Результат поместить в новый файл. ');
End.
 
Program zadach303;
 
Uses zadach303.pas; {* Эту строку можно удалить *}
Uses crt; {* Вызов внешних функций *}
Const {* Постоянные значения *}
  pr = [' ', '.', ', ', '?', '!', ':', '(', ')',#9,#10,#13];
Var {* В работе нам потребуются переменные: *}
  s     : char;
  f1    : text;
  f2    : text;
  f3    : text;
  slovo : String;
  sin1  : Array [1..15] Of String;
  sin2  : Array [1..15] Of String;
  i     : integer;
  k     : integer;
Begin
  clrscr; {* Стираем всё с экрана *}
  assign(f1, 'c:f1.txt'); {* Подключение к файлу 'c:f1.txt' через переменную f1 *}
  reset(f1); {* Открытие файла для чтения *}
  assign(f2, 'c:f2.txt'); {* Подключение к файлу 'c:f2.txt' через переменную f2 *}
  reset(f2); {* Открытие файла для чтения *}
  assign(f3, 'c:f3.txt'); {* Подключение к файлу 'c:f3.txt' через переменную f3 *}
  rewrite(f3); {* Открытие файла для записи *}
  i := 1;
  While Not(EOF(f2)) Do
  Begin
    read(f2, s);
    If ord(s) In [128..143] Then
      s := chr(ord(s) + 32);
    If ord(s) In [144..159] Then
      s := chr(ord(s) + 80);
    If Not(s In pr) And Not EOF(f2) Then
      slovo := slovo + s
    Else Begin
      If slovo'' Then
      Begin
        If (i Mod 2)  0 Then
          sin1[round(i / 2 + 0.5)] := slovo
        Else sin2[round(i / 2)] := slovo;
          i := i + 1;
        slovo := '';
      End;
    
  End;
  
End;
While Not(EOF(f1)) Do
Begin
  read(f1, s);
  If ord(s) In [128..143] Then
    s := chr(ord(s) + 32);
  If ord(s) In [144..159] Then
    s := chr(ord(s) + 80);
  If Not(s In pr) And Not EOF(f1) Then
    slovo := slovo + s
  Else Begin
    For i := 1 To 15 Do {* Цикл для i => [1 .. 15] *}
    Begin
      If slovo = sin1[i] Then
      Begin
        slovo := sin2[i];
        k := 1;
      End;
      Else k := 0;
        If (slovo = sin2[i]) And (k = 0) Then
          slovo := sin1[i];
    End;
  write(f3, slovo, s);
  slovo := '';
End;
 
End;
close(f1); {* Файл f1 будет закрыт *}
close(f2); {* Закрыть файл f2 *}
close(f3); {* Файл f3 будет закрыт *}
End.....
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru