maybe
This commit is contained in:
parent
ab43e8c0b9
commit
5f2202e6fc
BIN
a4/program
BIN
a4/program
Binary file not shown.
98
a4/program.c
98
a4/program.c
@ -3,29 +3,20 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
|
#include <math.h>
|
||||||
|
|
||||||
#define SIZE 100
|
#define SIZE 100
|
||||||
|
|
||||||
bool jeKopa(int i, int inputNum[SIZE]);
|
bool jeKopa(int i, int inputNum[SIZE]);
|
||||||
|
void vypisovac(int vypis[SIZE], int input[SIZE], int size);
|
||||||
|
int ownPow(int base, int power);
|
||||||
|
int input(char string[100], int numbers[100]);
|
||||||
int main(){
|
int main(){
|
||||||
char stringNum[100];
|
char stringNum[100];
|
||||||
int inputNum[100], i = 0;
|
int inputNum[100] = {0}, i = 0;
|
||||||
while (1)
|
fgets(stringNum,SIZE,stdin);
|
||||||
{
|
i = input(stringNum,inputNum) -1;
|
||||||
//scanf("%s",&stringNum);
|
for (int j = 0; j < SIZE; j++){if(inputNum[j]<0-1){i++;}}
|
||||||
fgets(stringNum,SIZE,stdin);
|
|
||||||
stringNum[strlen(stringNum)-1] = '\0';
|
|
||||||
if (!isdigit(stringNum[0]))
|
|
||||||
{
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
inputNum[i] = atoi(stringNum);
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
for (int j = (i-1)/2; j >= 0; j--)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
int vypis[100];
|
int vypis[100];
|
||||||
if(jeKopa(i,inputNum)){
|
if(jeKopa(i,inputNum)){
|
||||||
printf("Je to taka kopa:");
|
printf("Je to taka kopa:");
|
||||||
@ -48,20 +39,7 @@ int main(){
|
|||||||
|
|
||||||
}
|
}
|
||||||
printf("\n");
|
printf("\n");
|
||||||
int count = 0;
|
vypisovac(vypis,inputNum,i);
|
||||||
for (int j = 0; j < i-1; j++)
|
|
||||||
{
|
|
||||||
if (j<=(i)/2)
|
|
||||||
{
|
|
||||||
for (int k = 0; k < count; k++)
|
|
||||||
{
|
|
||||||
printf(" ");
|
|
||||||
}
|
|
||||||
count++;
|
|
||||||
}
|
|
||||||
printf("%d\n",inputNum[vypis[j]]);
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -73,7 +51,7 @@ bool jeKopa(int i, int inputNum[SIZE]){
|
|||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (inputNum[j]>inputNum[l] || inputNum[j]>inputNum[r])
|
if ((inputNum[j]>inputNum[l]) || (inputNum[j]>inputNum[r]))
|
||||||
{
|
{
|
||||||
printf("Nieje kopa");
|
printf("Nieje kopa");
|
||||||
return 0;
|
return 0;
|
||||||
@ -82,4 +60,58 @@ bool jeKopa(int i, int inputNum[SIZE]){
|
|||||||
}
|
}
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
|
}
|
||||||
|
void vypisovac(int vypis[SIZE], int input[SIZE], int size){
|
||||||
|
int counter = 0, count = ownPow(2,0), space = 0, i = 0;
|
||||||
|
for (i = 0; i < size; i++)
|
||||||
|
{
|
||||||
|
if (counter>=count && (i)<=(size/2))
|
||||||
|
{
|
||||||
|
count = ownPow(2,i)/2;
|
||||||
|
counter = 0;
|
||||||
|
space++;
|
||||||
|
}
|
||||||
|
else if ((counter>=count && (i)>(size/2)) || vypis[i]<count-1)
|
||||||
|
{
|
||||||
|
count = ownPow(2,size-i-1)/2;
|
||||||
|
counter = 0;
|
||||||
|
space--;
|
||||||
|
}
|
||||||
|
|
||||||
|
counter++;
|
||||||
|
for (int k = 0; k < space; k++)
|
||||||
|
{
|
||||||
|
printf(" ");
|
||||||
|
}
|
||||||
|
printf("%d\n",input[vypis[(int)i]]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
int ownPow(int base, int power){
|
||||||
|
int result = 0;
|
||||||
|
if (power>0)
|
||||||
|
{
|
||||||
|
result = 1;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i<power; i++)
|
||||||
|
{
|
||||||
|
result = result * base;
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
int input(char string[100], int numbers[100]){
|
||||||
|
int j = 0;
|
||||||
|
for (int i = 0; i < strlen(string); i++)
|
||||||
|
{
|
||||||
|
if (isdigit(string[i])){
|
||||||
|
numbers[j] = numbers[j]*10 + string[i]-'0';
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
j++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return j;
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user