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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.03.2014, 13:30   #1
nmr
Пользователь
 
Регистрация: 14.03.2014
Сообщений: 14
По умолчанию Из предложения напечатать те символы, которые встречаются в нем ровно один раз

Из заданного предложения выбрать и напечатать те символы, которые встречаются в
нем ровно один раз (в том порядке, как они встречаются в тексте).

обеспечить ввод с клавиатуры исходного текста, строки или последовательности символов, которые должны присваиваться в качестве значения символьного массива;
исключить использование встроенных подпрограмм, предназначенные для работы со строками, за исключением подпрограммы strlen, которая определяет текущую длину
nmr вне форума Ответить с цитированием
Старый 14.03.2014, 13:53   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
выбрать... напечатать... обеспечить... исключить...
Не хило. Все в повелительном наклонении. Очередь выполнить приказы уже выстроилась
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 14.03.2014, 13:57   #3
nmr
Пользователь
 
Регистрация: 14.03.2014
Сообщений: 14
По умолчанию

не мои слова, так в задании написано
nmr вне форума Ответить с цитированием
Старый 14.03.2014, 14:03   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Задание то кому давалось? А здесь ты просишь о помощи. По человечески попросить язык отвалится?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 14.03.2014, 14:10   #5
nmr
Пользователь
 
Регистрация: 14.03.2014
Сообщений: 14
По умолчанию

а разве этот сайт не для помощи создан? скопировала задание, как оно давалось, чтобы не было дополнительных вопросов. не надо цепляться к словам
nmr вне форума Ответить с цитированием
Старый 14.03.2014, 14:29   #6
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Этот сайт создан для помощи тем, кто учится, а не для решения задачек тупым студентам, которые жаждут халявы, ничего не сделав самостоятельно.
Вы пока что относитесь ко второй категории, получайте соответственное отношение.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 14.03.2014, 14:33   #7
nmr
Пользователь
 
Регистрация: 14.03.2014
Сообщений: 14
По умолчанию

Не надо судить обо мне, если вы меня не знаете. И оскорблять меня тут тоже не стоит, это вас совсем не красит.
Программа у меня есть, которую я сделала самостоятельно, вопреки вашим мыслям. Но она не работает. Поэтому я и написала сюда, чтобы посмотреть возможные алгоритмы ее выполнения.
nmr вне форума Ответить с цитированием
Старый 14.03.2014, 14:35   #8
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Цитата:
Программа у меня есть
Цитата:
которую я сделала самостоятельно
Цитата:
Поэтому я и написала сюда, чтобы посмотреть возможные алгоритмы ее выполнения.
Бла-бла-бла. Код сюда или не было. Будет код - переведем в первую категорию.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 14.03.2014, 14:43   #9
nmr
Пользователь
 
Регистрация: 14.03.2014
Сообщений: 14
По умолчанию

Указываете тут на мою невежливость, хотя таковой сами, увы, не отличаетесь.

Код:
#include <conio.h>
#include <stdio.h>
#include <string.h>
const int N=100;
void input(char a[N])
{
    int i;
    char s;
    for (i=0;(s=getchar())!='.';i++) a[i]=s;
    a[i]=0;
}
void sravn(char a[N],char b[N])
{   
    int k,l=0;
    unsigned int i,j;
    for(i=0;i<(strlen(a));i++) 
    {
        k=0;
        for (j=0;j<strlen(a);j++) if (a[j]==a[i]) k++;
        if (k==1) {b[l]=a[i];l++;}
    }
    b[l]=0;
}
void output(char b[N])
{
   int i;
   for (i=0;i<strlen(b);i++) printf_s("%c ",b[i]);
}
void main()
{
    char tx[N],fin[N];
    input(tx);
    sravn(tx,fin);
    output(fin);
    gets();
}


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 14.03.2014 в 14:55.
nmr вне форума Ответить с цитированием
Старый 14.03.2014, 14:51   #10
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Переход на личности? ORLY? ДЭвушка, не я начал хамить и требовать халявы. Если Вы не можете отдавать себе отчет в том, что Вы произносите и как - это не мои проблемы.

По теме. Ошибка скорее всего тут
Код:
for (j=0;j<strlen(a);j++) if (a[j]==a[i]) k++;
Зачем начинать шмонать последовательность с начала? Надо с символа i+1.

UPD: Ересь сказал, не подумав. Скорее надо так: берете символ, побежали по строке с самого начала. Встретился еще раз - брякаете функцию, переходите на следующий. Не встретился - выводите.

Форматированный код (не факт, что рабочий, просто чтобы читать удобнее было)
Код:
#include <conio.h>
#include <stdio.h>
#include <string.h>

	const int N = 100;
	void input(char a[N]) {
		int i;
		char s;
		for (i = 0; (s = getchar()) != '.'; i++)
			a[i] = s;
		a[i] = 0;
	}
	void sravn(char a[N], char b[N]) {
		int k, l = 0;
		unsigned int i, j;
		for (i = 0; i < (strlen(a)); i++) {
			k = 0;
			for (j = i+1; j < strlen(a); j++)
				if (a[j] == a[i])
					k++;
			if (k == 1) {
				b[l] = a[i];
				l++;
			}
		}
		b[l] = 0;
	}
	void output(char b[N]) {
		int i;
		for (i = 0; i < strlen(b); i++)
			printf_s("%c ", b[i]);
	}
	void main() {
		char tx[N], fin[N];
		input(tx);
		sravn(tx, fin);
		output(fin);
		gets();
	}
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)

Последний раз редактировалось Vanta11a; 14.03.2014 в 14:55.
Vanta11a вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывести только те слова сообщения, которые встречаются в нем ровно один раз С++ filimoncc Помощь студентам 11 23.02.2014 19:30
Вывод на экран символов, которые встречаются только один раз. Tsunami C++ Builder 1 10.04.2011 19:00
[C++ Builder 6] Вывод на экран символов, которые встречаются только один раз. Tsunami Помощь студентам 0 07.04.2011 09:21
Из заданной символьной строки, выбрать те символы, которые встречаются в ней только один раз... Banny Паскаль, Turbo Pascal, PascalABC.NET 3 19.12.2008 06:15