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

считать из файла квадратный массив и найти в главной диагонале элемент 0 - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Очистка памяти при работе с функциями http://www.cyberforum.ru/cpp-beginners/thread419352.html
Имеется функция,она работает,даёт правильные результаты,но если объёмы обрабатываемой информации возрастают,то оперативная память заканчивается double* Function(T_GSM_element* a , double *F, int N) { double *X; //вектор решения double *X_first=new double; //начальное приближение for (int i = 0; i < N; i++) {X_first=0;} // (в дальнейшем будет являться предыдущим решением) double...
C++ Системы счисления (есть ошибка) Начал учить си. Захотел написать конвертер. В итоге такая проблемка: переменная k при создании массива работать должна как счетчик. При выводе массива остатков от деления в обратном порядке, k должен быть номером ячейки отсчета, но почемуто ей присваивается ноль ? ЗЫ Сто пудов ошибка в элементарном)))) #include <iostream.h> int main(){ int n,k=0; cout<<"Vvedite DEC chislo: "; cin>>n;... http://www.cyberforum.ru/cpp-beginners/thread419340.html
бинарные деревья C++
В бинарном дереве поиска найти вершину, для которой количество вершин в левом поддереве отличается от количества вершин в правом поддереве на число, большее заданного. Добавлено через 17 часов 55 минут Напишите, пожалуйста, реализацию. Очень надо. Добавлено через 2 часа 51 минуту ну плз Добавлено через 17 минут мне надо их сегодня сдать! ПОМОГИТЕ!!!!!!!!!!!!!!!!! ПОЖАЛУЙСТА
задать прямые с помощью структур прямые задаются точкой и направляющим вектором. C++
Разработать алгоритм определяющий взаимное расположение двух прямых в пространстве. прямые задать с помощью структур. результат вывести на экран. помогите пожалуйста задать прямые с помощью структур прямые задаются точкой и направляющим вектором. дальше как делать знаю
C++ Определить порядковый номер числа, отличного от остальных http://www.cyberforum.ru/cpp-beginners/thread419329.html
Помогите пожалуйста Нашел задачи их попробовать сделать ,что не как помогите 1.Даны три числа,одно из которых отлично от двух других равных между собой.Определить порядковый номер числа,отличного от остальных. 2.Даны четыре целых числа,одно из которых отлично от трех других равных между собой.Определить порядковый номер числа,отличного от остальных.
C++ Программа переводящая из двоичной системы в восьмеричную Помогите пожалуйста.. Я почти написал программу, только не могу написать код для перевода дробной части числа.. Помогите пожалуйста.. #include "stdafx.h" #include <iostream> #include <string> using namespace std; int main() подробнее

Показать сообщение отдельно
stels009
15 / 15 / 0
Регистрация: 05.04.2011
Сообщений: 402

считать из файла квадратный массив и найти в главной диагонале элемент 0 - C++

27.12.2011, 23:32. Просмотров 306. Ответов 0
Метки (Все метки)

Вообщем надо сделать чтобы прога читала из файла квадратный массив и находила в главной диаганили элемент 0...
Вообщем то фактически все сделано но при попытка вывода массива на экран он вмето чисел выдет чтото не понятное...
Исходник я там подписал где возникает проблема...
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
/*Написать программу, которая считывает из файла матрицу A размерами n*n,
выводит ее на экран и находит индекс первого элемента,
равного нулю, на главной диагонали.*/
#include<iostream>  
#include<iomanip>
#include<math.h>
#include<conio.h>
#include<String.h>
#include<ctype.h>
#include <stdlib.h>
#include<windows.h>
#include <fstream> // Этот файл обеспечивает работу с файлами
using namespace std; // !!! Используем стандартное пространство имён
// функция перестановки значений двух величин
void swap(float& a, float& b)
{
    float tmp;
    tmp=a; a=b; b=tmp;
}
int main()
{   
    if(SetConsoleCP(1251)==0)
    {
        cerr<<"Fialed to set codepage!"<<endl;
    }
    if(SetConsoleOutputCP(1251)==0)
    {
        cerr<<"Failed to set OUTPUT page!"<<endl;
    }
    // Объявляем файлы:
    ifstream inf("test.txt");
    ofstream outf("sort.txt");
    int m=1, n=1;int sz = 0; // Количество строк и столбцов
    cout<<("Введите размер квадратной матрици ");
    cin>>sz;m=sz;n=sz;
    register int i,j; 
// счетчики (пример использования регистровых переменных)
    inf >> m >> n; 
    /* считываем из файла размеры матрицы, которые должны быть записаны в начале файла */
    float *vek, **mat; 
    /* Указатель на матрицу как на линейный массив и указатель на массив ука¬за-телей для обращения к элементам массива как к элементам матрицы. Элементы мас-сива объявлены как числа, которые могут иметь дробную часть */
    vek=new float[m*n]; // выделяем место под элементы матрицы 
    mat=new float*[m];
 // выделяем место под массив указателей на строки матрицы
    for (i=0; i<m; i++) // заполняем массив указателями
        mat[i]= &vek[i*n]; // деление на строки матрицы
    printf("Исходная матрица:\r\n");
    // чтение элементов из файла
    for (i=0; i<m; i++)
    {
        for(j=0; j<n; j++)
        {
            inf>>mat[i][j]; 
            // считываем элемент как слово и записываем в матрицу
            if (inf.eof()) 
            // если достигнут конец файла, а матрица еще не заполнена
            {
                printf("Не хватает данных\r\n");
                _getch();
                exit(0);
            }
/*Подозрение на эту строчку>>>>>*/printf("%10.2f",mat[i][j]); // вывод элемента на экран
        }
        printf("\r\n"); // перевод курсора в начало следующей строки
    }
//=====================================================================================================================
int diag = 1;i=1;j=1;int otv = 0;
for(diag <= sz;++diag;i=++j)
{
    if(mat[i][j] == 0)/*<<<В следствии не работет это условие*/
    {
        otv = diag;
    }
}
//=====================================================================================================================
    /*cout << "Отсортированная по столбцам: \n";
    for (i=0; i<m; i++)
    {
        for(j=0; j<n; j++)
        {
            // запись элемента в файл:
            outf <<setiosflags(ios::showpoint)<< setprecision(2)<<setw(10)<<mat[i][j];
            // вывод на экран:
            cout <<setiosflags(ios::showpoint) << setprecision(2)<< setw(10)<<mat[i][j];
// каждый элемент записывается с двумя цифрами после точки в поле из 8 позиций
        }
        outf<<endl; 
// в конце строки матрицы выводим признак конца строки
        cout << endl;
    }*/
cout<<"Номен Строки нулевого элемента "<<otv;
cout<<"Номен Столбца нулевого элемента "<<otv;
    outf.close(); 
    delete []mat; 
    delete []vek; 
    _getch();
    return 0;
}
Как сделать чтобы в ячейках лежало конкретное число считанное из массива файла а не та бурда которая сча и желательно чтобы работало условие проверки если = 0;
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru