Лови!
25-01-2007 17:35
к комментариям - к полной версии
- понравилось!
#include "TXLib.h"
void PrintArray (char array[], int size);
char* LastToFirst (char array[], int size);
char* FirstToLast (char array[], int size);
void PrintArray_2 (char array[], char array2[], int size, int size2);
char* Shake (char array[], char array2[], int size, int size2);
char* Random (char array[], int size);
char* Find (char array[], int size);
int main ()
{
txCreateWindow (600, 600);
const int WORD_MAX = 5;
const int NAME_MAX = 4;
const int SURNAME_MAX = 9;
const int RAND = 7;
const int POINT = 14;
char word [WORD_MAX] = {*"l", *"a", *"m", *"e", *"r"};
char name [NAME_MAX] = {*"I", *"l", *"'", *"a"};
char surname [SURNAME_MAX] = {*"D", *"e", *"d", *"i", *"n", *"s", *"k", *"i", *"j"};
char rand [RAND] = {*"m", *"u", *"s", *"t", *"d", *"i", *"e"};
char point [POINT] = {*"I", *"l", *"'", *"a", *" ", *"D", *"e", *"d", *"i", *"n", *"s", *"k", *"i", *"j"};
Find (point, POINT);
PrintArray (point, POINT);
/* Shake (name, surname, NAME_MAX, SURNAME_MAX);
PrintArray_2 (name, surname, NAME_MAX, SURNAME_MAX);*/
return 0;
}
void PrintArray (char array[], int size)
{
int i = 0;
while (i < size)
{
assert (0 <= i && i < size);
printf ("[%d] = %c\n", i, array[i]);
i ++;
}
}
void PrintArray_2 (char array[], char array2[], int size, int size2)
{
int i = 0;
while (i < size)
{
assert (0 <= i && i < size);
printf ("[%d] = %c\n", i, array[i]);
i ++;
}
printf ("\n");
i = 0;
while (i < size2)
{
assert (0 <= i && i < size2);
printf ("[%d] = %c\n", i, array2[i]);
i ++;
}
}
char* LastToFirst (char array[], int size)
{
int i = size - 2;
int n = array [size - 1];
while (i >= 0)
{
assert (0 <= i && i < size);
assert (0 <= i + 1 && i + 1 < size);
array [ i + 1 ] = array [ i ];
i --;
}
array [0] = n;
return array;
}
char* FirstToLast (char array[], int size)
{
int i = 1;
int n = array [0];
while (i < size)
{
assert (0 <= i && i < size);
assert (0 <= i - 1 && i - 1 < size);
array [ i - 1 ] = array [ i ];
i ++;
}
array [size - 1] = n;
return array;
}
char* Shake (char array[], char array2[], int size, int size2)
{
int i = 0;
int k = size;
if (size > size2)
k = size2;
else
k = size;
char n = array [ i ];
while (i < k)
{
assert (0 <= i && i < size);
n = array [ i ];
array [ i ] = array2 [ i ];
array2 [ i ] = n;
i ++;
}
return array, array2;
}
char* Random (char array[], int size)
{
int i = 1;
while (i < size - 1)
{
int r = random (size - 1 - i) + i;
assert (0 <= i && i < size);
assert (0 <= r && r < size);
int n = array [ i ];
array [ i ] = array [ r ];
array [ r ] = n;
i ++;
}
return array;
}
char* Find (char array[], int size)
{
int i = 0;
char n = array [ i ];
int k = 0;
while (k < size)
{
if (array [ k ] == 32) break;
k ++;
}
int m = size;
if (k > size / 2)
m = size - k - 1;
else
m = k;
while (i < m)
{
assert (0 <= i && i < size);
n = array [ i ];
array [ i ] = array [ i + k + 1 ];
array [ i + k + 1 ] = n;
i ++;
}
return array;
}
вверх^
к полной версии
понравилось!
в evernote