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

Тема в разделе "C и С++ FAQ", создана пользователем rocketsolid, 31 окт 2008.

  1. rocketsolid

    rocketsolid Гость

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

    Код (Text):
    #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. и ещё В файле задан массив из девяти элементов. В новом файле-> массив, в котором каждому элементу будет присвоено значение справа соседнего с ним. Последнему элементу присвоить значение первого
     
  2. Creo

    Creo Гость

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

    grigsoft Well-Known Member

    Регистрация:
    15 ноя 2005
    Сообщения:
    735
    Симпатии:
    0
    вместо a[j-1] должно быть a
     
  4. rocketsolid

    rocketsolid Гость

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

    greedcat Гость

    Ты вообще где учишься !?
    Не знаешь, что надо ставить отступы?
    Да скобки не хватает. Смотри...
    А то никогда не найдешь ошибок.ъ
    Вот когда дибагер успокоится, тогда и готовься к серьёзным испытаниям!
    Код (Text):
    //---------------------------------------------------------------------------
    #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;
    }
    //---------------------------------------------------------------------------
    Ой, а я и незаметил, что отступы не оставляются в форумском сообщении ;)
     
  6. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    Теги кода ставить нужно
     
Загрузка...
Похожие Темы - проблема файлами С++
  1. c0de3r
    Ответов:
    4
    Просмотров:
    109
  2. DobermannTT
    Ответов:
    10
    Просмотров:
    130
  3. SoulPaladin
    Ответов:
    3
    Просмотров:
    118
  4. Artael
    Ответов:
    1
    Просмотров:
    106
  5. ENSLER
    Ответов:
    0
    Просмотров:
    100

Поделиться этой страницей