algorytm.org

Implementacja w C/C++



Baza Wiedzy
wersja offline serwisu przeznaczona na urządzenia z systemem Android
Darowizny
darowiznaWspomóż rozwój serwisu
Nagłówki RSS
Artykuły
Implementacje
Komentarze
Forum
Bookmarki






Sonda
Implementacji w jakim języku programowania poszukujesz?

Macierz (kwadrat) - Implementacja w C/C++
Ocena użytkownikóww: *****  / 3
SłabyŚwietny
Nadesłany przez Kamil Konieczka, 26 czerwca 2010 04:31
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.

Jeżeli nie odpowiada Ci sposób formatowania kodu przez autora skorzystaj z pretty printer'a i dostosuj go automatycznie do siebie.

macierz_cpp/KryptoA.cpp:
#include "KryptoA.h"


void kodujtekst(void)		//	procedura wykorzystująca krypto
{
	char *tab;
	string str;

	cout << "Wpisz tekst do kodowania:" << endl << endl;
	getline (cin,str);

	int length = obliczwymiar(str.length());
	int len= length*length;
	
	tab = new char[len+1];

	str.copy(tab,str.length(),0);
	for(int i=str.length(); i<len+1; i++)
		tab[i]=' ';
	
	krypto(tab,str.length());
	tab[len]='\0';
	cout << "\n" << tab;

	krypto(tab,str.length());
	tab[len]='\0';
	cout << "\n\n" << tab;

	delete tab;
}

void krypto(char tab[], int lendata)
{
	int k, size=obliczwymiar(lendata);

	char **tmp = new char*[size];
	for (int x=0; x<size; x++)
	{
		tmp[x] = new char[size];
	}

		k=0;
		for(int i=0; i<size; i++)
		{
			for(int j=0; j<size; j++)
			{
					tmp[i][j]=tab[k];
					k++;
			}
		}

		k=0;
		for(int i=0; i<size; i++)
		{
			for(int j=0; j<size; j++)
			{
					tab[k]=tmp[j][i];
					k++;
			}
		}

	for (int x=0; x<size; x++)
		delete []tmp[x];
	delete []tmp;
}

int obliczwymiar(double dlg)
{
	int a=(int)sqrt(dlg);
	if((a-sqrt(dlg))!=0) return a+1;
	else return a;
}

Dodaj komentarz