Advertisement
zsoltizbekk

Untitled

May 20th, 2015
234
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.81 KB | None | 0 0
  1. /*Írjon függvényt, amely paraméterként megkapja egy sztringeket tartalmazó kétdimenziós tömb kezdőcímét, valamint sorainak és oszlopainak számát! A függvény járja be sorfolytonosan a kétdimenziós tömböt, határozza meg a tömb leghosszabb sztringjét, készítsen róla másolatot, és az eredeti tömb módosítása nélkül adja vissza e másolat kezdőcímét! Ha a tömbben több olyan sztring is található, amelynek a hossza megegyezik a leghosszabbéval, akkor a bejárás sorrendjében legelsőről készítsen másolatot a függvény!
  2. */
  3.  
  4. #include <stdio.h>
  5. #include <stdlib.h>
  6. #include "myheader.h"
  7. #define N 3
  8. #define M 4
  9.  
  10. int main()
  11. {
  12.   char *t[ N ][ M ] =
  13.     { { "alma",     "dio",        "korte",   "szilva" },
  14.       { "eper",     "cseresznye", "banan",   "narancs" },
  15.       { "mandarin", "szolo",      "ribizli", "malna" } };
  16.   int i, j;
  17.   char *p;
  18.   printf( "%d %d\n\n", N, M );
  19.   for ( i = 0; i < N; ++i )
  20.   {
  21.     for ( j = 0; j < M; ++j )
  22.     {
  23.       if ( j > 0 )
  24.         putchar( ' ' );
  25.       printf( "*%s*", t[ i ][ j ] );
  26.     }
  27.     putchar( '\n' );
  28.   }
  29.   putchar( '\n' );
  30.   p = longcopy( &t[0][0], N, M );
  31.   for ( i = 0; i < N; ++i )
  32.   {
  33.     for ( j = 0; j < M; ++j )
  34.     {
  35.       if ( j > 0 )
  36.         putchar( ' ' );
  37.       printf( "*%s*", t[ i ][ j ] );
  38.     }
  39.     putchar( '\n' );
  40.   }
  41.   putchar( '\n' );
  42.   printf( "*%s*\n", p );
  43.   free( p );
  44.   return EXIT_SUCCESS;
  45. }
  46.  
  47. char *longcopy( char *t[], int sor, int oszlop)
  48. {
  49.     int i, j, hossz;
  50.     char *hosszu=(char *)malloc(sizeof(char)*100);
  51.  
  52.  
  53.     for (i=0; i<sor; i++)
  54.         for (j=0; j<oszlop; j++)
  55.             if ((i==0 && j==0) || (strlen(t[i*oszlop+j])>hossz)){
  56.                 hossz=strlen(t[i*oszlop+j]);
  57.                 strcpy(hosszu, t[i*oszlop+j]);
  58.             }
  59.     return hosszu;
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement