У меня есть 2 файла txt, где у меня есть номера> 0, и мне нужно их комбинировать и сортировать. Также не может быть двух одинаковых значений.Объединить 2 файла и отсортировать их
Вот значения файлов. File1:
1
2
3
4
5
6
7
File2:
1
3
6
8
10
Вывод должен выглядеть следующим образом:
1
2
3
4
5
6
7
8
10
код, который я до сих пор:
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fr1,*fr2;
int fst, snd, p[256], i=0, n=0;
bool f1=true,f2=true;
fr1 = fopen("txt/cisla.txt","r");
fr2 = fopen("txt/cisla2.txt","r");
while(feof(fr1) == 0 && feof(fr2) == 0)
{
if (f1) fscanf(fr1, "%d", &fst);
if (f2) fscanf(fr2, "%d", &snd);
printf("%d - %d\n", fst, snd);
if (fst == snd)
{
f1 = true;
f2 = true;
p[i] = fst;
} else if (fst > snd)
{
p[i] = snd;
f1 = false;
f2 = true;
} else
{
f2 = false;
f1 = true;
p[i] = fst;
}
i++;
}
fclose(fr1);
fclose(fr2);
printf("\n\n\n");
for(int j = 0; j < i; j++)
{
printf("%d\n", p[j]);
}
return 0;
}
Результат это:
1 - 1
2 - 3
3 - 3
4 - 6
5 - 6
6 - 6
7 - 8
1
2
3
4
5
6
7
Нижняя часть - это массив. Вверху я пишу значения, которые читаются. Дело в том, что он, кажется, останавливается в конце первого файла, но я хочу, чтобы он продолжал второй, даже если первый находится в конце.
Ваши файлы сортируются, не так ли? – dasblinkenlight
да они отсортированы – DeiForm
'system (" cat file1 file2> sort ");'? –