Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.01.2017, 17:00   #1
Maxe
 
Регистрация: 25.01.2017
Сообщений: 9
Печаль С++ во вводимом с клавиатуры тексте выберет слова, количество букв «м» в которых будет максимально, и выведет их на экран.

Нужно написать программу, которая во вводимом с клавиатуры тексте выберет слова, количество букв «м» в которых будет максимально, и выведет их на экран.
Maxe вне форума Ответить с цитированием
Старый 25.01.2017, 17:30   #2
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Это сложная задача, чтобы "с ходу" её решать.
А ну, реши (для начала) другую задачу: пользователь вводит текст, а программа считает количества букв "m" в нём.

p.s.: на форуме пытался искать что-нибудь по своей задачи?
ura_111 вне форума Ответить с цитированием
Старый 25.01.2017, 18:03   #3
Maxe
 
Регистрация: 25.01.2017
Сообщений: 9
По умолчанию

пусть так:
Код:
#include "stdafx.h"
#include <iostream>
#include <conio.h> 
#include <string> 
#include <fstream> 
#include <iomanip> 
#include <stdio.h> 
#include <string.h>
#include <Windows.h>
using namespace std;
int main() 
{
  string str, out;
  int count;
	SetConsoleCP(1251);
	SetConsoleOutputCP(1251);
   cout << "Введите предложение, заканчивающееся пробелом и точкой...\n";
while (str != ".") 
	{
                cin >> str;		
                count = 0;
		for (int i = 0; i < str.length(); i++)
		{
			if (str[i] == 'м') count++;
		}
out = count;
cout << out<< endl;
	_getch();
	return 0;
}
так сработает?)
и да, на форуме искал, но ничего подобного не нашел

Последний раз редактировалось Maxe; 25.01.2017 в 18:09.
Maxe вне форума Ответить с цитированием
Старый 25.01.2017, 18:48   #4
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

У меня ничего не позволяет ввести:

0.jpg

А ты вообще запускал у себя? У тебя работает?

p.s.: кстате, вас (при работе с строками) обучали "char" или "String"?
Вот, посмотри видео-ролики по строкам (это "char"):

https://www.youtube.com/watch?v=G2qQWkbU1Cw

https://www.youtube.com/watch?v=Sdk3ziwZZyk

Последний раз редактировалось ura_111; 25.01.2017 в 18:50.
ura_111 вне форума Ответить с цитированием
Старый 25.01.2017, 19:20   #5
Maxe
 
Регистрация: 25.01.2017
Сообщений: 9
По умолчанию

Попробуйте ввести строчку
cin >> str;
перед cout=0
я проверил, у меня программа не выводит результат а просто закрывается, т.е. не работает
p.s. т.е. string не используется в с++?
Maxe вне форума Ответить с цитированием
Старый 25.01.2017, 19:22   #6
Maxe
 
Регистрация: 25.01.2017
Сообщений: 9
По умолчанию

кстати хорошие уроки, спасибо
Maxe вне форума Ответить с цитированием
Старый 25.01.2017, 19:37   #7
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Тогда тебе задача ещё по-проще: пользователь вводит текст (пусть будет на английском языке), а программа его (сразу же) выводит.

Кстате, делай скриншоты чёрного экрана... Ты знаешь как делать скриншоты?
ura_111 вне форума Ответить с цитированием
Старый 26.01.2017, 17:51   #8
Maxe
 
Регистрация: 25.01.2017
Сообщений: 9
По умолчанию

Ну это легко (хотя были некоторые ошибки, например нижнее подчеркивание в "_getch()" пропустил:
Безымянный.jpg

p.s. еще раз спасибо за видеоуроки)
Maxe вне форума Ответить с цитированием
Старый 26.01.2017, 19:21   #9
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Хорошо... Только я не понял, тебе надо: "char" или "String"? И то и то можно использовать для строк. Это зависит от того что вы сейчас проходили... Ну ладно, пусть будет "char" - потом поправим если что...
___________________________________ _______________________________

Теперь переходи к следующей задачке: "пользователь вводит текст, а программа считает в нём количество букв 'm' и количество пробелов (' '). Текст на английском языке - на русский потом перейдём". Символ пробела очень важен - ведь он разделяет строку на слова.
___________________________________ _______________________________

А ты, вообще, соотносишь эти (легкие) задачки со своей (более трудной)? Что-то вроде: вот я решил очередную задачку - и приблизился к решению своей на 10% (или 40%, или 90%)?
___________________________________ _______________________________

p.s.: я просто скажу - ты же знаешь, что если тема очень большая, то она делится на несколько страниц (я чувствую - сейчас поделится). Ну вот например:

1.jpg

Последний раз редактировалось ura_111; 26.01.2017 в 21:19.
ura_111 вне форума Ответить с цитированием
Старый 28.01.2017, 17:04   #10
Maxe
 
Регистрация: 25.01.2017
Сообщений: 9
По умолчанию

Вообще можно как угодно, главное понимать что делаешь, как это работает и выполнить задачу. Я вроде сделал программу полностью, только есть некоторый недочет: моя программа не учитывает большие буквы "М" в словах. И еще можно ли сделать так, чтобы в конце точка не обязательно была после пробела и все шло так же гладко ?) Вот мой код:
Код:
#include "stdafx.h"
#include <iostream>
#include <conio.h> 
#include <string> 
#include <fstream> 
#include <iomanip> 
#include <stdio.h> 
#include <string.h>
#include <Windows.h>

using namespace std;

int main() {
	string str, out;
	int maxM = 0, count;
	SetConsoleCP(1251);
	SetConsoleOutputCP(1251);
	cout << "Введите предложение, заканчивающееся пробелом и точкой...\n";

	while (str != ".") 
	{
		cin >> str;
		count = 0;
		for (int i = 0; i < str.length(); i++)
		{
			if (str[i] == 'м') count++;
		}

		if (count > maxM) {
			out = str + " ";
			maxM = count;
		}
		else if (count == maxM) out = out + str + " ";
	}
	cout << out << endl;
	_getch();
	return 0;
}
p.s. пробовал писать ...if (str[i] == 'м' || 'М') cout++... , но он считывает либо большие буквы, либо маленькие при выводе слов, либо еще как-то непонятным образом(

Последний раз редактировалось Maxe; 28.01.2017 в 17:47.
Maxe вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В исходном тексте вывести на экран слово, содержащее максимальное количество символов(букв). Разделитель пробел dvpvitas Паскаль, Turbo Pascal, PascalABC.NET 6 17.06.2015 18:03
Найти количество букв в тексте,после которых следует запятая. sasha1212 Общие вопросы C/C++ 3 04.06.2014 12:00
Количество букв в тексте. andrey4eg Помощь студентам 1 10.04.2011 14:27
Подсчитать количество букв "А" в предложении и общее количество букв.В тексте из файла несколько строк. kvas91 Общие вопросы C/C++ 3 14.11.2010 16:51
Во вводимом тексте переписать все слова в обратном порядке. menlo Помощь студентам 5 17.11.2007 10:18