שפת c - תוכנה - HWzone פורומים
עבור לתוכן
  • צור חשבון

שפת c


אלון אדלשטיין
 Share

Recommended Posts

היי נתבקשנו למצוא פלינדרום בשפת c. כאשר נצטרך לקלוט מהמתמש שנימספרים באופן הבא: 

s יהיה המספר שהמתמש יכניס  (טיפוס מסוג int)  שלא ידוע לנו אורכו.

בנוסף לכך יוכנס מספר k שיקבע את אורך הפלינדרום הראשון במספר s.

לדוגמא: אם יוכנס מהמתמש המספר s= 13455431

ויוכנס k=2 אז הפלינדרום יהיה 55.

עבור k=3 הפלינדרום יהיה: לא קיים

עבור k=1 הפלינדרום יהיה 1.

עבור k=4 הפלינדרום יהיה 4554.

אשמח לעזרה יושב על זה שעותתתת ולא יודע איך להתחיל אפילוו 

קישור לתוכן
שתף באתרים אחרים

מצרף פתרון חלקי

שים לב לעשות בדיקת תקינות קלט

אם אתה נותן מחזורת בגודל אי זוגי גם K צריך לעשות אי זוגי

אם S באורך זוגי אז גם K צריך להיות זוגי

בהצלחה

 

 

#include <stdio.h>
#include <string.h>
void main(void)
{
	char s[255]="0";
	char output[255] = "0";
	int k,i,k_part2,j=0;
	printf("hi world...\nPlease enter string-");
#pragma warning(suppress : 4996)
	scanf("%s", &s);
	printf("\nPlease enter value for k-");
#pragma warning(suppress : 4996)
	scanf("%d", &k);
	k_part2 = k;
	if (k == 1)
		printf("\n%c", s[0]);
	else
	{
		int x = strlen(s) / 2;
		int iszogi = strlen(s) % 2;
		if (iszogi != 0)
		{
			output[k_part2 / 2+1] = s[x];
			for (i = 1;i <= k;i++)
			{
				
				if (s[x - i] == s[x + i]) {
					
				}
				else 
					break;

			}
			for (i = (x)-k / 2;i <= (x)+k / 2;i++) {
				printf("%c", s[i]);
			}
		}
		else
		{
			for (i = 0;i <= k;i++)
			{

				if (s[x - i] == s[x + i]) {
					
				}
				else
					break;
			}
			for (i = (x)-k/2+1-1;i < (x)+k / 2;i++) {
				printf("%c", s[i]);
			}
		}
		
	}
}

 

קישור לתוכן
שתף באתרים אחרים

ציטוט של אלון אדלשטיין

היי נתבקשנו למצוא פלינדרום בשפת c. כאשר נצטרך לקלוט מהמתמש שנימספרים באופן הבא: 

s יהיה המספר שהמתמש יכניס  (טיפוס מסוג int)  שלא ידוע לנו אורכו.

בנוסף לכך יוכנס מספר k שיקבע את אורך הפלינדרום הראשון במספר s.

לדוגמא: אם יוכנס מהמתמש המספר s= 13455431

ויוכנס k=2 אז הפלינדרום יהיה 55.

עבור k=3 הפלינדרום יהיה: לא קיים

עבור k=1 הפלינדרום יהיה 1.

עבור k=4 הפלינדרום יהיה 4554.

אשמח לעזרה יושב על זה שעותתתת ולא יודע איך להתחיל אפילוו 

יש פורום תכנות, זה פורום על תוכנות. תבקש מהמנהלים להעביר.

בטוח שC או אולי C++? אם אתה לא יודע - השתמשתם בcout או printf?

ציטוט של outlook

 



#include <stdio.h>
#include <string.h>
void main(void)
{
	char s[255]="0";
	char output[255] = "0";
	int k,i,k_part2,j=0;
	printf("hi world...\nPlease enter string-");
#pragma warning(suppress : 4996)
	scanf("%s", &s);
	printf("\nPlease enter value for k-");
#pragma warning(suppress : 4996)
	scanf("%d", &k);
	k_part2 = k;
	if (k == 1)
		printf("\n%c", s[0]);
	else
	{
		int x = strlen(s) / 2;
		int iszogi = strlen(s) % 2;
		if (iszogi != 0)
		{
			output[k_part2 / 2+1] = s[x];
			for (i = 1;i <= k;i++)
			{
				
				if (s[x - i] == s[x + i]) {
					
				}
				else 
					break;

			}
			for (i = (x)-k / 2;i <= (x)+k / 2;i++) {
				printf("%c", s[i]);
			}
		}
		else
		{
			for (i = 0;i <= k;i++)
			{

				if (s[x - i] == s[x + i]) {
					
				}
				else
					break;
			}
			for (i = (x)-k/2+1-1;i < (x)+k / 2;i++) {
				printf("%c", s[i]);
			}
		}
		
	}
}

 

ברצינות? iszogi? שמות משתנים בעברית? disable warnings? וחוץ מזה הוא אמר לקלוט לint ולא string. מספרי קסם. ירידת שורה אחרי scanf. אין ניקוי חוצץ. if ריק ואחרי else. אין אחידות בסגנון הקוד. כפילות קוד. קדימות אופרטורים שגויה (אין סוגריים כשצריך להיות). ואחרי כל זה, הקוד בכלל לא את מה שנדרש.

מזמן לא ראיתי קוד כזה.

קישור לתוכן
שתף באתרים אחרים

ציטוט של af db creid

יש פורום תכנות, זה פורום על תוכנות. תבקש מהמנהלים להעביר.

בטוח שC או אולי C++? אם אתה לא יודע - השתמשתם בcout או printf?

ברצינות? iszogi? שמות משתנים בעברית? disable warnings? וחוץ מזה הוא אמר לקלוט לint ולא string. מספרי קסם. ירידת שורה אחרי scanf. אין ניקוי חוצץ. if ריק ואחרי else. אין אחידות בסגנון הקוד. כפילות קוד. קדימות אופרטורים שגויה (אין סוגריים כשצריך להיות). ואחרי כל זה, הקוד בכלל לא מבצע את מה שנדרש.

מזמן לא ראיתי קוד כזה.

שמח לאתגר אותך טרול מקלדת

אני מנסה לעזור למישהו ומקבל ממך ריקושטים? 

תכתוב את הקוד המדהים שלך ותפנה אותו לכותב

לא ביקשתי ולא שאלתי לדעתך

 

קישור לתוכן
שתף באתרים אחרים

הצטרפ/י לדיון

בשלב זה תוכל/י להצטרף לדיון, ולאחר מכן להצטרף לקהילה שלנו. אם כבר יש לך חשבון אצלנו, אנא התחבר/י עכשיו על מנת להגיב תחת שם המשתמש שלך.
לתשומת לבך: התגובה תופיע לגולשים לאחר אישור של צוות הנהלת הפורומים.

אורח
הוסף תגובה

×   התוכן שהודבק הוא עם עיצוב.   הסר עיצוב

  Only 75 emoji are allowed.

×   הקישור שלך הוטמע אוטומטית.   הצג כקישור רגיל

×   התוכן הקודם שלך שוחזר אוטומטית.   נקה הכל

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
  • צור חדש...