Calculate vowels consonants spaces numbers in a sentence

18 Ansichten (letzte 30 Tage)
clc
close all
cons=0;
vowels=0;
spaces=0;
num=0;
sp=0;
strg=input('Given string is : ','s');
l=strlength(strg);
for i=1:l
if strg(i)=='a' || strg(i)=='e' || strg(i)=='i' || strg(i)=='o' || strg(i)=='u' strg(i)=='A' || strg(i)=='E' || strg(i)=='I' || strg(i)=='O' || strg(i)=='U'
vowels=vowels+1;
elseif (strg(i)>= 'a' && strg(i)<='z') || (strg(i)>= 'A' && strg(i)<='Z')
cons=cons+1;
elseif strg(i)==' '
spaces=spaces+1;
elseif strg(i)>=0 && strg(i)<=9
num=num+1;
else
sp=sp+1;
end
end
fprintf('Number of vowels=%d',vowels);
fprintf('Number of consonants=%d',cons);
fprintf('Number of spaces=%d',spaces);
fprintf('Number of numbers=%d',num);
This is my code and I am getting an error at line 11 . Can anyone please help me out and check if there are any other errors?

Akzeptierte Antwort

Gurpreet Singh
Gurpreet Singh am 30 Jun. 2020
Hi Aagam
It is my understanding that you are trying to count the number of vowels, consonants, spaces, and numbers in a given string. However, you're getting the error.
This error is occurring because of line 11. There should be an OR (||) operator in-between " strg(i)=='u' " and " strg(i)=='A' ".
Please refer to the https://in.mathworks.com/help/matlab/logical-operations.html (logical operator) documentation for more information on how to use logical operators.

Weitere Antworten (2)

SC
SC am 30 Jun. 2020
in Matlab, array indices start from '1'
please edit (line:10)

Vashist Hegde
Vashist Hegde am 30 Jun. 2020

In MATLAB, indexing always starts from 1, change the indexing on line:10 to for i = 1:l

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Produkte


Version

R2015b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by