Szyfr-macierz (kwadrat)
Kod był wyświetlany 1862 razy.
    /*
  Name: Szyfr-macierz (kwadrat)
  Copyright: GPL GNU
  Author: Przemysław Sierociński
  Date: 22-10-09 14:56
  Description: Szyfr polega na wprowadzeniu tekstu do kwadratowej macierzy
  wiersz po wierszu i odczytaniu ich kolumnami.
*/

#include <stdio.h>
#include <stdlib.h>
#include <string>
#include <math.h>

int main()
{
int i,j,k=0,dlugosc,bok;
char **macierz;
std::string dane;

printf("\n\n\tPodaj tekst do zaszyfrowania: ");

scanf("%[^\n]",dane.c_str());// pobiera dane az do wcisniecia entera

dlugosc=strlen(dane.c_str());
bok=(int)sqrt(dlugosc);     // wyznacz bok kwadratu

if(bok*bok!=dlugosc)        // jezeli zabrakloby miejsca
bok++;                      // powieksz bok o jeden

macierz=new char*[bok];     // dynamiczna tablica dwuwymiarowa
for(i=0;i<bok;i++)
{
	macierz[i]=new char[bok];
	for(j=0;j<bok;j++)
	{
		if(k<dlugosc)
		macierz[i][j]=dane[k];
		else                // jezeli podany tekst okazal sie za krotki
		macierz[i][j]=32;   // nastepuje uzupelnienie  spacja
		k++;
		}
	}

printf("\n\n\tTekst po zaszyfrowaniu: ");

for(i=0;i<bok;i++)
    for(j=0;j<bok;j++)
    printf("%c",macierz[j][i]);	// odczytanie kolumnami

printf("\n\n\t");
system("pause");
return 0;
}
    
Pobierz plik tekstowy
Administrator WJL
PHP&SQL coded by NOVA-IT