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

Прокомментировать - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Осуществить циклический сдвиг элементов прямоугольной матрицы http://www.cyberforum.ru/cpp-beginners/thread221046.html
Помогите решить задачки. Я не оть программирую, а делать над... (С++) 1) Вычислить 12 значений функции y=ax^2+bx+c на отрезке , сохранить их в массиве Y и определить, является ли функция убывающей, возрастающей или немонотонной на этом отрезке. 2) Осуществить циклический сдвиг элементов прямоугольной матрицы на n элементов вправо или вниз (в зависимости от введенного режима). n может быть...
C++ Бинарное дерево Здравствуйте.Прошу помощи.Никак не могу разобраться в задании.Нужно сделать бинарное дерево и с помощью дерева привести выражение к бесскобочной логике: (a*b+c)/(a-(d+a)).Что это значит? http://www.cyberforum.ru/cpp-beginners/thread221032.html
C++ Библиотеки. Работа с файлами
Предварительно создаются два файла данных А и B. Зависимости от типа данных это выполняется с применением программы или в текстовом редакторе. Содержимое файла C создается в процессе выполнения программы в соответствии задаче. Логическую функцию выполнить в статической и динамической библиотеках. Записать в С все символы с кодовыми номерами 58-70 и 100-120 из А и В. Дополнить файл А...
С++ классы C++
Описать класс с контурами ,операциями,преобразование типов Бинарное число
C++ то напечатает программа? http://www.cyberforum.ru/cpp-beginners/thread221024.html
( задание значения переменной ? условия повтора : шаг ) - по моему такая анолгия ( ? : ) с for? или нет? помогите решить задачу ЭТО НЕ ТОТ СКРИН!СМОТРИ НИЖЕ
C++ структуры Вообще не представляю как делать эту задачу. может кто знает? Напишите программу, которая вычисляет значение у= 1+х^2 +х^3 +… + х^п при любом х. Вычисления продолжать до тех пор, пока очередное слагаемое больше заданного значения z. Найти количество слагаемых. подробнее

Показать сообщение отдельно
Sonn ADK
0 / 0 / 0
Регистрация: 23.12.2010
Сообщений: 11
27.12.2010, 01:17     Прокомментировать
Задача такая. Найти произведение в строках между первым и последним нулевыми элементами

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
#include<iostream.h>
#include<iomanip.h>
#include<stdlib.h>
#include<conio.h>
 
const int max_razm = 20;
 
struct array2D{
 
   int rows, cols;
   int arr[max_razm][max_razm];
};
 
struct array1D{
 
   int cols;
   bool prov_cols[max_razm];
   int arr[max_razm];
};
 
 
array2D InitStartArray(){
 
    array2D temp;
 
    cout<<"Rows "<<"(<="<<max_razm<<"): "; cin>>temp.rows;
   cout<<"Cols "<<"(<="<<max_razm<<"): "; cin>>temp.cols;
   cout<<endl;
 
   randomize();
 
   for(int row = 0; row < temp.rows; row++)
 
    for(int col = 0; col < temp.cols; col++)
 
        temp.arr[row][col] = (float)(random(5)-3);
 
   return temp;
}
 
 
void PrintArray2(array2D arr){
 
   for(int row = 0; row < arr.rows; row++){
 
    for(int col = 0; col < arr.cols; col++){
 
        cout<<setprecision(2)<<setw(5)<<arr.arr[row][col];
      }
 
      cout<<endl;
   }
 
   cout<<endl;
}
 
 
array1D CalculateSumInRows(array2D arr){
 
    array1D result;
 
   result.cols = arr.rows;
 
   float pro;
 
   for(int row = 0; row < arr.rows; row++){
 
      int start_null = -1;
      int end_null = -1;
 
    for(int col = 0; col < arr.cols; col++){
 
        if(arr.arr[row][col] == 0){
 
            if(start_null = -1){
 
                start_null = col;
               col = arr.cols;
               for(int i = arr.cols-1; i > start_null+1; i--){
 
                 if(arr.arr[row][i] == 0) {end_null = i; i = start_null+1;}
               }
            }
         }
      }
      if(start_null == -1 || end_null == -1){
 
           result.prov_cols[row] = false;
      }
      else{
          result.arr[row] = 1;
          for(int col = start_null + 1; col < end_null; col++)
          result.arr[row] = result.arr[row] * arr.arr[row][col];
          result.prov_cols[row] = true;
      }
   }
 
   return result;
}
 
 
 
 
void PrintArray1(array1D arr){
 
    for(int col = 0; col < arr.cols; col++){
 
      cout<<"proizvedenie B "<<(col+1)<<" stroke: ";
        if(arr.prov_cols[col]) cout<<arr.arr[col]<<endl;
      else cout<<"proizvedenia net"<<endl;
      }
}
 
 
void main(){
 
   array2D start_array = InitStartArray();
 
   clrscr();
 
    PrintArray2(start_array);
   getch();
 
   PrintArray1(CalculateSumInRows(start_array));
   getch();
}
 Комментарий модератора 
Используйте теги форматирования кода.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 19:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru