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

c++, функция для двухмерного массива - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Создать класс "Студент" http://www.cyberforum.ru/cpp-beginners/thread955512.html
Помогите пожалуйста решить задачу) Создать класс «студент» с компонентными данными: фамилия, курс, оценки по четырем предметам, базовая стипендия и коэффициент надбавки к стипендии (статические данные), общая сумма стипендии. Определить компонентные функции: вывод на экран данных о студенте, перевод студента на следующий курс, вычисление общей суммы стипендии исходя из его оценок (троечникам...
C++ метод Крамера Дана система линейных уравнений NxN, найти решение системы с помощью метода Крамера. сам метод понимаю, но не могу реализовать в коде. не отказался бы от помощи. http://www.cyberforum.ru/cpp-beginners/thread955511.html
Блок - схема для программки) C++
Есть программка с кодом ниже, а не могу написать блок -схему, помогите сделать блок - схему к данному коду (программе). #include <vcl.h> #pragma hdrstop #include <iostream> #include <iomanip> using namespace std; int main() { int n, i, j;
C++ Найти сумму ряда с точностью
Найти сумму ряда с точностью е=10-4,общий член которого {a}_{n}={10}^{n}/n!
C++ Написать программу которая вычисляет число пи с заданной точностью http://www.cyberforum.ru/cpp-beginners/thread955468.html
написать программу которая вычисляет число пи с заданной точностью, если известно 1-1/3+1/5-1/7+... при суммировании большого количества членов приближается к ПИ/4.Вывести сумму и количество членов ряда.
C++ Создать функцию нахождения площади поверхности и объема цилиндра. Для возврата значений использовать ссылки. Создать функцию нахождения площади поверхности и объема цилиндра по заданным радиусу основания и высоте. Продемонстрировать её работу для двух цилиндров, вывести результаты работы функции из основной программы.(Задание:В алгоритме решения задачи выделить необходимые функции (как правило это повторяющаяся последовательность действий). Функция должна возвращать несколько значений, для этого... подробнее

Показать сообщение отдельно
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
21.09.2013, 21:42     c++, функция для двухмерного массива
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
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
using namespace std;
 
#define kol_vo_stolb 8
#define kol_vo_strok 5
 
//++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++
 
//функция-вывод массива
void vivod (int**p) {
 printf ("\n"); 
 for (int i= 0; i< kol_vo_strok; i++) {
     for (int j= 0; j< kol_vo_stolb; j++) { 
         printf ("%*d",4,p[i][j]); 
     }
     printf ("\n"); 
 }
}
 
//++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++
 
//В этой функции совершаются все изменения
//принимает указатель на массив указателей
//и номер строки
void izmenenia (int**p, int x) {
   
   int te= 0;
   
   //1) обнуляем нужную строку 
   for (int i= 0; i< kol_vo_stolb; i++) { 
      p[x][i]=0;
      te++;
   }
   //"сдвигаем" все указатели
   int* temp= p[x];
   for (int i= x; i< kol_vo_strok- 1; i++) {
       p[i]= p[i+ 1];            
   }   
 
   //делаем так, чтобы на последнюю строку указывал ПОСЛЕДНИЙ указатель
   p[kol_vo_strok- 1]= temp;
}
 
//++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++
 
int main () {
 
 srand (time(0));
 int array [kol_vo_strok][kol_vo_stolb];
 
 
 
 //Рандомно заполним массив 
 int* p [kol_vo_strok];
 for (int i= 0; i< kol_vo_strok; i++) {
     p[i]= array[i];  
     for (int j= 0; j< kol_vo_stolb; j++)  
         array [i][j]=rand()% 111- 10; 
 }
 
 //выведем
 vivod (p);
 
 //пробежимся по строкам и в случае отрицательных элементов 
 //совершим изменения массива
 for (int i= 0; i< kol_vo_strok; i++) {
     for (int j= 0; j< kol_vo_stolb; j++)  
         if (p[i][j]< 0) {
            izmenenia (p, i);
            j= kol_vo_stolb;  
            i--;           
         }
 } 
 
 
 //выведем
 vivod (p);
 
 
 getchar ();
 return 0;
}
 
Текущее время: 05:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru