Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.12.2011, 22:25   #1
masterlightsmoke
Пользователь
 
Регистрация: 02.11.2011
Сообщений: 13
Восклицание при нахождении в тексте букв к аналогичному букве значению прибавлялось +1

Часть кода
Код:
char text[256],filename[80],ch, en[]="abcdefghijklmnopqrstuvwxyz";
	int a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;
a=b=c=d=e=f=g=h=i=j=k=l=m=n=o=p=q=r=s=t=u=v=w=x=y=z=0;

	cout<<"file name:\n";
	cin>>filename;
	cin.ignore(1,'\n');
	ifstream fin(filename);
	while(fin.get(ch))
	{
		for(i=0;i<27,i++)
		{
                         if(ch!=' '||ch!='\n'||ch!=','||ch!='!'||ch!='?')
			{что написать тут}
		}
		
	}
подскажите что надо использовать, что бы при нахождении в тексте букв к аналогичному букве значению прибавлялось +1

Например, если ввести текст "привет мир", то должно получится
п=1, р=2, и=2, в=1, е=1, т=1, м=1;
masterlightsmoke вне форума Ответить с цитированием
Старый 06.12.2011, 00:30   #2
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

Цитата:
Сообщение от masterlightsmoke Посмотреть сообщение
int a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r ,s,t,u,v,w,x,y,z;

А если бы вам нужно было посчитать не буквы, а числа от 1 до 2 млн., вы бы объявили 2 млн. переменных?
Используйте массив!
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума Ответить с цитированием
Старый 06.12.2011, 01:31   #3
masterlightsmoke
Пользователь
 
Регистрация: 02.11.2011
Сообщений: 13
По умолчанию

Да тупанул жутко)))
просто не знал с чего начать, учусь)

вот написал, кому надо тырьте))

Код:
/*
Ввести строку , вывести только слова, заканчивающиеся на гласную букву.
*/

#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <stdlib.h>
using namespace std;

#define ogran ",.!? ;"

void main()
{
	char text[256],filename[80],ch,en[]="abcdefghijklmnopqrstuvwxyz";
	int num[26];
	 
	 for(int i = 0; i < 26; i++)
		 num[i] = 0;
	 
	//cout<<"file name:\n";
	//cin>>filename;
	//cin.ignore(1,'\n');
	ifstream fin("text.txt");
	while(fin.get(ch))
	{
		if(ch!=' '||ch!='\n'||ch!=','||ch!='!'||ch!='?')
			{
				int tmp = ch;
				int val = tmp -'a';
				num[val] = num[val] + 1;
			}
	}
	ofstream fout("report.txt");
	{
	for(int i = 0; i < 26; i++)
			fout<<num[i]<<' ';
	}
	system("pause");
}
подскажите как открыть файл в папке
пример:
1) что бы открывало из корневой папки (...\test\text.txt)
2) что бы открывала из указанной папки (D:\\VS\test\text.txt)

Последний раз редактировалось masterlightsmoke; 06.12.2011 в 01:38.
masterlightsmoke вне форума Ответить с цитированием
Старый 06.12.2011, 03:02   #4
Сtrl
C++
Форумчанин
 
Аватар для Сtrl
 
Регистрация: 27.03.2011
Сообщений: 803
По умолчанию

Код:
std::string text = "Hello, world!";
std::map<char, int> number_map;
for (std::string::const_iterator iter = text.begin(); iter != text.end(); ++iter)
  number_map[*iter]++;
for (std::map<char, int>::const_iterator iter = number_map.begin(); iter != number_map.end(); ++ iter)
  std::cout << iter->first << '\t' << iter->second << std::endl;
Ищете информацию по C++?
cplusplus.com
Сtrl вне форума Ответить с цитированием
Старый 06.12.2011, 11:30   #5
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

Цитата:
Сообщение от masterlightsmoke Посмотреть сообщение
подскажите как открыть файл в папке
пример:
1) что бы открывало из корневой папки (...\test\text.txt)
2) что бы открывала из указанной папки (D:\\VS\test\text.txt)
Читайте про потоки ввода/вывода
http://www.cplusplus.com/reference/iostream/ofstream/

Пути можно использовать как абсолютные, так и относительные. В случаи относительного пути корнем будет считаться место, откуда запущена программа. Так же учтите, что левый слеш нужно экранировать, т.е. вместо
"\test\text.txt" нужно "\\test\\text.txt"
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Количество букв в тексте. andrey4eg Помощь студентам 1 10.04.2011 14:27
Подсчитать количество букв "А" в предложении и общее количество букв.В тексте из файла несколько строк. kvas91 Общие вопросы C/C++ 3 14.11.2010 16:51
при нахождении символа перенос на новую строку MixanM Общие вопросы Delphi 11 09.06.2009 09:15
Уменьшения букв в тексте igordeg Паскаль, Turbo Pascal, PascalABC.NET 1 07.11.2008 10:32