Kad dadnem npr. a4b4c4d4 mi izpise samo 4444 umjesto 4 'a',4 'b'... itd.Molim cimprije ako se more jer sutra moram tu zadacu pokazati.
Evo moj kod:
Code:
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#define DUZ 1024
void razsiri(char *niz){
int i,j;
int broj=0;
int duzinaNiza=strlen(niz);
for(i=0;i<duzinaNiza;i++){
if(isalpha(niz[i]) !=0) {
if(isdigit(niz[i+1]) != 0 ){
while(isdigit(niz[i+1]) == 0)
broj=broj*10+niz[i];
for(j=0;j<broj;j++)
printf("%c",niz[i]);
broj=0;
}
else
printf("%c",niz[i]);
}
else
printf("%c",niz[i]);
}
}
int main(){
int i;
int br=1;
char niz[DUZ];
printf("Unesi string: \n");
scanf("%s",niz);
int duzinaNiza=strlen(niz);
for(i=0;i<duzinaNiza;i++){
if(isalpha(niz[i])!=0) {
if(niz[i+1]==niz[i]) {
br++;
}
else{
if(br==1)
printf("%c",niz[i]);
else
printf("%c%d",niz[i],br);
br=1;
}
}
else
printf("%c",niz[i]);
}
char niz2 [DUZ];
printf("\n");
printf("Unesi stisnuti niz:\n");
scanf("%s",niz2);
printf("\n");
razsiri(niz2);
return 0;
}
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#define DUZ 1024
void razsiri(char *niz){
int i,j;
int broj=0;
int duzinaNiza=strlen(niz);
for(i=0;i<duzinaNiza;i++){
if(isalpha(niz[i]) !=0) {
if(isdigit(niz[i+1]) != 0 ){
while(isdigit(niz[i+1]) == 0)
broj=broj*10+niz[i];
for(j=0;j<broj;j++)
printf("%c",niz[i]);
broj=0;
}
else
printf("%c",niz[i]);
}
else
printf("%c",niz[i]);
}
}
int main(){
int i;
int br=1;
char niz[DUZ];
printf("Unesi string: \n");
scanf("%s",niz);
int duzinaNiza=strlen(niz);
for(i=0;i<duzinaNiza;i++){
if(isalpha(niz[i])!=0) {
if(niz[i+1]==niz[i]) {
br++;
}
else{
if(br==1)
printf("%c",niz[i]);
else
printf("%c%d",niz[i],br);
br=1;
}
}
else
printf("%c",niz[i]);
}
char niz2 [DUZ];
printf("\n");
printf("Unesi stisnuti niz:\n");
scanf("%s",niz2);
printf("\n");
razsiri(niz2);
return 0;
}
[Ovu poruku je menjao cyber_killer dana 06.04.2007. u 07:43 GMT+1]
[Ovu poruku je menjao cyber_killer dana 06.04.2007. u 07:44 GMT+1]