Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.03.2012, 11:18   #1
romanov0303
Новичок
Джуниор
 
Регистрация: 11.03.2012
Сообщений: 1
По умолчанию Не могу разобраться!

Имеется код:
Код:
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <ctype.h>
#define N 500
int Func(char *fileName)
{ FILE *f1;
char st[N];
if ((f1 = fopen (fileName,"wt")) == NULL)
return 1;
while (fgets(st,N,stdin)!= NULL)
fputs(st,f1);
fclose(f1);
return 0;
}
int palyndrome (int number) {
int a = number;
int b = 0;
while (a) {
b*=10;
b+=a%10;
a/=10;
}
if (number==b) return 1;
else return 0;
}
int Poisk(char *s)
{
 char *digit=NULL;
 int i,j,g;
 i=0;
 while(s[i])
 {
 while(s[i] && !isdigit(s[i]))
 i++;
 j=i;
 while(s[i] && isdigit(s[i]))
 i++;
 digit=(char *)malloc((i-j+1)*sizeof(char));
 strncpy(digit,&s[j],i-j);
 digit[i-j]='\0';
 g=atoi(digit);
 free (digit);
 digit=NULL;
 return g;
 }
 return 0;
}

void Pstring(char *s)
{
 int i,j,len=strlen(s),p;
 char *str=NULL;
 while (s[i] || s[j])
 {
 for (i=0;i<len && s[i]!='\n';i++);
 for (j=i+1;j<len && s[j]!='\n';j++);
 str=(char *)malloc((j-i+1)*(sizeof(char)));
 strncpy(str,&s[i],j-i);
 str[j-i]='\0';
 p=Poisk(str);
 if(palyndrome(p))
 // здесь надо прописать добавление строки str в файл №3 - она и будет являться строчкой, которая содержит палиндром;
 }

}
void main () {
int b;
char st[N];
char *name1 = "D:\\1.txt";
char *name2 = "D:\\2.txt";
Func(name1);

//printf
//printf ("%d",Func (name2));

}
не могу понять почему он не вводит числа и символы во второй файл а только в первый!и не знаю как добавить по заданию в третий файл!а задание заключается в том что бы соединить два файла в третий, добавив после содержимого первого файла только те строки второго файла, в которых имеются числа-палиндромы. Помогите пожауйста.

Последний раз редактировалось ACE Valery; 11.03.2012 в 22:31.
romanov0303 вне форума Ответить с цитированием
Старый 12.03.2012, 10:48   #2
Drugnir
Форумчанин
 
Регистрация: 17.11.2010
Сообщений: 262
По умолчанию

Func(name1) записывает в первый файл. А второй? Вы его создали, а кто туда писать что-то будет? А чтоб в третий записать, откройте оба для чтения и считывайте в таком порядке в каком вам надо и записывайте.
Drugnir вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++: не могу разобраться...=( Алиса Ростова Помощь студентам 0 03.12.2011 15:27
[C++] Не могу разобраться ... AquaticSoul Общие вопросы C/C++ 8 24.03.2010 16:23
НЕ МОГУ РАЗОБРАТЬСЯ... GSV84 HTML и CSS 0 03.02.2010 01:38
Не могу разобраться Zmaxer Помощь студентам 24 10.10.2009 18:52
не могу разобраться Инспектор ГУЛ Свободное общение 7 20.09.2009 09:29