Цитата(madd @ 2.6.2007, 09:19 ) | | До некоторого времени мне казалось,что "наибольшая по численному значению" это та группа, сумма цифр в которой больше[\b]. |
[B]madd, на всякий случай и такой вариант:
| Код | #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h>
#define ROWS 20 #define COLS 80
int main() { FILE* file; int sum, max_sum = 0, len, max_len = 0, i = -1; char buf[ROWS][COLS]; char str_val[COLS] = ""; char str_max_val[COLS] = "0"; char* p;
file = fopen("test.txt", "rt"); if(file == NULL) { puts("Unable to open file..\n"); exit(1); }
while(fgets(buf[++i], COLS, file) != NULL) { if(buf[i][strlen(buf[i]) - 1] == '\n') buf[i][strlen(buf[i]) - 1] = '\0'; puts(buf[i]); p = buf[i]; while(*p) { while(*p && !isdigit(*p)) p++; for(len = 0, sum = 0; *p && isdigit(*p); len++, p++) { str_val[len] = *p; sum += *p - '0'; }
if((len == max_len && sum > max_sum) || len > max_len) { max_len = len; max_sum = sum; strcpy(str_max_val, str_val); } } } puts(str_max_val); fclose(file);
return 0; } |
|