С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
mercedes
0 / 0 / 0
Регистрация: 15.09.2012
Сообщений: 15
#1

объясните пожалуйста эту программу - C++

16.09.2012, 23:06. Просмотров 382. Ответов 1
Метки нет (Все метки)

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
#include <stdio.h>
#include <conio.h>
#include <iostream>
#define NMAX 10
 
void VivMatrIStVersh (int g1[NMAX][NMAX], int n)
{
int i, j;
int st=0;
 
printf ("\nМатрица смежности:\n\n");
printf (" | ");
for (j=0; j<n; j++)
printf ("%d ", j);
putchar ('\n');
for (i=0; i<n*2+2; i++)
putchar ('-');
for (i=0; i<n; i++)
{
printf ("\n%d| ", i);
for (j=0; j<n; j++)
printf ("%d ", g1[i][j]);
}
putchar ('\n\n\n');
/*printf ("----------------------\n\n");
printf ("| Вершина || Степень |\n");
printf ("----------------------\n");
for (i=0; i<n; i++)
{
for (j=0; j<n; j++)
{
if (g1[i][j]==1)
st=st+1;
}
printf ("| %d || %d |\n", i, st);
st=0;
}
printf ("----------------------\n");*/
}
 
void VivNomversh (int g1[NMAX][NMAX], int n)
{
int i,j,k;
int s=0;
printf("Номера вершин со степенью 1:");
for(i=0;i<n;i++)
{
k=0;
for(j=0;j<n;j++)
{
if(g1[i][j]==1)
k++;
}
if(k==1)
{
printf(" %d",i);
s=1;
}
}
if(s==0)
printf(" нет вершин с такой степенью...");
}
 
/*------------------------*/
/*-----Главная функция----*/
/*------------------------*/
 
void main ()
{
setlocale (LC_ALL, "Russian_Russia.1251");
int g1[NMAX][NMAX]={0},
n,
k;
int i=0;
int a, b;
 
printf ("Введите количество вершин:");
scanf ("%d", &n);
printf ("\nВведите количество ребер:");
scanf ("%d", &k);
printf ("\nВведите ребра (номера 2-х вершин через пробел от 0 до 9):\n");
while (i<k)
{
scanf ("%d %d", &a, &b);
if (a==b)
{
g1[a][b]=0;
g1[b][a]=0;
}
else
{
g1[a][b]=1;
g1[b][a]=1;
}
i++;
}
VivMatrIStVersh (g1, n);
VivNomversh( g1,n);
printf ("\nPress any key...");
getch ();
}
Добавлено через 1 час 45 минут
объясни пожалуйста примерно вот так:
char str[256]; //Выделяется область памяти для хранения строки Str с максимальной длиной 255 символов
int count = 0; // создаем переменную типа Int и приравниваем ее к нулю
cout << "Enter string:" << endl; // просим ввести строку
cin.getline(str, 255); // Вводим значения
for (int i = 0; str[i]; i++) // цикл для прохода по каждому элементу
{
if (str[i] == ';') break; // если элемент равен ";" выходим из цикла
if (isdigit(str[i])) count++; // функция возвращает ненулевое значение, если ее аргумент является цифрой. Если цифра, то count +1
}
cout << "count of digit:" << count << endl; // показываем количество цифр
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.09.2012, 23:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос объясните пожалуйста эту программу (C++):

объясните пожалуйста эту программу - C++
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;iostream&gt; int maximum (int mas, int i, int n) { int max; max = mas; for (i;...

Объясните пожалуйста эту программу - C++
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;iostream&gt; void main() { int i, n=0, k=0; char str;

объясните пожалуйста эту программу - C++
#include &lt;conio.h&gt; #include &lt;iostream&gt; struct STUDENT { char fio; /* фамилия и.о. */ char oc; /* 5 оценок + '\n' + '\0' */ }; ...

Объясните пожалуйста эту программу - C++
Объясните пожалуйста эту программу #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; int main () { string...

объясните пожалуйста эту программу - C++
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;iostream&gt; int maximum (int mas, int i, int n) { int max; max = mas; for (i;...

Объясните пожалуйста эту программу - C++
#include &lt;stdio.h&gt; #include &lt;iostream&gt; #include &lt;conio.h&gt; #define M 10 void main() { int i,j,n,k; int m; ...

1
Pahanuch
324 / 159 / 13
Регистрация: 03.11.2010
Сообщений: 920
17.09.2012, 01:53 #2
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 <stdio.h>
#include <conio.h> // подключаем библиотеки
#include <iostream>
#define NMAX 10
 
void VivMatrIStVersh (int g1[NMAX][NMAX], int n) // начало метода VivMatrIStVersh, который принимает 2 значения
{
int i, j; // создание переменных
int st=0;
 
printf ("\nМатрица смежности:\n\n"); // выводим в консоль сообщение (Матрица смежности), с 2-мя переходами на новые строки
printf (" | "); // рисуем вертикальный слэш
for (j=0; j<n; j++) // цикл выполняется до тех пор, пока j<n
printf ("%d ", j); // показываем значение переменной j
putchar ('\n'); // переходим на новую строку
for (i=0; i<n*2+2; i++) // цикл выполняется до тех пор, пока i<n*2+2
putchar ('-'); // рисуем горизонтальную черту
for (i=0; i<n; i++) цикл выполняется до тех пор, пока i<n
{
printf ("\n%d| ", i); // показываем значение переменной i
for (j=0; j<n; j++) // цикл выполняется до тех пор, пока j<n
printf ("%d ", g1[i][j]); // показываем значения элементов двумерного цикла
}
putchar ('\n\n\n'); // переходим на новые строки
/*printf ("----------------------\n\n"); // рисуем пунктирную линию и переходим 2 раза на новую строку
printf ("| Вершина || Степень |\n"); // выводим сообщение в консоль
printf ("----------------------\n"); // рисуем пунктирную линию и переходим на новую строку
for (i=0; i<n; i++) цикл выполняется до тех пор, пока i<n
{
for (j=0; j<n; j++) цикл выполняется до тех пор, пока j<n
{
if (g1[i][j]==1) //  присваиваем элементу двумерного массива [i][j] единицу
st=st+1; // к переменной st добавляем единицу
}
printf ("| %d || %d |\n", i, st); // показываем значения переменных i, st
st=0; // переменную st приравниваем к нулю
}
printf ("----------------------\n");*/ // рисуем пунктирную линию
}
 
void VivNomversh (int g1[NMAX][NMAX], int n) // начало метода VivNomversh, который принимает 2 значения
{
int i,j,k; // создание переменных
int s=0; // создаем переменную s и приравниваем ее к нулю
printf("Номера вершин со степенью 1:"); // выводим сообщение в консоль
for(i=0;i<n;i++) цикл выполняется до тех пор, пока i<n
{
k=0;
for(j=0;j<n;j++) цикл выполняется до тех пор, пока j<n
{
if(g1[i][j]==1) if (g1[i][j]==1) //  присваиваем элементу двумерного массива [i][j] единицу
k++; к переменной k добавляем единицу
}
if(k==1) // условие. Если k=1
{
printf(" %d",i); // показываем значение переменной i
s=1; // переменной s присваиваем единицу
}
}
if(s==0) // условие. Если s=0
printf(" нет вершин с такой степенью..."); // выводим сообщение в консоль
}
 
/*------------------------*/
/*-----Главная функция----*/
/*------------------------*/
 
void main () // начало метода main
{
setlocale (LC_ALL, "Russian_Russia.1251"); // устанавливаем кодировку для консоли
int g1[NMAX][NMAX]={0}, // создаем двумерный массив
    n,k;
int i=0;
int a, b; // создание переменных
 
printf ("Введите количество вершин:"); // просим ввести в консоль количество вершин
scanf ("%d", &n); // читаем ввод с клавиатуры
printf ("\nВведите количество ребер:"); // просим ввести в консоль количество ребер
scanf ("%d", &k); // читаем ввод с клавиатуры
printf ("\nВведите ребра (номера 2-х вершин через пробел от 0 до 9):\n"); // просим ввести с клавиатуры
while (i<k) // цикл выполняется до тех пор, пока i<k
{
scanf ("%d %d", &a, &b); // читаем ввод с клавиатуры
if (a==b) // условие. Если переменная a = b, то выполняется следующая часть кода...
{
g1[a][b]=0; // присваиваем элементу двумерного массива [a][b] нуль
g1[b][a]=0; // присваиваем элементу двумерного массива [b][a] нуль
}
else // в ином случаи
{
g1[a][b]=1; // присваиваем элементу двумерного массива [a][b] единицу
g1[b][a]=1; // присваиваем элементу двумерного массива [b][a] единицу
}
i++; // к счетчику (переменной) - i добавляем единицу
}
VivMatrIStVersh (g1, n); // возвращаем значения функции VivMatrIStVersh
VivNomversh( g1,n); // возвращаем значения функции VivNomversh
printf ("\nPress any key..."); // выводим сообщение с просибой нажать любую клавишу
getch (); // ожидаем нажатия клавиши
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.09.2012, 01:53
Привет! Вот еще темы с ответами:

объясните пожалуйста эту программу - C++
#include &lt;stdio.h&gt; #include &lt;iostream&gt; #include &lt;conio.h&gt; #define M 10 void main() { int i,j,n,k; int m; ...

Объясните пожалуйста эту програм - C++
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;iostream&gt; void main() { int i, n=0, k=0; char str;

Объясните пожалуйста эту часть - C++
Объясните пожалуйста эту часть char str; int count = 0; cout &lt;&lt; &quot;Enter string:&quot; &lt;&lt; endl; cin.getline(str, 255); for (int...

Ребята, объясните пожалуйста эту рекурсию! - C++
Ребята, ну хоть убейся не могу понять эту рекурсивную фунцию для задачи с Ханойской башней! Всё работает отлично, но вот как! Кто может,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.