Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Помогите переделать прогу с pascal-я на C++


Рекомендуемые сообщения

Суть программы:

Есть некоторый текстовый файл, который содержит строки. Написать программу для подсчета числа строк, которые:

1) начинаються и оканчиваються одной и той же литерой;

2) состоят из одинаковых литер.

Код программы на паскале:

program ex1;uses crt;const space: char = ' ';var t: text;s: string;eq1_count, eq_all_count, k: integer;beginclrscr;eq1_count :=0;eq_all_count:=0;assign(t,'file.txt');reset(t); while not eof(t) do begin readln(t, s); while (s[1] = space) and (length(s) > 1 ) do delete(s,1,1);while (s[length(s)] = space) and (length(s) > 1) do delete(s, length(s), 1);if s = '' then continue;if s[1] = s[length(s)] then inc(eq1_count);k:=1;while (s[1]=s[k]) and (k<length(s)) do inc(k);if (k=length(s)) and (k>1) then inc(eq_all_count);end;writeln('4uslo strok,na4unayushihsya i zakan4uvayushihsya odnoy i toy ge literoy = ', eq1_count);writeln;writeln('4uslo strok, sostoyashih iz odinakovih liter = ', eq_all_count);repeat until keypressedend.

Я бы был признател тому кто смог бы мне переделат это прогу на язык С++.

заранее благодарю.

Ссылка на комментарий
Поделиться на другие сайты

#include <iostream.h>#include <fstream.h>int main() { fstream f; const maxSize = 1024; int len, count_one = 0, count_two = 0; char inBuf[maxSize]; f.open("test_01.txt", ios::in); while(f.getline(inBuf, maxSize)) {   if(( (len = f.gcount() - 1) > 1) && (inBuf[0] == inBuf[len - 1])) ++count_one;   int T = 1;   for(int i = 1; i < len; ++i)     if(inBuf[0] == inBuf[i]) T += 1;   count_two += ((len > 1) && (T == len)) ? 1 : 0; } cout << " count_one = " << count_one <<         " count_two = " << count_two << endl; f.close(); return 0;}

Помогите найти глюк?

Когда запускаю прогу то почему то она нече не выводить?

Ссылка на комментарий
Поделиться на другие сайты

Уверен что ничто не виводить? В проге на Pascal вы добавили в конце repeat until keypressed чтоб не закрывалось окно, но в C++ коде не добавили ничто чтоб окно не закрылось. Попробуйте запустить программу из командной строке или добавте

int tmp; cin >> tmp;

в конце.

Ссылка на комментарий
Поделиться на другие сайты

Да нефига....

вообще то вместо репит антил кейпресд на сях пишеться :

#include <conio.h>

....

....

getch();

Или это то что мой компилятор глючит либо ошибка в самом коде....

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...