Форум программистов, компьютерный форум CyberForum.ru

Файлы, работа с ними (ч.1) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ простые сортировки http://www.cyberforum.ru/cpp-beginners/thread125853.html
В первой строке входного файла input.txt записано число N (количество чисел, N<= 1000), затем идут N целых чисел. В файл output.txt вывести эти числа, отсортировав их по возрастанию. а)Реализовать шейкер-сортировку. б)реализовать любую другую "простую" сортировку из следующих: вставкой, выбором, подсчетом. помогите, очень прошу! можно и без файлов, я попробую их сама подкючить
C++ поиск подстроки в строке В первой строке входного файла input.txt находится строка, в которой производится поиск, во второй-шаблон. Найти все вхождения шаблона в строку. В файл output.txt выдать, с каким символом строки (считая с 0) начинаются совпадения (разделять индексы пробелом) или записать слово NO, если совпадение не было найдено. Использовать алгоритм Бойра-Муйра. помогите пожалуйста) можно сделать без... http://www.cyberforum.ru/cpp-beginners/thread125851.html
C++ Работа с БД
Задание : В магазине ювелирных изделий после проведения инвентаризации составлен полный спи-сок изделий с указанием пробы. Определить общий вес золота и серебра, если содержание дра-гоценных металлов в 1 грамме соответствующей пробы известно. Сгруппировать список изде-лий в соответствии с пробами. Учесть, что в магазине могут быть изделия не из драгоценных металлов. Исходные данные и...
Сортировка в Borland C C++
Помогите сделать задачу, а то я никак не додумаюсь! Дана матрица размерностью nxn, содержащая целые числа. Отсортировать главные диагонали матрицы по возрастанию методом вставки.
C++ Перпендикуляр из точки на прямую http://www.cyberforum.ru/cpp-beginners/thread125838.html
Привет. Прямая задана двумя точками (x1,y1) (x2,y2). Есть третья точка (x3,y3). Из точки нужно опустить перпендикуляр и найти координаты его основания на прямой (x4,y4). Думаю сделать в виде функции. Дополнительно можно постараться отложить отрезок заданной длинны a от четвёртой точки вдоль перпендикуляра в направлении третьей точки. Конец отрезка будет пятая точка. Подскажите формулы или...
C++ Важно! Написать программу решения линейных уравнений по методу Гаусса Матрица у меня состоит из 4х столбцов и трех строк. Выглядит матрица так (n*m) n m 1 (n*n) n 1 0 (n*logn) n logn 1 с1 с2 с3 с4 или матрица (n*m) (n*n) (n*logn) c1 n n n c2 m 1 logn c3 1 0 1 c4 подробнее

Показать сообщение отдельно
easybudda
Эксперт С++
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
06.05.2010, 10:35     Файлы, работа с ними (ч.1)
Цитата Сообщение от Лестат Посмотреть сообщение
Задача 3. Дано имя файла и вещественные числа A и D. Создать файл вещественных чисел с данным именем и записать в него 10 первых членов арифметической прогрессии с начальным членом A и разностью D:
A, A + D, A + 2*D, A + 3*D, …
Если "файл вещественных чисел" - это бинарный файл, то вот:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
#define SIZE 10
 
int main(void){
    double arr[SIZE], a, d;
    size_t i;
    char buf[MAX_PATH];
    FILE *f;
    
    printf("A = ");
    if ( scanf("%lf", &a) != 1 ){
        perror("scanf");
        exit(1);
    }
    printf("B = ");
    if ( scanf("%lf%*c", &d) != 1 ){
        perror("scanf");
        exit(1);
    }
    
    printf("Name for output file: ");
    if ( scanf("%s", buf) != 1 ){
        perror("scanf");
        exit(1);
    }
    
    for ( i = 0; i < SIZE; ++i )
        arr[i] = a + d * i;
    
    if ( ( f = fopen(buf, "wb") ) == NULL ){
        perror("fopen");
        exit(1);
    }
    if ( fwrite(arr, sizeof(double), SIZE, f) != SIZE ){
        perror("fwrite");
        if ( fclose(f) )
            perror("fclose");
        exit(1);
    }
    
    if ( fclose(f) ){
        perror("fclose");
        exit(1);
    }
    f = NULL;
    
    memset(arr, 0, sizeof(double) * SIZE); /* для чистоты эксперимента */
    
    if ( ( f = fopen(buf, "rb") ) == NULL ){
        perror("fopen");
        exit(1);
    }
    if ( fread(arr, sizeof(double), SIZE, f) != SIZE ){
        perror("fread");
        if ( fclose(f) )
            perror("fclose");
        exit(1);
    }
    if ( fclose(f) )
        perror("fclose");
    
    for ( i = 0; i < SIZE; ++i )
        printf("%f\n", arr[i]);
    
    exit(0);
}
Добавлено через 1 час 12 минут
2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
 
int main(void){
    int n, val;
    char buf[MAX_PATH];
    FILE *f;
    
    printf("Name for output file: ");
    if ( scanf("%s", buf) != 1 ){
        perror("scanf");
        exit(1);
    }
    printf("N = ");
    if ( scanf("%d", &n) != 1 ){
        perror("scanf");
        exit(1);
    }
    if ( n < 2 ){
        fprintf(stderr, "Too small!\n");
        exit(1);
    }
    if ( n > INT_MAX / 2 ){
        fprintf(stderr, "Too big!\n"); /* ;) */
        exit(1);
    }
    if ( ( f = fopen(buf, "wb") ) == NULL ){
        perror("fopen");
        exit(1);
    }
    for ( val = 2; n > 0; val += 2, --n ){
        if ( fwrite(&val, sizeof(int), 1, f) != 1 ){
            perror("fwrite");
            if ( fclose(f) )
                perror("fclose");
            exit(1);
        }
    }
    if ( fclose(f) ){
        perror("fclose");
        exit(1);
    }
    f = NULL;
    
    if ( ( f = fopen(buf, "rb") ) == NULL ){
        perror("fopen");
        exit(1);
    }
    while ( fread(&val, sizeof(int), 1, f) == 1 )
        printf("%d\n", val);
    
    val = 0;
    if ( ferror(f) ){
        perror("ferror");
        val = 1;
    }
    if ( fclose(f) ){
        perror("fclose");
        val = 1;
    }
    exit(val);
}
 
Текущее время: 17:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru