• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

проблема с файлами в С++

  • Автор темы rocketsolid
  • Дата начала
R

rocketsolid

Доброго времени суток всем !
один вопрос есть наболевший
необходимо упорядочить массив по возрастанию(считать массив из одного файла и записать в другой) . Ничего особо не придумывал (сортировка пузырьком)!
Вот текст :
исходный массив (1 3 -8 5 6 -2) в файле1

Код:
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
void main()
{
int a[6];
int i, j,x;
FILE * f1,* f2;
clrscr();
f1 = fopen("file1.txt", "r");
for(i=0;i<6; i++)
fscanf(f1, "%d", &a[i]);
fclose(f1);
f2 = fopen("file2.txt","w");
fprintf(f2,"%s", "Otsortirovanny massiv: \n");
for( i=0; i < 6; i++)
for( j = 6; j >i; j-- )
{
if (a[j-1]>a[j])
{
x=a[j-1];
a[j-1]=a[j];
a[j]=x;
fprintf(f2,"%d ", a[i]);
} // как их много{}{}{}{}{
}
}
помогите найти ошибку (знаю что она скорее всего тупая!)

P.S. и ещё В файле задан массив из девяти элементов. В новом файле-> массив, в котором каждому элементу будет присвоено значение справа соседнего с ним. Последнему элементу присвоить значение первого
 
C

Creo

rocketsolid
Из вашего описания не понятно, в чём собственно ошибка... Опишите поподробнее... Что именно работает не так... На первый взгляд у вас всё вроде должно быть нормально..
 
R

rocketsolid

Спасибо большое за помощь, но ошибка оказалась куда более простой:
строка fprintf(f2,"%d ", a); должна быть написана ниже, а именно после одной из" } " (уже точно не помню)
 
G

greedcat

Ты вообще где учишься !?
Не знаешь, что надо ставить отступы?
Да скобки не хватает. Смотри...
А то никогда не найдешь ошибок.ъ
Вот когда дибагер успокоится, тогда и готовься к серьёзным испытаниям!
Код:
//---------------------------------------------------------------------------
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[6];
int i, j,x;
FILE * f1,* f2;
clrscr();
f1 = fopen("file1.txt", "r");
for(i=0;i<6; i++)
fscanf(f1, "%d", &a[i]);
fclose(f1);
f2 = fopen("file2.txt","w");
fprintf(f2,"%s", "Otsortirovanny massiv: \n");
for( i = 0; i < 6; i++)
for( j = 6; j > i; j--)
{
if (a[j-1]>a[j])
{
x=a[j-1];
a[j-1]=a[j];
a[j]=x;
fprintf(f2,"%d ", a[i]);	getch();
}
return 0;
}
//---------------------------------------------------------------------------

Ой, а я и незаметил, что отступы не оставляются в форумском сообщении ;)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!