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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ C++ после Delphi http://www.cyberforum.ru/cpp-beginners/thread1131447.html
Приветствую.В течении года изучал Pascal, а затем delphi. Сначала неплохо освоил Паскаль(выиграл пару городских олимпиад), затем выучил delphi на уровне написания: мелких приложений(аудио-,видео- плееров,текстовых редакторов), в довершении всего дошел до создания сложных(в моем понимании) баз данных. Но хотелось бы перейти на c++. Начал пробовать, легко выучил основы(массивы, циклы, строковые и...
C++ Реализуйте класс для хранения сетевого адреса в формате IPv4 Помогите с задачей! Реализуйте класс для хранения сетевого адреса в формате IPv4. Обработайте ошибки динамического выделения памяти и ошибки задания адреса (допустимый формат - четыре числа от 0 до 255, разделенных точками). http://www.cyberforum.ru/cpp-beginners/thread1131432.html
Заменить printf scanf на cout cin C++
#include<iostream.h> #include<math.h> #pragma argsused int main(int argc, char* argv) {int i; float x,B,y; printf("\n B="); scanf("%f", &B); printf("________x_____|______y"); for(i=1;i<=25;i++) printf("_"); for(x=-1;x<=1;x+=0.1) {y=B*sin(x);printf("\n %10.2f | %14.2f",x,y);}
C++ Создание функции для перевода чисел из 10-ой с четверичную систему, для динамического массива
доброго времени суток , помогите с созданием функции для перевода чисел из 10-ой с четверичную систему, для динамического массива
C++ Даны сведения о студентах группы. Вывести список группы по убыванию года рождения студента http://www.cyberforum.ru/cpp-beginners/thread1131395.html
Даны сведения о студентах группы: ФИО студента, дата рождения студента, место рождения студента. Вывести список группы по убыванию года рождения студента. составит программу на С++
C++ Ввод и проверка правильности введенного пароля Код не мой взят из учебника. #include <iostream> #include<conio.h> #include<cstring> using std::cout;using std::endl;using std::strcmp; int main() { char passwd, ch; bool flag = false; int i = 0; cout<<"Password:"; подробнее

Показать сообщение отдельно
Ded_Vasilij
 Аватар для Ded_Vasilij
229 / 211 / 15
Регистрация: 01.09.2012
Сообщений: 2,103
27.03.2014, 19:06     Определить номер первого из столбцов, содержащих хотя бы один нулевой элемент
a16a, вот, специально для Вас, все в один спихал
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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
#include <iostream>
#include <fstream>
 
using namespace std;
void del_matrix(int** &matrix, int size) //освобождение памяти выделенной под массив
{
    for (int i = 0; i < size; i++)
    {
        delete [] matrix[i];
    }
    delete [] matrix;
    matrix = 0;
}
 
int ** new_matrix(int size)  // выделение памяти под целочисленный массив n*n
{
    int** matrix = 0;
    int i = 0;
    try 
    {
        matrix = new int* [size];
        for (; i < size; i++)
        {
            matrix[i] = new int [size];     
        }
        return matrix;
    }
    catch(bad_alloc e)
    {
        cerr << e.what();
        del_matrix(matrix,i);
    }
}
 
void cin_matrix(int** matrix, int size)//ввод матрицы
    /*int** matrix - двумерный динамический массив
    int size - размер матрицы
    */
{
    for (int i = 0; i < size; i++)
        for (int j = 0; j < size; j++)
        {
            cin >> matrix[j][i];
        }
    cout << endl;
}
 
void print_matrix(int** matrix, int size) //вывод матрицы
{
    for (int i = 0; i < size; i++)
    {
        for (int j = 0; j < size; j++)
        {
            cout << matrix[j][i] << " ";
        }
        cout << endl;
    }
}
 
int charact(int** matrix, int size, int columnnum)
/*
вход: 
-квадратная матрица matrix, 
-ее размер - size, 
-номер столбца columnnum
выход: 
-key сумма   модулей  отрицательных нечетных элементов столбца
*/
{
    int key = 0; //сумма   модулей  отрицательных нечетных элементов столбца
    for (int i = 0; i < size; i++)
    {
        if ((matrix[columnnum][i] < 0) && (matrix[columnnum] [i] %2 != 0))
            key += abs(matrix[columnnum][i]);       
    }
    return key;
}
 
void Swap(int** matrix, int size,int m,int n)
    /*
    перестановка столбцов матрицы
    вход: матрица, ее размер, номера столбцов
    
    */
{
    int* temp2 = matrix[n];
    matrix[n] = matrix[m];
    matrix[m] = temp2;
}
 
/*
сортрировка пузырьком
*/
void bubble(int** matrix, int size)
{
for (int i=size-1;i>0;i--)
  {
    for (int j=0;j<i;j++)
      {
        if(charact(matrix,size,j) > charact(matrix,size,j+1))
          {
            Swap(matrix, size,j,j+1);
          }
     }
  }
}
int** read_file(char* file_name, int &size)/*чтение из файла. Вход: имя файла; выход квадратная матрица*/
{   
    ifstream f(file_name);
    if(!f) 
    { 
        cout << "file not found!";
        return 0;
    }
    f >> size;//считываем размер
    
    int elem = 0;
    if(!f || size <= 0) 
    { 
        cout << "read error"; 
        return 0;
    }
 
    int** matrix = new_matrix(size);
    if (!matrix)
    {
        cout << "error" << endl;
        return 0;
    }
    for (int i = 0; i < size; i++)
        for (int j = 0; j < size; j++)
        {
            f >> elem;
            if(!f) 
            {               
                cout << "read error" << endl; 
                del_matrix(matrix,size);
                return 0;
            }           
            matrix[j][i] = elem;
        }
    return matrix;
}
int main(int argc, char** argv)
{
    
    int size = 0;
    int** matrix = 0;
 
    if(argc > 1)
    {
        cout << argv[1] << endl;
        matrix = read_file(argv[1],size);
        if (!matrix)
        {
            cout << "error!" << endl;
            return -1;
        }
    }
    else
    {
        cin >> size;
        if (size <= 0)
        {
            cout << "error" << endl;
            return -1;
        }
        matrix = new_matrix(size);
        if(!matrix) 
        {
            cout << "error" << endl;
            return -1;
        }
        cin_matrix(matrix, size);
    }   
    cout << "original matrix" << endl;
    print_matrix(matrix,size);
    cout << "sorting matrix" << endl;
    bubble(matrix,size);
    print_matrix(matrix,size);
    del_matrix(matrix,size);    
    system("pause");
    return 0;
}
 
Текущее время: 15:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru