Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<string.h>
- #include<ctype.h>
- // niza[i] e isto so *(niza+i)
- // 5167168 16
- int main(){
- int i,brojac=0;
- char inputZbor[15];
- scanf("%s",&inputZbor);
- // go pravime zborot da e so mali bukvi
- for(i=0;i<strlen(inputZbor);i++){
- inputZbor[i]=tolower(inputZbor[i]);
- }
- FILE *f=fopen("text.txt","r");
- char red[80],pamtiRed[80];
- char tempZbor[20];
- int goleminaRed;
- int maxZboroviVoRed=0;
- int index=0;
- while(fgets(red,80,f)!=NULL){
- // resetirame brojacot na zborovi za sekoj red
- brojac=0;
- goleminaRed=strlen(red);
- for(i=0;i<goleminaRed;i++){
- // site od redot da gi praime mali bukvi
- red[i]=tolower(red[i]);
- if(isspace(red[i])){
- // da se osigurame deka nema extra znaci od krajot
- tempZbor[index]='\0';
- if(strcmp(tempZbor,inputZbor)==0){
- brojac++;
- }
- // resetirame tempZbor promenlivata za da stavame nov zbor od pocetok
- tempZbor[0]='\0';
- // resetirame index za da dodavame pak od pocetokot karakteri
- index=0;
- }else{
- // samo mali bukvi stavame vo zborot
- tempZbor[index]=tolower(red[i]);
- index++;
- }
- }
- // sporeduvame brojot na zborovi so max zborovi do sega najdeni vo nekoj red
- if(brojac>maxZboroviVoRed){
- maxZboroviVoRed=brojac;
- // go pamtime redot za da go isprintame na kraj
- strcpy(pamtiRed,red);
- }
- }
- printf("%s\n",pamtiRed);
- fclose(f);
- return 0;
- }
- /*
- cifriOdBrojR(1255) = 10 * 1000
- cifriOdBrojR(125) = 10 * 100
- cifriOdBrojR(12) = 10 * 10
- cifriOdBrojR(1) = 10 * 1
- cifriOdBrojR(0) = 1
- */
- /*
- // so rekurzija cifri od broj
- int cifriOdBrojR(int x){
- if(x==0){
- return 1;
- }else{
- return 10*cifriOdBrojR(x/10);
- }
- }
- // bez rekurzija cifri od broj
- int cifriOdBroj(int x){
- int nekojBrojac=1;
- while(x>0){
- x=x/10;
- nekojBrojac=nekojBrojac*10;
- }
- return nekojBrojac;
- }
- // bez povtoruvanje
- int bezRekurzija(int a,int b){
- int brojac=0;
- while(a>0){
- if(b==a%cifriOdBrojR(b)){
- brojac++;
- a=a/cifriOdBrojR(b);
- }else{
- a=a/10;
- }
- }
- return brojac;
- }
- // bez povtoruvanje rekurzija
- int soRekurzija(int a,int b){
- if(a==0){
- return 0;
- }else{
- if(a%cifriOdBrojR(b)==b){
- return 1 + soRekurzija(a/cifriOdBrojR(b),b);
- }else{
- return soRekurzija(a/10,b);
- }
- }
- }
- // bez povtoruvanje
- int bezRekurzijaP(int a,int b){
- int brojac=0;
- while(a>0){
- if(b==a%cifriOdBrojR(b)){
- brojac++;
- a=a/10;
- }else{
- a=a/10;
- }
- }
- return brojac;
- }
- // so povtoruvanje rekurzija
- int soRekurzijaP(int a,int b){
- if(a==0){
- return 0;
- }else{
- if(b==a%cifriOdBrojR(b)){
- return 1 + soRekurzijaP(a/10,b);
- }else{
- return soRekurzijaP(a/10,b);
- }
- }
- }
- int main(){
- int a,b,pom;
- scanf("%d%d",&a,&b);
- if(b>a){
- pom=a;
- a=b;
- b=pom;
- }
- printf("%d\n",cifriOdBrojR(b));
- printf("Bez povtoruvanje %d\n",soRekurzija(a,b));
- printf("So povtoruvanje %d\n",soRekurzijaP(a,b));
- return 0;
- }
- // sporedni dijagonali
- /*
- int main(){
- int n,m,i,j;
- scanf("%d",&n);
- int matrica[n][n];
- for(i=0;i<n;i++){
- for(j=0;j<n;j++){
- scanf("%d",&matrica[i][j]);
- }
- }
- printf("\n");
- int brojac=0;
- for(brojac=0;brojac<n;brojac++){
- for(i=0;i<n;i++){
- for(j=0;j<n;j++){
- if(i+j==n-1-brojac){
- matrica[i][j]=brojac;
- }
- if(i+j==n-1+brojac){
- matrica[i][j]=brojac*-1;
- }
- }
- }
- }
- for(i=0;i<n;i++){
- for(j=0;j<n;j++){
- printf("%d ",matrica[i][j]);
- }
- printf("\n");
- }
- return 0;
- }
- // glavni dijagonali
- /*
- int main(){
- int n,m,i,j;
- scanf("%d",&n);
- int matrica[n][n];
- for(i=0;i<n;i++){
- for(j=0;j<n;j++){
- scanf("%d",&matrica[i][j]);
- }
- }
- printf("\n");
- int brojac=0;
- for(brojac=0;brojac<n;brojac++){
- for(i=0;i<n;i++){
- for(j=0;j<n;j++){
- if(i+brojac==j){
- matrica[i][j]=brojac;
- }
- if(i==j+brojac){
- matrica[i][j]=brojac*-1;
- }
- }
- }
- }
- for(i=0;i<n;i++){
- for(j=0;j<n;j++){
- printf("%d ",matrica[i][j]);
- }
- printf("\n");
- }
- return 0;
- }
- /*
- 5
- 0 0 0 0 0
- 0 0 0 0 0
- 0 0 0 0 0
- 0 0 0 0 0
- 0 0 0 0 0
- */
- // zadaca 2 od code
- /*
- int main(){
- int n,m,i,j;
- scanf("%d%d",&n,&m);
- int matrica[n][m];
- for(i=0;i<n;i++){
- for(j=0;j<m;j++){
- scanf("%d",&matrica[i][j]);
- }
- }
- int i1,j1;
- scanf("%d%d",&i1,&j1);
- int suma1=0;
- int suma2=0;
- int suma3=0;
- int suma4=0;
- for(i=0;i<n;i++){
- for(j=0;j<m;j++){
- // reg 1
- if(i<i1 && j>=j1){
- suma1+=matrica[i][j];
- //matrica[i][j]=1;
- }
- // reg 2
- if(i<i1 && j<j1){
- suma2+=matrica[i][j];
- //matrica[i][j]=2;
- }
- // reg 3
- if(i>=i1 && j<j1){
- suma3+=matrica[i][j];
- //matrica[i][j]=3;
- }
- // reg 4
- if(i>=i1 && j>=j1){
- suma4+=matrica[i][j];
- //matrica[i][j]=4;
- }
- //printf("%d ",matrica[i][j]);
- }
- //printf("\n");
- }
- printf("%d %d %d %d\n",suma1,suma2,suma3,suma4);
- return 0;
- }
- /*
- int main(){
- int n,m,i,j;
- scanf("%d",&n);
- int matrica[n][n];
- for(i=0;i<n;i++){
- for(j=0;j<n;j++){
- scanf("%d",&matrica[i][j]);
- }
- }
- for(i=0;i<n;i++){
- for(j=0;j<n;j++){
- // 1 kvadrant
- if(j<n/2 && i<n/2){
- matrica[i][j]=1;
- }
- // 2 kvadrant
- if(j>=n/2 && i<n/2){
- matrica[i][j]=2;
- }
- // 3 kvadrant
- if(i>=n/2 && j<n/2){
- matrica[i][j]=3;
- }
- // 4 kvadrant
- if(i>=n/2 && j>=n/2){
- matrica[i][j]=4;
- }
- printf("%d ",matrica[i][j]);
- }
- printf("\n");
- }
- return 0;
- }
- // premesti blok A od code
- /*
- int main(){
- int n,m,i,j;
- scanf("%d",&n);
- int matrica[n][2*n];
- for(i=0;i<n;i++){
- for(j=0;j<2*n;j++){
- scanf("%d",&matrica[i][j]);
- }
- }
- int novaMatrica[2*n][n];
- 3
- 1 1 1 0 0 0
- 1 1 1 0 0 0
- 1 1 1 0 0 0
- 3 x 2*3
- 00 01 02 03 04 05
- 10 11 12 13 14 15
- 20 21 22 23 24 25
- 2*3 x 3
- 00 01 02
- 10 11 12
- 20 21 22
- 30 31 32
- 40 41 42
- 50 51 52
- i=3 -> i=0
- 30 -> 03
- 31 -> 04
- 32 -> 05
- i=4 -> i=1
- 40 -> 13
- 41 -> 14
- 42 -> 15
- i=5 -> i=2
- 50 -> 23
- 51 -> 24
- 52 -> 25
- // prvata polovina od matricata
- for(i=0;i<n;i++){
- for(j=0;j<n;j++){
- novaMatrica[i][j]=matrica[i][j];
- }
- }
- // vtorata polovina od matricata
- for(i=n;i<2*n;i++){
- for(j=0;j<n;j++){
- novaMatrica[i][j]=matrica[i-n][j+n];
- }
- }
- for(i=0;i<2*n;i++){
- for(j=0;j<n;j++){
- printf("%d ",novaMatrica[i][j]);
- }
- printf("\n");
- }
- return 0;
- }
- // najdolg red od code
- /*
- int main(){
- FILE *f=fopen("text.txt","r");
- char red[80];
- char najdolgRed[80];
- int maxRed=0;
- int n,i;
- int brojac=0;
- while(fgets(red,80,f)!=NULL){
- brojac=0;
- n=strlen(red);
- for(i=0;i<n;i++){
- if(isdigit(red[i])){
- brojac++;
- }
- }
- if(n>=maxRed && brojac>=2){
- maxRed=n;
- strcpy(najdolgRed,red);
- }
- }
- int prvaCifra;
- for(i=0;i<strlen(najdolgRed);i++){
- if(isdigit(najdolgRed[i])){
- prvaCifra=i;
- break;
- }
- }
- int poslednaCifra;
- for(i=strlen(najdolgRed)-1;i>=0;i--){
- if(isdigit(najdolgRed[i])){
- poslednaCifra=i;
- break;
- }
- }
- for(i=prvaCifra;i<=poslednaCifra;i++){
- printf("%c",najdolgRed[i]);
- }
- printf("\n");
- fclose(f);
- return 0;
- }
- /*
- // zadaca 1 od code
- // bez rekurzija
- int sum_pos(int *niza,int n,int ind){
- int i;
- int suma=0;
- if(ind>n){
- return 0;
- }else{
- for(i=ind;i<n;i++){
- suma+=*(niza+i);
- }
- return suma;
- }
- }
- // so rekurzija
- int sum_posR(int *niza,int n,int ind){
- if(ind>=n){
- return 0;
- }else{
- return *(niza+ind) + sum_posR(niza,n,ind+1);
- }
- }
- int main(){
- int n,i;
- scanf("%d",&n);
- int niza[n];
- for(i=0;i<n;i++){
- scanf("%d",&niza[i]);
- }
- int ind;
- scanf("%d",&ind);
- printf("%d\n",sum_posR(niza,n,ind));
- return 0;
- }
- // linii od code
- /*
- int main(){
- int n,m,i,j;
- scanf("%d%d",&n,&m);
- int matrica[n][m];
- for(i=0;i<n;i++){
- for(j=0;j<m;j++){
- scanf("%d",&matrica[i][j]);
- }
- }
- int brojac=0;
- // red po red
- for(i=0;i<n;i++){
- for(j=0;j<m;j++){
- // toj levo i toj desno da se 1
- if(j>0 && j<m-1 && matrica[i][j]==1){
- if(matrica[i][j-1]==1 && matrica[i][j+1]==1){
- brojac++;
- break;
- }
- }
- }
- }
- // kolona po kolona
- for(j=0;j<m;j++){
- for(i=0;i<n;i++){
- // toj gore i toj dole da se 1
- if(i>0 && i<n-1 && matrica[i][j]==1){
- if(matrica[i-1][j]==1 && matrica[i+1][j]==1){
- brojac++;
- break;
- }
- }
- }
- }
- printf("%d\n",brojac);
- return 0;
- }
- */
Advertisement
Add Comment
Please, Sign In to add comment