Форум программистов, компьютерный форум, киберфорум
Наши страницы

Ошибка "Access violation..." при попытке отсортировать структуру из файла быстрым методом - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Несколько простых задач... http://www.cyberforum.ru/cpp-beginners/thread306934.html
1. составить программу вывода 3-х значных десятичных цифр сумма которых делится на 3. #include "stdafx.h" #include <stdio.h> #include <iostream> using namespace std; int _tmain(int argc,...
C++ нужно составить программу. Всем привет,люди знающие хорошо с++ помогите написать программу. С внешнего устройства (с клавиатуры, из файла) вводятся последовательно числа, количество которых велико и заранее неизвестно.... http://www.cyberforum.ru/cpp-beginners/thread306922.html
Обработка символьной информации C++
Добрый день. Форумчани, очень нужна помощь, вот задание:Распечатать в порядке, обатном алфавитному, все буквы, которые входят в текст не менее трех раз... Вот код: #include "iostream" #include...
Списки, динамическая память и указатели C++
11. Написать функцию numberstring( ) для подсчета числа строк в тексте. Напечатать это число. То есть нужно создать однонаправленный список, в который заносится построчно текст какой-либо уже...
C++ Для каждого массива опpеделить номеp столбца с наибольшим количеством положительных элементов http://www.cyberforum.ru/cpp-beginners/thread306891.html
Помогите с решением!! Что надо вставить вместо ???, чтобы все работало? Даны вещественные массивы A, V. Для каждого массива опpеделить номеp столбца с наибольшим количеством положительных...
C++ Макросы Ребята помогите!Надо переделать все пож макросы.Но в литературе как -то всё обрывками написано.непонятно как целиком программу писать! вот напримет,было сказано - пишем в тексте программы ... подробнее

Показать сообщение отдельно
OstapBender
584 / 523 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
10.06.2011, 23:26
если количество известно заранее
telephone data[10];
если количество узнаем позже то например можно сначала посчитать количество строк в файле (если 1 строка на 1 структуру)
затем telephone *data = (telephone*)calloc(sizeof(telephone),count);
затем rewind(t);


заполнять можно так:
C
1
2
for (int i=0; i<count; i++)
fscanf(file,"%s%s%ld",data[i].name,data[i].adr,&data[i].number); // медленно но верно
также можно попробывать читать и сразу заполнять,
тогда придется мутить с realloc-ами, каждый раз перераспределять память на (++count)+sizeof(telephone);



упс... прочитал щас и понял что это вы уже сделали.
только вот брр
Цитата Сообщение от Alaraf Посмотреть сообщение
while(fread(&data,recsize,1,t)==1) {
strncpy(dataArray[i].name, data.name, 30);
strncpy(dataArray[i].adr, data.adr, 40);
dataArray[i].number = data.number; i++;
}
можно было сразу в dataArray пихать

Цитата Сообщение от Alaraf Посмотреть сообщение
а теперь как бы отсортированный массив назад засунуть?
очень просто.

freopen... режим очистки + записи

сортируем. (это сделано?)
затем в цикле
fprintf(t,"%s %s %ld\n",data[i].name,data[i].adr,data[i].number);
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru