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

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

Войти
Регистрация
Восстановить пароль
 
Saddiel
7 / 7 / 0
Регистрация: 02.11.2012
Сообщений: 152
#1

Сформировать из считаных из файла чисел матрицу, содержащую 4 столбца - C++

19.05.2014, 15:49. Просмотров 227. Ответов 1
Метки нет (Все метки)

Привет всем, помогите исправить код для программы.
Задание.
В каждом из заданий исходный файл формировать программно. Количество элементов исходного файла неизвестно.
Методические рекомендации.
Целесообразно для создания бинарного файла создать отдельную программу. Числа могут вводиться либо пользователем, либо счетчиком случайных чисел. Количество чисел в файле задавать случайным образом, и оно должно быть неизвестно в основной программе, т.е. цикл выполняется при условии «пока не конец файла». Для проверки правильности работы программы на экран выводить и первоначальное содержимое файла, и результат.
Задача
В файле содержится некоторое количество чисел. Сформировать из них матрицу, содержащую 4 столбца. Недостающие элементы последней строки задать равными нулю. Вывести на экран матрицу в общепринятом виде, ее размерность и суммы элементов главной диагонали и побочной диагонали.
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
#include<stdio.h>
#include<iostream>
#include<stdlib.h>
 
using namespace std;
 
int main()
{
    FILE *f; int q,i,j=0,n=1;
    int **a = new int *[q];
    for(i=0;i<q;i++) a[i] = new int [4];
    
    f=fopen("bait.bb","rb");
    
    i=0;
    setlocale(LC_ALL, "rus");
    printf("Вывод чисел в файле:\n");
    
    while(!feof(f))
    {if(j!=4){
    fread(&q,sizeof(int),1,f);
    a[i][j]=q;
    printf("%d   ",a[i][j]);
    j++;}
    else {j=0;i++;n++;}}
    
    for(j;j<4;j++)
    a[i][j]=0;
    
    cout << "\n\n\n\n";
    
    printf("Ввод матрицы\n");
    
    for(i=0;i<n;i++)
       {for(j=0;j<4;j++)
         {cout << a[i][j] << "  ";}
         cout << endl;}
         
    cout << "\n\n\n\n";
    
    printf("Должно быть:\n");
    fseek(f,0,SEEK_SET);
    j=0;
    while(!feof(f))
    {if(j<4)
    {fread(&q,sizeof(int),1,f);
    printf("%d  ",q);
    j++;}
    else
    {j=0;cout<<endl;}
    }
    
    cout << "\n\n\n\n";
    
    system("Pause");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.05.2014, 15:49     Сформировать из считаных из файла чисел матрицу, содержащую 4 столбца
Посмотрите здесь:

C++ Дано прямоугольную матрицу вещественных чисел. Найти максимальную среди сумм каждого столбца.
C++ Сформировать матрицу целых чисел
Сформировать матрицу целых чисел C++
Ввести матрицу с внешнего файла и поменять местами макс. и мин. элементы каждого столбца матрицы C++
C++ Даны целые положительные числа M, N, число D и набор из M чисел. Сформировать матрицу размера M х N...
Сформировать матрицу с помощью генератора случайных чисел и организовать ее вывод C++
C++ Сформировать матрицу n+1 на n+1, где n+1 столбцом является min каждой строки, а n+1 строкой — max каждого столбца
C++ Считать из файла целочисленный массив C[N] и сформировать из него максимально возможную матрицу А [n x n]
Сформировать матрицу из случайных значений, добавить столбец после столбца, содержащего наибольший элемент C++
Сформировать матрицу на основе информации из заданного текстового файла C++
За один просмотр файла сформировать список чисел C++
Сформировать список целых чисел, считав их из заданного файла C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Sonance
6 / 6 / 3
Регистрация: 15.02.2013
Сообщений: 55
19.05.2014, 17:04     Сформировать из считаных из файла чисел матрицу, содержащую 4 столбца #2
Компилятора нет под рукой, но разве эта программа работает? На вот это точно должно фаталом ругаться.
Цитата Сообщение от Saddiel Посмотреть сообщение
int q,i,j=0,n=1; int **a = new int *[q];
Нельзя выделить неопределенный объем памяти. Нужно сначала посчитать сколько чисел в файле, и уже потом выделять память под этот массив.
Yandex
Объявления
19.05.2014, 17:04     Сформировать из считаных из файла чисел матрицу, содержащую 4 столбца
Ответ Создать тему
Опции темы

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