Дан массив из n слов произвольной длины (длина слова не превышает 80 символов). В качестве символов могут использоваться только арабские цифры. Удалить из массива слово, содержащее наибольшее количество четных цифр.
Прошу прощения, только сейчас увидел условие на четность (не внимательно прочитал задние) Программа будет выглядеть так:
#include<stdio.h><br #include<cstring><br #include<stdlib.h><br int main() <br {<br // number of words in array<br unsigned n;<br printf("Input n, please: ");<br scanf("%d", &n);<br <br // array (n words of max. 80 symbols)<br char arr[1024][80];<br <br // input a array and find word with max count of even items<br unsigned maxL = 0;<br unsigned maxIdx = 0;<br for (unsigned x = 0; x < n; x++) {<br printf("Input word #%d, please: ", x + 1);<br scanf("%s", arr[x]);<br <br unsigned l = 0;<br for (unsigned y = 0; y < strlen(arr[x]); y++) {<br unsigned v = arr[x][y] — 48;<br if (!(v & 1))<br l++;<br }<br if (l > maxL) {<br maxL = l;<br maxIdx = x;<br }<br }<br <br // remove item with index maxIdx (shift a array up)<br for (unsigned x = maxIdx; x < (n — 1); x++)<br strcpy(arr[x], arr[x + 1]);<br <br // decrease size<br <br n--;<br <br // print a array<br printf("result arraay:\n");<br for (unsigned x = 0; x < n; x++)<br printf("item #%d = %s\n", x + 1, arr[x]);<br <br // pause<br printf("press any key, then ENTER for exit...");<br char a[100];<br scanf("%s", a);<br <br return 0;<br }
Добрый день. Меня заинтересовал ваш ответ "Прошу прощения, только сейчас увидел условие на четность (не внимательно прочитал задние) Программа ..." на вопрос http://www.liveexpert.org/topic/view/538870-6-dan-massiv-iz-n. Можно с вами обсудить этот ответ?
int main()
{
// number of words in array
unsigned n;
printf(«Input n, please: „);
scanf(“%d», &n);
// array (n words of max. 80 symbols)
char arr[n][80];
// input a array and wind word with max length
unsigned maxL = 0;
unsigned maxIdx = 0;
for (unsigned x = 0; x < n; x++) {
printf(«Input word #%d, please: », x + 1);
scanf("%s", arr[x]);
if (strlen(arr[x]) >= maxL) {
maxL = strlen(arr[x]);
maxIdx = x;
}
}
// remove item with index maxIdx (shift a array up)
for (unsigned x = maxIdx; x < (n — 1); x++)
strcpy(arr[x], arr[x + 1]);
// decrease size
n--;
// print a array
printf(«result arraay:\n»);
for (unsigned x = 0; x < n; x++)
printf(«item #%d = %s\n», x + 1, arr[x]);
return 0;
}
Добрый день. Меня заинтересовал ваш ответ "#include<stdio.h>
#include<cstring>
int main()
{
// number of words in array
uns..." на вопрос http://www.liveexpert.org/topic/view/538870-6-dan-massiv-iz-n. Можно с вами обсудить этот ответ?