Вопрос по С++

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by masterlights, 5 Dec 2011.

  1. masterlights

    masterlights New Member

    Joined:
    20 Oct 2011
    Messages:
    41
    Likes Received:
    0
    Reputations:
    0
    Часть кода
    Code:
    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!='?')
    			{[COLOR=Red]что написать тут[/COLOR]}
    		}
    		
    	}
    подскажите что надо использовать, что бы при нахождении в тексте букв к аналогичному букве значению прибавлялось +1

    Например, если ввести текст "привет мир", то должно получится
    п=1, р=2, и=2, в=1, е=1, т=1, м=1;
     
  2. bigdick

    bigdick New Member

    Joined:
    16 Nov 2011
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
  3. sl1k

    sl1k Member

    Joined:
    31 Jul 2009
    Messages:
    106
    Likes Received:
    26
    Reputations:
    5
    Ну вообщето программу можно было в 3-5 строк написать ...
    ну для твоей нужно наверное так
    Code:
    switch(ch)
    {
    case 'a' : a++; break;
    case 'b' : b++; break;
    ..................................
    ..................................
    ..................................
    ..................................
    }
    
     
  4. masterlights

    masterlights New Member

    Joined:
    20 Oct 2011
    Messages:
    41
    Likes Received:
    0
    Reputations:
    0
    Уже сам разобрался и написал)))

    Code:
    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(filename);
    	while(fin.get(ch))
    	{
    				if(ch!=' '||ch!='\n'||ch!=','||ch!='!'||ch!='?')
    				{
    					int tmp = ch;
    					int val = tmp -'a';
    					num[val] = num[val] + 1;
    				}
    			
    	}
    	for(int i = 0; i < 26; i++)
    			cout<<num[i]<<' ';
    	cout<<'\n';
    
    	system("pause");
    }
     
    #4 masterlights, 6 Dec 2011
    Last edited: 6 Dec 2011