170 похожих чатов

#Include <stdio.h> #include <string.h> int main () { char arr[1000]; char

*ptr1,*min;
gets(arr);
ptr1 = strtok(arr," ");
min = ptr1;
while(ptr1!=NULL)
{
min=(strlen(ptr1)>strlen(min)) ? min : ptr1;
ptr1 = strtok(NULL," ");
}
puts(min);
return 0;
}

Данный код выводит наименьшее слово из предложения, введённого из клавиатуры. Вопрос...а если мне надо выводить 2 таких слов, какое условие мне нужно наложить, на какое-то, допустим, char *min2?
Я пробовал пойти через strcmp, которое бы смотрело, не одинаковые ли min1 и min2 по символьно, чтобы оно не выводило одно и то же слово. Но как-то оно не пошло...

11 ответов

13 просмотров

Ну просто не один максимум делаешь, а массив таких, 2 или 5 -сколько надо. По сути это стек максимумов

Vetal
не совсем понимаю...

Делаешь массив из скажем 3х элементов. Сравниваешь не с одним, а со всеми элементами, и если надо, вставляешь в нужное место этого массива, а остальное из него выпадает (один лишний элемент)

Vetal- Автор вопроса
Ilya Zviagin
Делаешь массив из скажем 3х элементов. Сравниваешь...

Чёт мне сложно это понять( То есть мне нужно убрать всё, что я написал ,и пойти через массив?

Vetal
Чёт мне сложно это понять( То есть мне нужно убрат...

Слушай, я даже уже забыл, что тебе там надо было. Видимо, да. Подумай, может это наведёт тебя на решение.

Вот задание. Два наименьших слова - это как ? Наименьшее, и наименьшее из оставшихся , искключая наименьшее ?

Vetal- Автор вопроса
Ilya Zviagin
Вот задание. Два наименьших слова - это как ? Наим...

Я имел ввиду, выводить два слова, у которых наименьшее количество букв

#include <stdio.h> #include <string.h> int main () { char arr[1000]; char *ptr1,*min; gets(arr); ptr1 = strtok(arr," "); while(ptr1) { min= strlen(ptr1)>strlen(min) ? min : ptr1; ptr1 = strtok(NULL," "); } puts(min); return 0; }

Vetal
Я имел ввиду, выводить два слова, у которых наимен...

Ну, я всё понял правильно сразу же, я просто уточнил. Ну вот так и делать, у тебя сейчас один минимум, а должен быть массив минимумов. На каждом шаге ты вместо вычисления одного минимума вычисляешь два. Делаешь массив из трёх элементов (указателей), туда кладёшь твои два минимума и ещё текущее слово. Сортируешь по длине слова. И берёшь как новые два минимума два наименьших по длине слова — первые два элемента. И так до конца списка слов.

Vetal
Я имел ввиду, выводить два слова, у которых наимен...

Кстати, не выводи через puts(). Вывод должен всегда содержать какие-то слова ПЛЮС твои данные. А то у тебя будет пустая строка — ты вообще ничего в выводе не увидишь.

Похожие вопросы

Обсуждают сегодня

Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
48
Всем привет! Скажите, никто не пытался уменьшить размер процесса ssl, которые ассоциируется с открытым соединением (не помню точное название этого процесса, но там была какая-...
Алексей
20
а проверьте, собирается ли у кого сейчас транк лазаря через делюкс? у меня вот: fpcupdeluxe: info: Lazarus Native Installer (BuildModuleCustom: UserIDE): LazBuild: building Us...
Iluha Companets
20
This is a big issue. Just by being a citizen of a country, you are denied to contribute to Open Source software: https://youtu.be/L5Ec5jrpLVk?si=1iIuHnMPbCB4anV-
Sharuzzaman Ahmat Raslan
72
добрый день. возможно ли изменить цвет окон лазаруса? Как?
Budemposmotret
35
Мне тут приспичило встроить в программу форматировние текста SQL, расставить переносы строк и отступы так, чтобы лучше читалось. Я что-то свое изобразил, оно после ключевых сл...
Sergey Bodrov
11
Господа, а кто-нибудь сталкивался с размещением на TTabControl/TTabSheet множества контролов (> 100) с последующими External: Access violation? Вот буквально на ровном месте. ...
Dmitry
29
А какие существуют способы обработки ошибок выделения памяти в ядре? Т.е., допустим, есть функция, которая возвращает адрес свободной страницы в физической памяти и диапазон в...
disba1ancer
51
Does anyone have some zeroday's left?
Wito!d ♥️🩷
44
Добрый день. Опять снова хочу обратиться к вам за помощью. После создания проэкта stack new, lazy.nvim + nvim-lspconfig/haskell-tools + hlint, ormolu из mason + hls из ghcup ...
Nannk
8
Карта сайта