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

В матрице увеличить элементы каждой строки на вычисленное в ней среднее арифметическое - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ функции http://www.cyberforum.ru/cpp-beginners/thread218593.html
Составить программу, определяющую ,в каком из данных двух чисел больше цифр. подпрограмма должна выполнять подсчет количества цифр в одном числе. (Borland C++)
C++ файлы в С++ помогите пожалуйста решить задачку на файлы,а то именно на этой теме я не была на паре!и именно она мне попалась в контрольной... вот задачка:Дан файл содержащий зашифрованный русский текст.Каждая... http://www.cyberforum.ru/cpp-beginners/thread218574.html
Система управления сообщениями C++
Здравствуйте, помогите разобраться с проблемой. Необходимо написать класс, который будет взаимодействовать с другими классами через передачу им сообщения. Почему-то я никак не могу найти информации...
файлы C++
Задание : из одного файла надо переписать все четные строки в другой файл, и подсчитать размер каждого файла в байтах. первую часть задания сделал , на мой взгляд все верно, но компилятор ругается ...
C++ Задан исходный маршрут, различные пункты посещения, информация о наличии связи между пунктами i и i+1. http://www.cyberforum.ru/cpp-beginners/thread218526.html
Помогите с программным кодом на c++ Задан исходный маршрут, различные пункты посещения, информация о наличии связи между пунктами i и i+1. Нужно определить все возможные маршруты между исходным...
C++ Найти все натуральные числа из промежутка от 1 до 200, у которых сумма чётных делителей равна N Нужна помощь,срочно!!!!!надо программы написать,они не большие,для знающих людей решаются за 5-7 минут!!Заранее спасибо... 1)Найти все натуральные числа из промежутка от 1 до 200,у которых сумма... подробнее

Показать сообщение отдельно
Kenwood2010
48 / 59 / 7
Регистрация: 26.11.2010
Сообщений: 192
23.12.2010, 12:07
Задача №1
Реализовано на C++ Builder 6.0, но адаптирована еще под Turbo C++ 3.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
#include <iostream.h>
#include <conio.h>
 
//---------------------------------------------------------------------------
#pragma hdrstop
#pragma argsused
//---------------------------------------------------------------------------
 
int main()
{
int **matr;
int cows = 0 /*ñòðîêГ**/, rows = 0 /*ñòîëáåö*/;
int per = 0, pos = 0, sum = 0;
int i = 0, j = 0, k = 0;
int flag = 0;
 
 
cout<<"Vvedite razmer matrici (stroka, stolbec): ";
cin >> cows;   /*ñòðîêГ**/
cin >> rows;   /*ñòîëáåö*/
 
//ñîçäГ*Г*ГЁГҐ Г¬Г*òðèöû
matr = new int *[cows];
for(i = 0; i < cows; i++)
 {
   matr[i] = new int [rows];
 }
 
//Г‡Г*ïîëГ*ГҐГ*ГЁГҐ Г¬Г*òðèöû ГЁ âûîä ГҐГҐ Г*Г* ГЅГЄГ°Г*Г*
cout<<"Matr imeet vid: "<<endl;
randomize();
for(i = 0; i < cows; i++)
 {
  for(j = 0; j < rows; j++)
   {
    matr[i][j] = random(25);
    cout<<matr[i][j]<<" ";
   }
   cout<<endl;
 }
//îïðåäåëÿåì áîëüøå ïðåâûé ýëåìåГ*ГІ èëè Г*ГҐГІ
per = matr[0][0];
pos = matr[cows-1][rows-1];
if (per > pos)
 {
   for(i = 0; i< cows; i++)
    {
     for(j = 0; j< rows; j++)
      {
       sum = sum + matr[i][j];
      }
       sum = sum / rows;
       for(k = 0; k < rows; k++)
        {
 
         matr[i][k] = matr[i][k] + sum;
        }
       sum = 0;
      }
  }
 else
 {
  cout<<"Otvet: "<<endl<<"Matrica ne izmenna, tak kak: "<<per<<" menshe "<<pos<<" !";
  getch();
  //ГіГ¤Г*ëåГ*ГЁГҐ Г¬Г*òðèöû
  for(int i = 0; i < cows; i++)
  {
   delete[] matr[i];
  }
   delete[] matr;
   flag = 1;
 }
 
if(flag==0)
{
cout<<endl<<"Otvet: "<<endl;
cout<<"Matr imeet vid: "<<endl;
for(i = 0; i < cows; i++)
 {
  for(j = 0; j < rows; j++)
   {
    cout<<matr[i][j]<<" ";
   }
   cout<<endl;
 }
 
//ГіГ¤Г*ëåГ*ГЁГҐ Г¬Г*òðèöû
for(int i = 0; i < cows; i++)
{
delete[] matr[i];
}
delete[] matr;
getch();
}
return 0;
}
если необходимо использовать в Turbo C++, то это необходимо удалить:
C++
1
2
3
4
//---------------------------------------------------------------------------
#pragma hdrstop
#pragma argsused
//---------------------------------------------------------------------------
Добавлено через 12 минут
Задача №1
Реализовано на C++ Builder 6.0, но адаптирована еще под Turbo C++ 3.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
#include <iostream.h>
#include <conio.h>
 
//---------------------------------------------------------------------------
#pragma hdrstop
#pragma argsused
//---------------------------------------------------------------------------
 
int main()
{
int **matr; 
int cows = 0 /*ñòðîêГ**/, rows = 0 /*ñòîëáåö*/;
int per = 0, pos = 0, sum = 0;
int i = 0, j = 0, k = 0; //используем в циклах
int flag = 0; 
 
cout<<"Vvedite razmer matrici (stroka, stolbec): ";
cin >> cows;   /*ñòðîêГ**/
cin >> rows;   /*ñòîëáåö*/
 
//Создание динамической матрицы по заданным размерам
matr = new int *[cows];
for(i = 0; i < cows; i++)
 {
   matr[i] = new int [rows];
 }
 
//Заполнение матрицы случайными положительными числами и вывод заполненой матрицы на экран
cout<<"Matr imeet vid: "<<endl;
randomize();
for(i = 0; i < cows; i++)
 {
  for(j = 0; j < rows; j++)
   {
    matr[i][j] = random(25);
    cout<<matr[i][j]<<" ";
   }
   cout<<endl;
 }
//берем первый и последний элемент матрицы
per = matr[0][0];
pos = matr[cows-1][rows-1];
if (per > pos) //сравниваем их
 { //если первый больше
   for(i = 0; i< cows; i++)
    {
     for(j = 0; j< rows; j++)
      {
       sum = sum + matr[i][j]; //собираем в sum сумму каждой строки
      }
       sum = sum / rows; //делим сумму на кол-во эл-тов в строке
       for(k = 0; k < rows; k++)
        {
 
         matr[i][k] = matr[i][k] + sum; //добавляем в каждому эл-ту строки средар.знач строки
        }
       sum = 0; //зануляем, для получения значения следующей строки
      }
  }
 else //если не равен первый и последний
 {
  cout<<"Otvet: "<<endl<<"Matrica ne izmenna, tak kak: "<<per<<" menshe "<<pos<<" !";
  getch();
  //удаление динамической матрицы  - высвобождение памяти занятой под матрицу
  for(int i = 0; i < cows; i++)
  {
   delete[] matr[i];
  }
   delete[] matr;
   flag = 1; //делаем 1, чтоб не повторить повторного удаления матрицы, прграмма просто вылетит с ошибкой
 }
 
if(flag==0)
{
cout<<endl<<"Otvet: "<<endl;
cout<<"Matr imeet vid: "<<endl;
for(i = 0; i < cows; i++)   //формируем и выводим матрицу после произведенных изменений
 {
  for(j = 0; j < rows; j++)
   {
    cout<<matr[i][j]<<" ";
   }
   cout<<endl;
 }
 
//удаление динамической матрицы  - высвобождение памяти занятой под матрицу
for(int i = 0; i < cows; i++)
{
delete[] matr[i];
}
delete[] matr;
getch();
}
return 0;
}
если необходимо использовать в Turbo C++, то это необходимо удалить:
C++
1
2
3
4
//---------------------------------------------------------------------------
#pragma hdrstop
#pragma argsused
//---------------------------------------------------------------------------
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru