bartek27210

cyfry w lancuchu

Apr 16th, 2017
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.16 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4.  
  5. int dlugosc(char *lan);
  6. int cyfry(char *lan, int *ile);
  7.  
  8. int main()
  9. {
  10.    char lan[50];
  11.    int *ile=0;
  12.    int c=0;
  13.    int d=0;
  14.    for(;;)
  15.    {printf("Podaj lancuch znakow:\n");
  16.    fgets(lan,50,stdin);
  17.    c=dlugosc(lan);
  18.    d=cyfry(lan,&ile);
  19.    if(ile==0) {printf("Brak cyfr w lancuchu\n"); return 0;}
  20.    printf("\nIlosc znakow w lancuchu: %d\n",c);
  21.    printf("Ilosc cyfr w lancuchu: %d\n", ile);
  22.    printf("Maksymalna cyfra w lancuchu: %d\n\n", d);
  23.     }
  24.     return 0;
  25. }
  26.  
  27. int dlugosc(char *lan)
  28. {
  29.     int i=0;
  30.     while(*(lan+i)!='\0'){
  31.         i++;}
  32.     return i-1;
  33.  
  34. }
  35.  
  36. int cyfry(char *lan, int *ile)
  37. {
  38.     int i=0;
  39.     int n=dlugosc(lan);
  40.     char tabcyf[30];
  41.     int j=0;
  42.     int k=0;
  43.     int maks=0;
  44.     int ilosc=0;
  45.  
  46.     for(i;i<n;i++)
  47.     {
  48.         if(lan[i]>=48 && lan[i]<=57)
  49.         {
  50.             ilosc=ilosc+1;
  51.             for(j;j<ilosc;j++)
  52.             {
  53.                 tabcyf[j]=lan[i]-48;
  54.             }
  55.  
  56.         }
  57.  
  58.     }
  59.         for(k;k<ilosc;k++)
  60.         {
  61.             if(tabcyf[k]>maks)
  62.             maks=tabcyf[k];
  63.         }
  64.     *ile=ilosc;
  65.     return maks;
  66.  
  67.  
  68. }
Advertisement
Add Comment
Please, Sign In to add comment