1 / 3
Feb 2020

ma ktoś pomysł jak można przyśpieszyć ten program jeszcze bardziej ?
Cały czas wyskakuje mi, że przekroczyłem limit czasu :frowning:

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

int main(){

char znak;
int i,k;
int pl,dl;
char litery[] = "ABCDEFGHIJKLMNOP" ;  
int pierwszyZnak[] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
int drugiZnak[] = {0,16,32,48,64,80,96,112,128,144,160,176,192,208,224,240};
char kod[20];
//kod = malloc(20*sizeof(char));

while(1){

fflush(stdin);
//fgets(kod,20,stdin);
scanf("%s", kod);

for(i=0;i<20;i=i+2){
	k=0;
	
	while(k<16){
		if(kod[i] == litery[k]){
		pl = pierwszyZnak[k];
		break;
		}
	k++;
	}
	k=0;
	while(k<16){
		if(kod[i+1] == litery[k]){
		dl = drugiZnak[k];
		break;
		}
	k++;
	}
	znak = dl+pl;
	printf("%c", znak);
}

}
}

  • created

    Feb '20
  • last reply

    Feb '20
  • 2

    replies

  • 981

    views

  • 3

    users

  • 1

    link

Przypadkiem pętla while nie będzie się wykonywać w nieskończoność?
widzę tylko ‘break’ w pętlach wewnątrz głównej pętli a sama główna pętla while nie ma nigdzie ‘break’ ani podrzędne ‘return’