מחרוזות C++
ישנו התרגיל הבא:
כתבו תוכנית הקולטת משפט (מילים עם רווחים בניהן) מהמשתמש ומדפיסה את המילה הארוכה ביותר במשפט. המשפט מורכב מהאותיות 'A'-'Z' , 'a'-'z' ורווחים בלבד.
חשבתי להתחיל את התרגיל כך:
#include <stdio.h>
#include <conio.h>
void main(){
char S[300];
unsigned i=0, max0,cnt=0;
printf("Your sentence please: ");
gets(S);
while(S){
if (S!==' '){
cnt++;
if(cnt>max)max=cnt;
}
s++
}
if (S==' '){
cnt=0
}
}
אני לא בטוחה שהכתיבה שלי נכונה,
מה שרציתי לעשות זה לעבור על המחרוזת,אם אני פוגשת אות להגדיל את ה CNT ב-1 אז שמגיעים לרווח ואז לאפס את הCNT
אם CNT גדול מהמקסימום אז המקסימום שווה לCNT.ככה אני מנסה למצוא את המילה הארוכה ביותר.
אני אשמח לקבל תיקונים לגבי הכתיבה.
אבל איך אחרי זה אני מדפיסה את המילה??
ישנו התרגיל הבא:
כתבו תוכנית הקולטת משפט (מילים עם רווחים בניהן) מהמשתמש ומדפיסה את המילה הארוכה ביותר במשפט. המשפט מורכב מהאותיות 'A'-'Z' , 'a'-'z' ורווחים בלבד.
חשבתי להתחיל את התרגיל כך:
#include <stdio.h>
#include <conio.h>
void main(){
char S[300];
unsigned i=0, max0,cnt=0;
printf("Your sentence please: ");
gets(S);
while(S){
if (S!==' '){
cnt++;
if(cnt>max)max=cnt;
}
s++
}
if (S==' '){
cnt=0
}
}
אני לא בטוחה שהכתיבה שלי נכונה,
מה שרציתי לעשות זה לעבור על המחרוזת,אם אני פוגשת אות להגדיל את ה CNT ב-1 אז שמגיעים לרווח ואז לאפס את הCNT
אם CNT גדול מהמקסימום אז המקסימום שווה לCNT.ככה אני מנסה למצוא את המילה הארוכה ביותר.
אני אשמח לקבל תיקונים לגבי הכתיבה.
אבל איך אחרי זה אני מדפיסה את המילה??