Printing a sentence using one random element from each cell array?
    6 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
    Nora
 am 20 Okt. 2013
  
    
    
    
    
    Kommentiert: Walter Roberson
      
      
 am 20 Okt. 2013
            Question: Write a script that will initalize cell arrays and print sentences using one random element from each cell array (ex. 'Harry loves cats').
What I have so far is this:
names = {'Harry', 'Sarah', 'Sue'}; 
verbs = {'loves', 'likes'}; 
nouns = {'cats', 'dogs', 'zebras'}; 
for i=1:length(names)
fprintf('%s\n',i,names{i})
end
However, this only gives me the 'names' array.
How can I print a sentence using one random element from each cell array?
0 Kommentare
Akzeptierte Antwort
Weitere Antworten (1)
  Image Analyst
      
      
 am 20 Okt. 2013
        
      Bearbeitet: Image Analyst
      
      
 am 20 Okt. 2013
  
      Homework Hint: If your cells start out as sentences like 'Harry loves cats', use regexp() or strtok() to get the individual words, or simpler and better yet, use allwords: http://www.mathworks.com/matlabcentral/fileexchange/27184-allwords
But if your words are already extracted out like you showed in your test code, then just get 3 random integers using randi() and print all of them, not just names like you did
fprintf('%s %s %s\n', names{rand1}, verbs{rand2}, nouns{rand3});
2 Kommentare
Siehe auch
Kategorien
				Mehr zu Characters and Strings finden Sie in Help Center und File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


