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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
tatianlv
0 / 0 / 0
Регистрация: 07.03.2012
Сообщений: 19
#1

Записать в файл заданного типа суммы элементов каждого столбца исходного файла - C++

07.03.2012, 14:24. Просмотров 620. Ответов 8
Метки нет (Все метки)

Помогоите, пожалуйста! как решить эту задачу?
Пусть в файле, компонентами которого являются целые числа, первым элементом является размерность квадратной матрицы, а остальные элементы образуют строки этой матрицы. Записать в другой файл того же типа суммы элементов каждого столбца. Использовать только файловые операции. Результат вывести на экран.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.03.2012, 14:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Записать в файл заданного типа суммы элементов каждого столбца исходного файла (C++):

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

Вычислить суммы элементов каждого столбца матрицы - C++
Есть задание , нужно сделать двумерный динамический массив , чтобы он считывался из файла . А вот сами условия :Дана матрица Е размером...

Вычислить суммы положительных элементов для каждого столбца - C++
Дан двумерный массив размером m*n. Заполнить его с клавиатуры. Определить номера строк, содержащих только положительные элементы. вот...

Вычислить суммы элементов каждого столбца матрицы, и занести их в одномерный массив - C++
Всем привет! помогите плз написать программу для ввода элементов двумерного массива, вывода этого массива на экран. Вычислить суммы...

Создать массив, составленный из суммы отрицательных элементов каждого столбца матрицы - C++
Помогите немного с программой, не пойму как реализовать... Нужно создать матрицу размером 4х5, заполнить её. Затем создать массив,...

Записать в файл максимальные из чисел каждой строки исходного файла - C++
В текстовом файле input.txt содержится несколько строк , в каждой из которых имеются символы-цифры. Записать в файл output.txt построчно...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
easybudda
Модератор
Эксперт CЭксперт С++
9632 / 5580 / 948
Регистрация: 25.07.2009
Сообщений: 10,714
07.03.2012, 14:36 #2
Цитата Сообщение от tatianlv Посмотреть сообщение
первым элементом является размерность квадратной матрицы
Либо первыми двумя (у квадратной матрицы два измерения), либо как-нибудь по-хитрому, вроде: старшие два байта - строки, младшие - колонки. И каким должен файл быть - двоичным/текстовым?
0
sandye51
программист С++
684 / 586 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
07.03.2012, 15:23 #3
Цитата Сообщение от easybudda Посмотреть сообщение
Либо первыми двумя (у квадратной матрицы два измерения)
квадратная она и в Африке квадратная, число строк равно числу столбцов. Зачем хранить 2 одинаковых числа?
0
easybudda
Модератор
Эксперт CЭксперт С++
9632 / 5580 / 948
Регистрация: 25.07.2009
Сообщений: 10,714
07.03.2012, 15:49 #4
Цитата Сообщение от sandye51 Посмотреть сообщение
квадратная она и в Африке квадратная
Гы, точно! Тормоз я сегодня!
Но тем не менее второй вопрос актуален...
0
tatianlv
0 / 0 / 0
Регистрация: 07.03.2012
Сообщений: 19
07.03.2012, 20:45  [ТС] #5
Цитата Сообщение от easybudda Посмотреть сообщение
Гы, точно! Тормоз я сегодня!
Но тем не менее второй вопрос актуален...
файл должен быть текстовым
0
easybudda
Модератор
Эксперт CЭксперт С++
9632 / 5580 / 948
Регистрация: 25.07.2009
Сообщений: 10,714
08.03.2012, 00:21 #6
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
#include <stdio.h>
#include <stdlib.h>
 
#define INPUT_FILE_NAME "input.txt"
#define OUTPUT_FILE_NAME "output.txt"
 
int main(void){
    FILE * f;
    int size, i, j, value, * arr;
    
    if ( ! ( f = fopen(INPUT_FILE_NAME, "r") ) ){
        fprintf(stderr, "Can't open %s for input!\n", INPUT_FILE_NAME);
        exit(1);
    }
    
    if ( fscanf(f, "%d", &size) != 1 ){
        fprintf(stderr, "Can't read from %s!\n", INPUT_FILE_NAME);
        exit(1);
    }
    
    if ( ! ( arr = calloc(size, sizeof(int)) ) ){
        fprintf(stderr, "Can't allocate %d elements of int type!\n", size);
        exit(1);
    }
    
    for ( i = 0; i < size; ++i ){
        for ( j = 0; j < size; ++j ){
            if ( fscanf(f, "%d", &value) != 1 ){
                fprintf(stderr, "Can't open %s for input!\n", INPUT_FILE_NAME);
                exit(1);
            }
            arr[j] += value;
        }
    }
    
    if ( fclose(f) ){
        fprintf(stderr, "Can't properly close input file!\n");
        exit(1);
    }
    
    if ( ! ( f = fopen(OUTPUT_FILE_NAME, "w") ) ){
        fprintf(stderr, "Can't open %s for output!\n", OUTPUT_FILE_NAME);
        exit(1);
    }
    
    for ( i = 0; i < size; ++i ){
        if ( fprintf(f, "%d%c", arr[i], ( i < size - 1 ) ? ' ' : '\n') < 1 ){
            fprintf(stderr, "Can't write to %s!\n", OUTPUT_FILE_NAME);
            exit(1);
        }
    }
    
    if ( fclose(f) ){
        fprintf(stderr, "Can't properly close output file!\n");
        exit(1);
    }
 
    free(arr);
    fprintf(stderr, "Done.\n");
    
    exit(0);
}
Записать в файл заданного типа суммы элементов каждого столбца исходного файла
Вроде ничего не перепутал...
0
tatianlv
0 / 0 / 0
Регистрация: 07.03.2012
Сообщений: 19
08.03.2012, 01:32  [ТС] #7
Цитата Сообщение от easybudda Посмотреть сообщение
if ( ! ( arr = calloc(size, sizeof(int)) )
оно находит мне здесь ошибку...
0
easybudda
Модератор
Эксперт CЭксперт С++
9632 / 5580 / 948
Регистрация: 25.07.2009
Сообщений: 10,714
08.03.2012, 03:43 #8
Цитата Сообщение от tatianlv Посмотреть сообщение
оно находит мне здесь ошибку...
Вы им пытаетесь С-программу компилировать, как С++, что не правильно. Если в подробности не вдаваться, то
C++
1
if ( ! ( arr = (int*)calloc(size, sizeof(int)) )
1
tatianlv
0 / 0 / 0
Регистрация: 07.03.2012
Сообщений: 19
08.03.2012, 14:39  [ТС] #9
огромное-огромное спасибо!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.03.2012, 14:39
Привет! Вот еще темы с ответами:

Найти произведение отрицательных элементов каждого столбца матрицы и записать их в одномерный массив - C++
Дана матрица H . Найти произведение отрицательных элементов каждого столбца матрицы и записать их в одномерный массив B.

Записать в новый файл наибольшее каждых пяти компонентов исходного файла - C++
Дан файл F(создать его), компоненты которого-целые числа. Число их кратно 5. Записать в новый файл G наибольшее из 1-ых 5-ти компонентов...

Файловый поток: записать в другой файл различные числа исходного файла - C++
Дан файл целых чисел. Записать в другой файл различные числа исходного файла.

Определить, верно ли утверждение: сумма элементов каждого i-го столбца матрицы больше суммы i-й строки - C++
Дана матрица натуральных чисел,(получаемая через rand()). Определить, верно ли утверждение: сумма элементов каждого i-го столбца матрицы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
08.03.2012, 14:39
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru