Пятница, 29.03.2024, 18:43
Задачи по информатике
Главная | Регистрация | Вход Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: ignorer, KOT_B_MEIIIKE, PASCAL26, atvrider  
Форум » Решение задач по информатике » Задачи по программированию + блок-схемы » программа на C/C++
программа на C/C++
АйраэльДата: Среда, 19.05.2010, 19:19 | Сообщение # 1
Подполковник
Группа: Новичок
Сообщений: 26
[ 0 ]
Статус: Offline
Помогите исправить ошибки в проге или напишите новую. Желательно с подробными крментариями
Даны два текставых файла, со словами в две колонки, разделенные пробелом (в репвой колонке руские, через пробел английские), во втором файле русский текст и нужно считать . Нужно чтобы программа сравнивала слова из второго файла со словами, что в первой колонке первого файла, и если они совпали, то заменить на слова что во второй колонке. То есть должно получиться, что-то вроде переводчика.
Вот, на что у меня пока хватило мозгов:

#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <string.h>

int E(int i)
{
exit(i);
}

struct words
{
char* word1;
char* word2;
};

int main (int argc, char *argv[])
{
words A[20];
int k=0;
FILE* f=fopen("E:\\words.txt" ,"rt");
if(f==NULL)E(-1);
char buff[100];
fgets (buff, 100, f);
for (int i=0; i<100;i++)
{
if (buff[i]==' ')
{
buff[i]='\0';
A[k].word1 = malloc(i);
strcpy(A[k].word1,buff);
strcpy(A[k].word2,*buff[i+1]);

}
}
k++;


int fclose (FILE*u);
FILE* h=fopen("E:\\text.txt" ,"rt");
if(h==NULL)E(-1);
for (int i=0;i<100;i++)
{
if (buff[i]==' ')
{
buff[i]='\0';
for(int k=0;k<20;k++)
{
if (A[k].word1==buff)
{
buff=A[k];
}
}
k++;
}
}
int fclose(FILE*u);
}
Написать надо до вторника, то есть до 25
Заранее спасибо


Природа — сфинкс. И тем она верней
Своим искусом губит человека,
Что, может статься, никакой от века
Загадки нет и не было у ней.
 
GrihaIДата: Пятница, 21.05.2010, 19:23 | Сообщение # 2
Генерал-полковник
Группа: Участник
Сообщений: 89
[ 2 ]
Статус: Offline
Я сделал, но без проверок. надо дописать проверку на случай если слова нет в словаре, и знаки препинания.
Вывод в консоль, первая строка оригинал, вторая перевод.
Будут вопросы обращайся, чем могу помогу.
Code

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void main ()
{  
  char *bufT[200],*bufR[50];
  char *wordT,*wordR;
  char array_a[20][20]={' '};
  int temp=0,i=0,out=1;
  FILE *fr;//поток словаря
  FILE *ft;//поток текста
  //открытие и проверка на открытие
  if (((fr = fopen("E:\\words.txt","r"))==NULL)||((ft = fopen("E:\\text.txt","r"))==NULL))
  {
   printf("error opening file\n");
   exit(1);
  }
  while(!feof(ft))//если не конец файла с текстом
  {
   temp=i=0;
   out=1;
   printf("\n");
   fgets(bufT,200,ft);//считывает символы в переменную bufR,200 символов или до конца строки
   printf(bufT);//вывод на екран строки   
   wordT=strtok(bufT," \n");
   //записываем строку в массив
   while(wordT!=NULL)
   {
    strcpy(array_a[temp],wordT);
    temp++;
    wordT=strtok(NULL," \n");
   }
   while (!feof(fr)&& i<temp)//если не конец файла словаря
   {
    fgets(bufR,50,fr);//считывает символы в переменную bufR,200 символов или до конца строки
    wordR=strtok (bufR," \n");
    while (wordR!=NULL)
    {
     if(!strcmp(array_a[i],wordR))//если совпали слова
      {
       wordR=strtok (NULL," \n");
       printf("%s ",wordR);//выводим перевод
       rewind(fr);// установить указатель текущей позиции на начало файла.
       i++;
       break;       
       }
     wordR=strtok (NULL," \n");
    }
   }  
  }
  printf ("\n*******************\n");
  fclose(fr);
  fclose(ft);
}  


Собираю деньги на инв. коляску. С предложениями писать в личку или мыло.
 
АйраэльДата: Понедельник, 24.05.2010, 19:00 | Сообщение # 3
Подполковник
Группа: Новичок
Сообщений: 26
[ 0 ]
Статус: Offline
Спасибо большое!!!

Природа — сфинкс. И тем она верней
Своим искусом губит человека,
Что, может статься, никакой от века
Загадки нет и не было у ней.
 
Форум » Решение задач по информатике » Задачи по программированию + блок-схемы » программа на C/C++
  • Страница 1 из 1
  • 1
Поиск:

Copyright MyCorp © 2024