Перепроверил, все правильно, а результат то верный, то неверный.
#include <iostream>
#include <string.h>
#include <stdio.h>
#include <cstdio>
using namespace std;
int main()
{
char str [200];
printf ("string? ");
fgets (str, 201, stdin);
int s, max;
s=0; max=0;
for (int i=0; ((i<200) && str!=0); i++)
if (str!=' ') {s++;}
else if (max
Другие языки программирования и технологии
Поиск кол-ва символов наибольшего числа в строке
fgets (str, 201, stdin);
В конце полученной строки есть символ '\n', это надо анализировать.
Похоже, тут просто ищется максимальная длина слова. Причем тогда тут числа (Поиск кол-ва символов наибольшего числа в строке) ?
> Поиск кол-ва символов наибольшего числа в строке
Чего-чего? Напиши ка лучше полностью текст задания.
Короче, подправил твою программу, как мог:
#include <stdio.h>
int main() {
char str [201];
int s = 0, mx = 0;
printf ("string? ");
fgets (str, 201, stdin);
for (int c = 0; str[c] != '\0' ; ++c) {
if (str[c] != ' ' && str[c] != '\n') {
s++;
} else {
if (mx < s) mx = s;
s = 0;
}
}
printf ("result: %d\n", mx);
}
Вывод самого длинного слова:
#include <stdio.h>
int main() {
char str [202];
int s = 0, mx = 0, in = 0, bc = 0, mc = 0;
printf ("string? ");
fgets (str, 202, stdin);
for (int c = 0; str[c] != '\0' ; ++c) {
if (!in && str[c] != ' ' && str[c] != '\n') {
in = s = 1;
bc = c;
} else if (in && (str[c] == ' ' || str[c] == '\n')) {
if (s > mx) {
mx = s;
mc = bc;
}
s = 0;
in = 0;
} else {
++s;
}
}
printf("result: %d, ", mx);
for (int c = mc; c <= mc + mx; ++c) printf("%c", str[c]);
putchar('\n');
}
В конце полученной строки есть символ '\n', это надо анализировать.
Похоже, тут просто ищется максимальная длина слова. Причем тогда тут числа (Поиск кол-ва символов наибольшего числа в строке) ?
> Поиск кол-ва символов наибольшего числа в строке
Чего-чего? Напиши ка лучше полностью текст задания.
Короче, подправил твою программу, как мог:
#include <stdio.h>
int main() {
char str [201];
int s = 0, mx = 0;
printf ("string? ");
fgets (str, 201, stdin);
for (int c = 0; str[c] != '\0' ; ++c) {
if (str[c] != ' ' && str[c] != '\n') {
s++;
} else {
if (mx < s) mx = s;
s = 0;
}
}
printf ("result: %d\n", mx);
}
Вывод самого длинного слова:
#include <stdio.h>
int main() {
char str [202];
int s = 0, mx = 0, in = 0, bc = 0, mc = 0;
printf ("string? ");
fgets (str, 202, stdin);
for (int c = 0; str[c] != '\0' ; ++c) {
if (!in && str[c] != ' ' && str[c] != '\n') {
in = s = 1;
bc = c;
} else if (in && (str[c] == ' ' || str[c] == '\n')) {
if (s > mx) {
mx = s;
mc = bc;
}
s = 0;
in = 0;
} else {
++s;
}
}
printf("result: %d, ", mx);
for (int c = mc; c <= mc + mx; ++c) printf("%c", str[c]);
putchar('\n');
}
Похожие вопросы
- Помогите пожалуйста! Как Разработать алгоритм нахождения суммы и кол-ва четных чисел натурального ряда, кот. >K, но
- Как удалить символ из переменной типа строки в PHP?
- Как в фотошопе уменьшить вес, сразу большого кол-ва фотографий? Пошагово обьясните плиз!
- написать программу на ассемблере: найти (в строке) и вывести слово, у которого код первого символа наибольший
- Ассемблер (TASM). Нужно ввести строку и с помощу команд обработки цепочек подсчитать кол-во русской буквы "в" в строке
- Длинная формула в Excel 2010. Превышение кол-ва уровней вложенности. Как исправить?
- Вводится последовательность чисел, 0 – конец последовательности. Найти два наибольших числа (VB) прошу помощи
- Найти самое большое число с++
- Как процессор различает что есть символ, что число, а что команда? Ведь все в двоичном коде
- Pascal - Вывести три наибольших числа