HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 26.02.2010, 10:45
SHARA
Участник форума
Регистрация: 26.05.2007
Сообщений: 191
Провел на форуме:
389326

Репутация: 9
По умолчанию

Цитата:
Сообщение от SHARA  
Вот не догоняю, в качестве упражнения
вот код
Код:
//Рализация функции my_strcpy
#include<iostream>
#include<cstring>
using namespace std;
void my_strcpy(char *str1, char *str2);
int main()
{
	setlocale(LC_ALL,"Russian");
	char s1[80];
	char s2[80];
	char *p,*q;
	p=s1;
	q=s2;

strcpy(s2,"Мне нравится С++");
	my_strcpy(p,q);
cout<<s1;
	return 0;
}
void my_strcpy(char *str1, char *str2)
{
	while(*str2)
		str2++;
	while(*str1){
		*str1=*str2;
		str1++;
		str2++;
		}

	
}
В начале кладу строку в массив s2, а потом пытаюсь скопривароть строку из s2 в s1
и отобразить в s1(s1 вроде как пустой массив) Все делается через указатели.
Программа компилируется, но строка из массива s1 не отображается.
Ошибку нашел сам .
Сообщение удалять не буду, как просил Химик69, в предыдущем посте

Последний раз редактировалось SHARA; 26.02.2010 в 11:21..
 
Ответить с цитированием

  #2  
Старый 26.02.2010, 04:20
BelAff
Новичок
Регистрация: 20.01.2010
Сообщений: 4
Провел на форуме:
56845

Репутация: 0
По умолчанию

Блин,нужно срочно решить четыре задачки в Паскале,с блок схемами....
Помогите ребят,а я вам ещё и денежек(правда немного,но всё же)подкину.
Даны два действительных + числа.Найти среднее арифмотическое,сумму,разно сть,и произведение этих чисел.

Циклическое
Даны натуральные n,m.Получить все меньшие n натуральные числа,сумма делителей которых равна m.


Массивы
Дан целочисленный массив размера N.определить max кол-во его одинаковых элементов.


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

  #3  
Старый 26.02.2010, 11:30
SHARA
Участник форума
Регистрация: 26.05.2007
Сообщений: 191
Провел на форуме:
389326

Репутация: 9
По умолчанию

Вопрос следующего характера:
вот пример:
Код:
#include<iostream>
#include<cstdio>
using namespace std;
void my_strcpy(char *str1);

char s2[80];
int main()
{
	setlocale(LC_ALL,"Russian");
	char s1[80];
	cout<<"Введите строку: ";
	gets(s1);
	my_strcpy(s1);
	cout<<s2;
	return 0;
}
void my_strcpy(char *str1)
{
	
	char *p;
	p=s2;
	while(*str1)
	{
		*p=*str1;
	    p++;
	    str1++;
	  }
}
Включаю поддержку русского языка в консоле: setlocale(LC_ALL,"Russian");
затем воожу строку на русском языке.
Устанавливаю указатель на это строку, затем содержимое одного символьного массива копирую в глобальный симольный массив, операции осуществляются через указатели
Но потом когда строка отображается в виде не понятных символов.
Если же я строку введу на английском, то все отображается корректно.
Интересуюсь исключительно ради интереса
 
Ответить с цитированием

  #4  
Старый 26.02.2010, 20:13
Травников
Новичок
Регистрация: 17.02.2010
Сообщений: 6
Провел на форуме:
51827

Репутация: 2
По умолчанию

Цитата:
Сообщение от SHARA  
Но потом когда строка отображается в виде не понятных символов.
Если же я строку введу на английском, то все отображается корректно.
Интересуюсь исключительно ради интереса
Используй
Код:
setlocale(LC_ALL, "Russian.1251" );//CP-1251
//ещё можешь использовать UTF-8
Указывай кодировку,которую используешь
 
Ответить с цитированием

  #5  
Старый 26.02.2010, 20:08
XimiK69
Новичок
Регистрация: 02.01.2010
Сообщений: 26
Провел на форуме:
33560

Репутация: 15
По умолчанию

Можно воспользоваться функцией OemToCharA(); подключив библиотеку #include <windows.h>
Код:
	cout<<"Введите строку: ";
	gets(s1);
	OemToCharA(s1,s1);
	my_strcpy(s1)
 
Ответить с цитированием

  #6  
Старый 26.02.2010, 23:33
AntiHacker7
Новичок
Регистрация: 19.05.2009
Сообщений: 8
Провел на форуме:
51948

Репутация: 5
По умолчанию

Друзья! Всем привет! Завтра информатика в институте, начали изучать Delphi, помогите написать уравнение в 2*x^2-12*x+3 в "console application"
 
Ответить с цитированием

  #7  
Старый 27.02.2010, 00:05
Fearlesslord
Новичок
Регистрация: 23.02.2010
Сообщений: 1
Провел на форуме:
4430

Репутация: 0
По умолчанию

Пожалуйста помогите написать прогу на С++:

Составить описание класса прямоугольников со сторонами, параллельными осям координат. Предусмотреть возможность перемещения прямоугольников на плоскости, изменение размеров, построение наименьшего прямоугольника, содержащего два заданных прямоугольники, и прямоугольника, являющегося общей частью (пересечением) двух прямоугольников.

Последний раз редактировалось Fearlesslord; 27.02.2010 в 00:10..
 
Ответить с цитированием

  #8  
Старый 27.02.2010, 00:14
SHARA
Участник форума
Регистрация: 26.05.2007
Сообщений: 191
Провел на форуме:
389326

Репутация: 9
По умолчанию

XimiK69 и Травников, большое спасибо
 
Ответить с цитированием

  #9  
Старый 27.02.2010, 12:21
DJeFRY_RASH
Новичок
Регистрация: 07.04.2009
Сообщений: 19
Провел на форуме:
35427

Репутация: 3
По умолчанию

Народ, помогите реализовать идею на Delphi !

Форма должна содержать текстовое поле, содержащее строку и надпись, в которой отображается количество символов, выделенных в текстовом поле
 
Ответить с цитированием

  #10  
Старый 27.02.2010, 13:03
Dosia
Участник форума
Регистрация: 05.06.2009
Сообщений: 127
Провел на форуме:
1313455

Репутация: 249
По умолчанию

Код:
procedure TForm1.Edit1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
label1.Caption := inttostr(length(edit1.SelText));
end;

procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
label1.Caption := inttostr(length(edit1.SelText));
end;
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Американским студентам запретили пользоваться Skype KPOT_f!nd Мировые новости. Обсуждения. 1 28.09.2006 03:47
Любителям квестов сюда!! FoX's Болталка 10 25.01.2005 20:42



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.