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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.02.2009, 13:03   #1
Stelix
Пользователь
 
Аватар для Stelix
 
Регистрация: 04.11.2007
Сообщений: 29
По умолчанию Операции со строками( я на экзамене)

Очень прошу мне помочь, сейчас сижу на экзамене, пока ничего кроме алгоритма вывода введённой с клавиатуры строки на экран не написал.
ЯЗЫК С++
Текст задания
В программу вводится слово, состоящее из четного количества букв.
Проверить, читается ли это слово справа на лево так же, как и слева на право. Если читается, то вставить между половинами слова пробел.
Задачу решить с помощью указателей без применения стандартных функций для обработки строк.Программа сначала должна сформировать строку в памяти программы, и только затем вывести её на экран.

Последний раз редактировалось Stelix; 05.02.2009 в 13:05. Причина: Забыл указать язык
Stelix вне форума Ответить с цитированием
Старый 05.02.2009, 13:09   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
читается ли это слово справа на лево так же, как и слева на право
Примерно так:
Код:
   var  s:string; sp:pointer;i:integer;
begin
s:='123321';
sp:=@s;
for i:=1 to (length(string(sp^)) div 2) do
 if string(sp^)[i]<>string(sp^)[length(string(sp^))-i+1] then begin writeln('не читается'); break;
end;
readln;
  { TODO -oUser -cConsole Main : Insert code here }
end.
Смысл ясен? А пробел уж неполенись сам вставить
I'm learning to live...

Последний раз редактировалось Stilet; 05.02.2009 в 13:12.
Stilet вне форума Ответить с цитированием
Старый 05.02.2009, 13:15   #3
Stelix
Пользователь
 
Аватар для Stelix
 
Регистрация: 04.11.2007
Сообщений: 29
По умолчанию

Спасибо, только нужно написать на C++
Напиши на нем, пожалуйста)

Код:
include "stdafx.h"
#include <string>
#include <iostream>
#include <conio.h>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
	char str[80];
	cout <<"Введите строку: ";
	cin >> str;
	cout<<"Выведенная строка: ";
	cout <<str;
	_getch();
	return 0;
У меня сейчас только это есть.

Последний раз редактировалось Stilet; 05.02.2009 в 13:21.
Stelix вне форума Ответить с цитированием
Старый 05.02.2009, 13:20   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Я Си плохо знаю.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 05.02.2009, 14:07   #5
ISergeyN
Maniac
Форумчанин
 
Аватар для ISergeyN
 
Регистрация: 03.01.2009
Сообщений: 450
По умолчанию

Вот пример . функцыю вставки пробела сам допишешь
Код:
#include <iostream>
using namespace std;

unsigned xstrlen(const char *p)
{
	unsigned len = 0;
	while(*p)
	{
		++p;
		++len;
	}
	return len;
}
void xreverce(const char *in_p,char **out_p)
{
	*out_p += xstrlen(in_p);
	++*out_p;
	**out_p = 0;
	while(*in_p)
	{
		--*out_p;
		**out_p = *in_p;
		++in_p;
	}

}
bool xstrcmp(const char *hl,const char *hr)
{
	if(xstrlen(hl) != xstrlen(hr)) return false;
	while(*hl)
	{
		if(*hl != *hr) return false;
		++hl;
		++hr;
	}
	return true;
}
void xstrcpy(char *str,const char *p)
{
	while(*p)
	{
		*str = *p;
		++str;
		++p;
	}
	*str = 0;
}
void foo(char **str)
{
	//...............
}
int main()
{
	char *str = "asxxsa";
	char *p = new char[xstrlen(str)+1];

	xreverce(str,&p);
	if(xstrcmp(str,p)) 
	{
		foo(&p);
		cout<<"Ok"<<endl;
	}
	cout<<p<<endl;
	return 0;
}
Стандартные библиотеки разработаны с учетом многолетнего опыта лучших программистов и они не больны "детскими болезнями крутизны в программизме"....
ISergeyN вне форума Ответить с цитированием
Старый 05.02.2009, 14:30   #6
Stelix
Пользователь
 
Аватар для Stelix
 
Регистрация: 04.11.2007
Сообщений: 29
По умолчанию

fatal error c1010:unexpected end of file while looking for precompiled header directive
Stelix вне форума Ответить с цитированием
Старый 05.02.2009, 14:36   #7
ISergeyN
Maniac
Форумчанин
 
Аватар для ISergeyN
 
Регистрация: 03.01.2009
Сообщений: 450
По умолчанию

Код:
#include "stdafx.h"
Стандартные библиотеки разработаны с учетом многолетнего опыта лучших программистов и они не больны "детскими болезнями крутизны в программизме"....
ISergeyN вне форума Ответить с цитированием
Старый 05.02.2009, 14:41   #8
Stelix
Пользователь
 
Аватар для Stelix
 
Регистрация: 04.11.2007
Сообщений: 29
По умолчанию

Стартуется только если не использовать дебаг, как вставить написание пробела не знаю =(
Stelix вне форума Ответить с цитированием
Старый 05.02.2009, 14:51   #9
ISergeyN
Maniac
Форумчанин
 
Аватар для ISergeyN
 
Регистрация: 03.01.2009
Сообщений: 450
По умолчанию

ну а здесь думай сам( всетаки экзамен )
Стандартные библиотеки разработаны с учетом многолетнего опыта лучших программистов и они не больны "детскими болезнями крутизны в программизме"....
ISergeyN вне форума Ответить с цитированием
Старый 05.02.2009, 14:56   #10
Stelix
Пользователь
 
Аватар для Stelix
 
Регистрация: 04.11.2007
Сообщений: 29
По умолчанию

Я просто этого вообще не помню, и найти нигде не могу
Stelix вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Операции со строками, вывод результата в 10 и 16 сис-ме счисления Sirega Паскаль, Turbo Pascal, PascalABC.NET 0 24.12.2008 16:36
Поможете на экзамене? Cyberbest Помощь студентам 3 04.06.2008 05:16
операции над полями и строками zetrix Microsoft Office Excel 0 31.10.2006 08:08