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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.03.2017, 18:24   #1
Fronzi
Пользователь
 
Регистрация: 11.03.2017
Сообщений: 23
Сообщение Строки, C++

Напишите часть кода которая исправит вывод чтобы сообщение выводилось один раз, а не столько, сколько символов в строке. Желательно через массив. Все перепробовал уже, не выходит ничего.
Код:
#include <iostream>
#include <locale>
#include <conio.h>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{	setlocale (LC_ALL, "rus");
	char *str=new char[260];
	cout << "Введите строку" << endl;
    cin>>str;
	//сколько символов в строке
	//cout << "Строка содержит " << strlen(str) << " символов" << endl;
	//алгоритм поиска
	int dl;
	dl = strlen(str);
for (int i=0; i<dl; i++)	
	{
		int count = 0; 
for (int j=0; j<dl; j++)
	    {
				if (str[i] == str[j])
				count++;	
}
	cout << "Символ " << str[i] << " повторяется " << count << " раз " << endl;
		}
			//}
		_getch();
	return 0;
}[IMG][/IMG]

Последний раз редактировалось Fronzi; 22.03.2017 в 18:25. Причина: язык
Fronzi вне форума Ответить с цитированием
Старый 22.03.2017, 18:34   #2
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

DEL
pu4koff вне форума Ответить с цитированием
Старый 22.03.2017, 18:36   #3
Fronzi
Пользователь
 
Регистрация: 11.03.2017
Сообщений: 23
По умолчанию

Цитата:
Сообщение от pu4koff Посмотреть сообщение
for (int j=i; j<dl; j++)
неправильно считает кол-во символов тогда
Fronzi вне форума Ответить с цитированием
Старый 22.03.2017, 18:59   #4
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Сделай так:
cin.getline(str, 259);
вместо твоего "cin>>str;"
ura_111 вне форума Ответить с цитированием
Старый 22.03.2017, 19:03   #5
Fronzi
Пользователь
 
Регистрация: 11.03.2017
Сообщений: 23
По умолчанию

Цитата:
Сообщение от ura_111 Посмотреть сообщение
Сделай так:
cin.getline(str, 259);
вместо твоего "cin>>str;"
Все остается как и было.
Fronzi вне форума Ответить с цитированием
Старый 22.03.2017, 19:10   #6
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Ну это поможет ввести всю строку, а не одно слово (до пробела).
А дальше я не смотрел.

Ладно, сейчас поправлю.
ura_111 вне форума Ответить с цитированием
Старый 22.03.2017, 19:18   #7
Fronzi
Пользователь
 
Регистрация: 11.03.2017
Сообщений: 23
По умолчанию

Цитата:
Сообщение от ura_111 Посмотреть сообщение
Ну это поможет ввести всю строку, а не одно слово (до пробела).
И правда, спасибо, до этого он считал все, что до пробела, а теперь более-менее.
Fronzi вне форума Ответить с цитированием
Старый 22.03.2017, 19:22   #8
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Работает на английских буквах:

0 (3).jpg

это связано с числовым представлении букв ASCII, ну а если нужны русские, тогда подумай что делать... Направление я дал.
ura_111 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выводить только измененные строки. Перед каждой строкой записывать номер строки в исходном тексте.используя строки и текст.файл nero4ka C++ Builder 1 13.06.2015 07:14
C++ Упорядочить строки матрицы D (m. n) Лексикографически по неубыванию первых k элементов строки Анатолий171 Помощь студентам 123 04.07.2014 18:46
Задача на строки. Даны две строки. Определить можно ли из символов первой строки получить вторую строку.( написать подпрограммой и ANTON1994 Паскаль, Turbo Pascal, PascalABC.NET 5 09.02.2013 14:07
Программа на языке "Ассемблер" - ввод строки, анализ длины строки, добавление точки в конец строки Алексей_2012 Помощь студентам 1 05.04.2012 11:26
Перенести символа с начала строки в место перед запятой этой же строки. Zhiltsov Microsoft Office Excel 4 05.06.2009 13:10