All pastes #1694426 Raw Edit

ERMIK

public cpp v1 · immutable
#1694426 ·published 2009-11-30 20:52 UTC
rendered paste body
#include <iostream>#include <windows.h>using namespace std;const int NUMEL1 = 30;const int NUMEL2 = 40;void printBytes(char *, int);void copyStr(char *, char *);void listAll(char *, char);int main(){	SetConsoleCP(1251);	SetConsoleOutputCP(1251);	char stroka1[NUMEL1];	char stroka2[NUMEL2]="";	int n;	char addr;	cout << "Введите текст: ";	cin.getline(stroka1, NUMEL1);	cout << "\nВведите число символов, которые вы хотите исследовать: ";	cin >> n;	if(n > strlen(stroka1))	{		//Защита от дурака :)		cout<<"\nERROR!!! Колличество символов, которое вы хотите рассмотреть превосходит длину строки!"<<endl;		getchar();		return(1);	}	cout << "\nПользователь ввел строку: \n" << stroka1 << '\n';	printBytes(stroka1, n);	cout << "Скопируем!\n";	copyStr(stroka1, stroka2);	cout << "\nВы можете найти значение одного из элементов строки расположенного по адресу:\n" 		<< &stroka1 << "\nВведите символ из строки, адрес которого вы хотите найти: ";	cin >> addr;	listAll(stroka1, addr);	getchar();	getchar();}void printBytes(char *p,int nbytes){	//Берем сивмолы и их ASCII код	unsigned char a;	for(int i = 0; i < nbytes; i++)	{		a = p[i];		cout << a << " - " << unsigned(a) <<'\n';	}}void copyStr(char *source, char *target){	//Копируем :)	char *p1 = source;	char *p2 = target;	cout << "\nКопия строки: " << source;	for (int i = 0; i < strlen(source); i++)	{		*(p2 + i) = *(p1 + i);	}	cout << '\n' << target << '\n';}void listAll(char *source, char what){	cout<<"Адреса по которым найден символ " << what << ":\n";	char *p = source;	int i = 0;	void *pt = &source[i];	for(i = 0; i < strlen(source); i++)	{		if (*(p+i) == what)		{		cout << &pt << endl;		}			}}