помогите написать прогу на СИ.

Discussion in 'Болталка' started by k1b0rg, 11 Dec 2005.

  1. k1b0rg

    k1b0rg Тут может быть ваша реклама.

    Joined:
    30 Jul 2005
    Messages:
    1,182
    Likes Received:
    399
    Reputations:
    479
    вот собственно говоря сабж, нужна прога на СИ, именно на СИ, на других языках бы я бы написал, но Си я плохо знаю. Кто знает СИ, прошу помочь! ))
     
  2. qBiN

    qBiN Вот такой вот я :(

    Joined:
    20 Jan 2005
    Messages:
    834
    Likes Received:
    73
    Reputations:
    33
    Нихера не понял что надо)))) Наверно потому что ты не привел пример файла input.txt , а вдумываться в задачу не хочется...
    Вопще в чем проблема?? что уже сделал то?
     
  3. k1b0rg

    k1b0rg Тут может быть ваша реклама.

    Joined:
    30 Jul 2005
    Messages:
    1,182
    Likes Received:
    399
    Reputations:
    479
    вот смотри в input.txt должна будет содержаться типа примерно такой фразы
    helloy,i,m,from,russia.
    слова разделены запятой.Всего строка может содержать от 1 до 30 слов, в слове может быть от 1 до10 строчных латинских букв. НАписать неповторяющиеся слова. На php я писал так, загонял в массив (по разделению "," )типа explode($string,",");
    а дальше сравнивал элементы массива, если повторяються ,тогда удалял повторения, если нет оставлял, в конечном ввиде ввыводил массив
     
  4. madnet

    madnet Умиротворенный

    Joined:
    9 Dec 2004
    Messages:
    868
    Likes Received:
    343
    Reputations:
    423
    Вот набросал тебе небольшой код со скуки, сильно не тестил, но вроде работает правильно.

    Code:
    #include <conio.h>
    #include <stdio.h>
    #include <string.h>
    #include <windows.h> 
    void checkmass(char *mass[255],int len);
    void checkmass(char *mass[255],int len)
    {
    int a,b;
    char test[255];
    strcpy(test,mass[0]);
     for(a=1;a<len;a++)
     {  
      for(b=a;b<len;b++)
      {
    	  if (strcmp(mass[b],test)==0) {mass[b]="";}
      }
      strcpy(test,mass[a]);
     }
    }
    int main(void)
    {
     FILE *filetoread,*filetosave;
     char str[255]="",*rfile,*sfile,*mass[255];
     int couner=0,a=0;
     system("cls");
     printf("**************************************\n");
     printf("*         coded by madnet            *\n");
     printf("*           12.12.2005               *\n");
     printf("**************************************\n\n");
     rfile = "input.txt";
     sfile = "output.txt";
     if ((filetoread = fopen(rfile,"r")) == NULL)
     {
       printf("ERROR: file input.txt not exists");
       getch();
       return(0);
     }
     else
     {
      if (fgets(str,255,filetoread))
      {
       fclose(filetoread);
       str[strlen(str)-1]=',';
       mass[0]=strtok(str,",");
       while (mass[couner] != NULL)
       {
        couner++;
        mass[couner]=strtok(NULL,",");
       }
       checkmass(mass,couner);
       if ((filetosave = fopen(sfile,"w")) != NULL)
       {
        for(a=0;a<couner;a++)
        {
        	if (mass[a]!="")
    		{
        	 fputs(mass[a],filetosave);
    		 fputs("\n",filetosave);
    		}
        }   
        fclose(filetosave);
       }
      }
     printf("work finished");
     getch();
     }
    }
    
     
    _________________________