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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.11.2011, 18:10   #1
Fundorin
Новичок
Джуниор
 
Регистрация: 15.11.2011
Сообщений: 1
По умолчанию чтение данных из файла и запись в в массив.как чтобы до конца читал?

Код:
#include <iostream>
#include <time.h>
#include <stdio.h>
int i;
using namespace std;

void RecMas(char*name,int*a,int n)//запись данных в файл
{
        int i;
        FILE *out;
        if(!(out=fopen(name,"w")))
        {
                printf("ошибка открытия файла\n");
                return;
        }
        for(i=0;i<n;i++)
        {
                fprintf(out,"%d  ",a[i]);
                        
        }
        fclose(out);
}
void FvMa(char*name,int*a,int n)//запись данных из файла в массив
{
         i=0;
        
        FILE *in;
        if(!(in=fopen(name,"rt")))
        {
                printf("ошибка открытия файла\n");
                return;
        }
        
        if(in!=NULL)
		{
			while(!feof(in))
			{
				fscanf(in,"%d  ",&a[i]);
				i++;
				
				
			}
			n=i;
		}
		else cout<<"error\n";


 
        
        fclose(in);
}
extern void SquareCountingSort(int *a,int n);

void main()
{
        setlocale (LC_ALL,".1251");
         int n,c;
	    char*name=new char[81];
		int *a; 
        cout<<"количество элементов массива\n";
        cin>>n;
        a=new int [n];
        cout<<"выберите вариант для получения входных данных:\n 1) непосредственный  ввод\n 2) генерирование с помощью датчика случайных чисели запись в текстовый файл\n 3) ввод из текстового файла\n";
        cin>>c;
	
        switch (c)
        {
	case 1:cout<<"введите элементы массива"<<endl; 
	for(i=0;i<n;i++)
	cin>>a[i];
 
	
	RecMas(1.txt,&a[0],n);//запись массива в файл
	SquareCountingSort(a,n);
	cout<<"отсортированный массив"<<endl;
	for(i=0;i<n;i++)
	cout<<a[i]<<' ';
	cout<<endl;
	
    
 
 
	break;
		            case 2:srand(time(0));
 
                                for(i=0;i<n;i++)
                                        a[i]=rand()%100;
                                cout<<"элементы сгенерированного массива"<<endl;
                                for(i=0;i<n;i++)
                                        cout<<a[i]<<" ";
								cout<<endl;
								RecMas(2.txt,&a[0],n);//запись массива в файл
                                SquareCountingSort(a,n);
                                cout<<"отсортированный массив"<<endl;
                                for(i=0;i<n;i++)
                                cout<<a[i]<<" ";
								cout<<endl;
                                
                                
                                
	break;
	                case 3:
                        FvMa(3.txt,a,n);//запись из файла в массив
                        SquareCountingSort(a,n);
                        cout<<"отсортированный массив"<<endl;
                        for(i=0;i<n;i++)
                        cout<<a[i]<<" ";
						cout<<endl;

                        
                        
	break;
        
	}
}
и вот подключенный метод сортировки.
Код:
#include <stdio.h>
void SquareCountingSort(int *a,int n)
	
{
	int i,j,c;
	int *b;
	b=new int [n];
    for (i = 0;i<= (n - 1);i++)
	{
        c = 0;
        for (j = 0;j<= (i - 1);j++)
		{
            if (a[j] <= a[i])
                c = c + 1;
		}
        for (j = i + 1; j<= (n - 1);j++)
		{
            if (a[j] < a[i])
                c = c + 1;
		}
		
        b[c] = a[i];
		
	}
	
	 for (int i=0; i<n; i++)
		 a[i]=b[i];
	 

}
все работает просто как сделать так чтобы записывало в массив до конца файла а не количество введенных?
Fundorin вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запись на файл/чтение данных с файла stas135642 Общие вопросы C/C++ 11 25.02.2011 13:33
Как нстроить Ворд, чтобы он читал французские символы? hora Microsoft Office Word 8 30.04.2010 11:18
Чтение из файла в запись THX35 Фриланс 8 19.03.2010 22:41
чтение\запись из файла Skrip Общие вопросы C/C++ 3 23.09.2009 19:05
Запись и чтение файла... Altera Общие вопросы Delphi 5 06.05.2008 20:22