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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.01.2014, 22:05   #1
XedCrab
 
Регистрация: 23.01.2014
Сообщений: 4
По умолчанию Три задачи на строки символов (Язык Си)

Доброго времени суток.
Хочу попросить помощи с написанием трех программ на Си:

1. Дана строка символов. Сколько раз в нем встречается сочетание "as"?

2. Дана строка символов. Заменить в ней все буквы d, сразу после которых следует запятая, на буквы x.

3. Дан текст. Написать программу, печатающую самую длинную строку введенного текста.

Буду крайне признателен, если поможете хотя бы с одной из них.

Наработок, увы, нет
XedCrab вне форума Ответить с цитированием
Старый 30.01.2014, 23:09   #2
R_G
Форумчанин
 
Регистрация: 22.11.2010
Сообщений: 114
По умолчанию

Могу помочь по решению. Стучись в аську 362306570.
R_G вне форума Ответить с цитированием
Старый 01.02.2014, 19:05   #3
alekopoko
Форумчанин
 
Регистрация: 03.04.2013
Сообщений: 167
По умолчанию

3 задача
Код:
#include<stdio.h>
void main()
{
	int naz=0;
	int s=0;
	int d=0;
	int maxx=0;
	char ];
	int max=0;
	for(int i=0;i<=100;i++)
	{
		scanf("%c",&f[i]);
		if(f[i]=='\n') break;
	}
	for(int i=0;i<=100;i++)
	{
		s=i;
		if(f[s]==' '&&f[++s]!=' ') 
		{
			naz=s;
			for( ;f[s]!=' '&&f[s]!='\n';s++) d++;
			if(d>max) {maxx=naz; max=d;} d=0;
		}
	}
	for(int i=maxx;f[i]!=' '&&f[i]!='\n';i++)
	{
		printf("%c",f[i]);
	}
	printf("\n");
}
alekopoko вне форума Ответить с цитированием
Старый 01.02.2014, 19:11   #4
alekopoko
Форумчанин
 
Регистрация: 03.04.2013
Сообщений: 167
По умолчанию

тьфу я написал программу, печатающую самое длинное слово в строке .
а текст должен вводить до какого символа?
alekopoko вне форума Ответить с цитированием
Старый 01.02.2014, 19:15   #5
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,680
По умолчанию

Вот же ссылка с почти готовым решением!!!
http://programmersforum.ru/showthread.php?t=254062
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 01.02.2014, 19:29   #6
alekopoko
Форумчанин
 
Регистрация: 03.04.2013
Сообщений: 167
По умолчанию

3 задача.
введенный текст заканчивается точкой(АНГ.раскладка клавиатуры)
p.s. если точка заканчивает самую длинную строку,то она не выводится при выводе самой длинной строки.
Код:
#include<stdio.h>
void main()
{
	int naz=0;
	int s=0;
	int d=0;
	int maxx=0;
	char f[100];
	int max=0;
	for(int i=0;i<=100;i++)
	{
		scanf("%c",&f[i]);
		if(f[i]=='.') break;
	}
	for(int i=0;f[i]!='.';i++)
	{
		s=i;
		if(f[s]!='\n') 
		{
			naz=s;
			for( ;f[s]!='\n'&&f[s]!='.';s++) d++;
			if(d>max) {maxx=naz; max=d;} d=0;
		}
	}
	for(int i=maxx;f[i]!='\n'&&f[i]!='.';i++)
	{
	printf("%c",f[i]);
	}
	printf("\n");
}

Последний раз редактировалось alekopoko; 01.02.2014 в 19:37.
alekopoko вне форума Ответить с цитированием
Старый 01.02.2014, 23:07   #7
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,680
По умолчанию

Решение к первой задаче....
Код:
#include <stdio.h>
#include <stdlib.h>

int main() {
	int count = 0;
	int i;
	char str[50] = "jgasskddasfgks sdjksh ksjhk sfkkas fkdfhkas";
	int STRSIZE = sizeof(str)/sizeof(char);
	for(i = 0; i < STRSIZE; i++)
	{
		if(str[i] == 'a' && str[i+1] == 's')
			count++;
	}
	printf("Result = %d\n", count);
	system("PAUSE");
	return 0;
}
Вторая задача особым разнообразием не отличается
Код:
#include <stdio.h>
#include <stdlib.h>

int main() {
	int i;
	char str[50] = "jgasskdd, asfgks sdjksh kd, sjhk sfdkkas fkdfhkas";
	int STRSIZE = sizeof(str)/sizeof(char);
	for(i = 0; i < STRSIZE; i++)
	{
		if(str[i] == 'd' && str[i+1] == ',')
			str[i] = 'x';
	}
	printf("Result:\n");
	for(i = 0; i < STRSIZE; i++)
	{
		printf("%c", str[i]);
	}
	printf("\n");
	system("PAUSE");
	return 0;
}
Код alekopoko вызывает у меня некоторое замешательство... Ну да ладно...
С 3-ей задачей я думаю справитесь без проблем. Будут вопросы по моему коду, обязательно пишите...
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!

Последний раз редактировалось Bugrimov; 01.02.2014 в 23:27.
Bugrimov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача на строки. Даны две строки. Определить можно ли из символов первой строки получить вторую строку.( написать подпрограммой и ANTON1994 Паскаль, Turbo Pascal, PascalABC.NET 5 09.02.2013 14:07
Задачи: на одномерный массив, на обработку строки символов - расшифровать текст didle Паскаль, Turbo Pascal, PascalABC.NET 6 05.12.2012 23:42
Вводится последовательность символов из М символов.(C++ язык) dimazak2009 Помощь студентам 19 12.03.2012 00:17