idang19888
New member
שאלה בשפת C
*מחרוזות* כתבתי תוכנית אני רוצה שישווה בין המחרוזת לתת מחרוזת ויציג לי בסוף באותיות גדולות את האותיות המשותפות
למשל : the mouse is useful
use
the moUSE is USEful
זו התוכנית:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void replaceSubstring(char *string, char * substring);
void main()
{
char string[100], substring = ' ';
int i = 0;
while (string != 0 && substring != 0)
{
replaceSubstring(&string, &substring);
}
if (&string == 0 && &substring == 0)
printf("finish\n");
}
void replaceSubstring(char *string, char * substring)
{
int i = 0;
char *cycle;
printf("Enter Text: ");
gets(string);
printf("Enter substring: ");
gets(substring);
for (i = 0; string != 0; i++)
{
cycle = strstr(string, substring);
}
for (i = 0; string != 0; i++)
{
if (*cycle == string)
if (string >= 97 && string <= 122)
{
string = string - 32;
cycle++;
}
}
puts(string);
}
בקלט אני מקבל רק
the moUSE is useful
איך אני גורם לתוכנית שוב לבדוק את התנאי הזה? ניסתי בכמה דרכים ללא הצלחה.
*מחרוזות* כתבתי תוכנית אני רוצה שישווה בין המחרוזת לתת מחרוזת ויציג לי בסוף באותיות גדולות את האותיות המשותפות
למשל : the mouse is useful
use
the moUSE is USEful
זו התוכנית:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void replaceSubstring(char *string, char * substring);
void main()
{
char string[100], substring = ' ';
int i = 0;
while (string != 0 && substring != 0)
{
replaceSubstring(&string, &substring);
}
if (&string == 0 && &substring == 0)
printf("finish\n");
}
void replaceSubstring(char *string, char * substring)
{
int i = 0;
char *cycle;
printf("Enter Text: ");
gets(string);
printf("Enter substring: ");
gets(substring);
for (i = 0; string != 0; i++)
{
cycle = strstr(string, substring);
}
for (i = 0; string != 0; i++)
{
if (*cycle == string)
if (string >= 97 && string <= 122)
{
string = string - 32;
cycle++;
}
}
puts(string);
}
בקלט אני מקבל רק
the moUSE is useful
איך אני גורם לתוכנית שוב לבדוק את התנאי הזה? ניסתי בכמה דרכים ללא הצלחה.