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

Задача на указатели.Указатель на указатель. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Проблемки с классом http://www.cyberforum.ru/cpp-beginners/thread396926.html
// mamalclass.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <iostream> #include <conio.h> class shape {
C++ Поменять местами первую строку и строку, в которой находится первый нулевой элемент. Принять, что массив просматривается слева направо и сверху вниз. Поменять местами первую строку и строку, в которой находится первый нулевой элемент. Принять, что массив просматривается слева направо и сверху вниз.Помогите кто чем может, http://www.cyberforum.ru/cpp-beginners/thread396909.html
C++ Определить сумму отрицательных чисел в памяти с адреса 0х60 по 0х67.
Попросили сделать лабу C++ для одного человека и так вышло, что не могу отказать. Определить сумму отрицательных чисел в памяти с адреса 0х60 по 0х67. Результат записать по адресу 0х70 если он больше 13 (я так понял по модулю раз все отрицательные?), иначе по 0х77. Я не понимаю как получать доступ непосредственно к ячейкам памяти, при чем не понятно сколько байт занимает число которое там...
C++ Организовать вывод текста в табличке с псевдографикой
Доброе время суток написал программу, а вывод хочу что бы делался табличкой но с псевдографикой не дружу подскажите что надо сделать что б данный текст выводился как на фото http://rghost.ru/32880971.view printf("\n|Student| Fakultet |Grupa| Kurs | Res |\n"); cout << endl; cout << data.fio << data.fakultet << data.grupa << data.kurs << data.bal;
C++ множество через односвязный список. http://www.cyberforum.ru/cpp-beginners/thread396901.html
Добрый дерь дорогие форумчане. Возник такой вопрос, объясните как можно реализовать множество через односвязный список? Хотя бы это и если возможно принцип как сделать основные операции над множеством (добавление удаление элементов)
C++ Классы // mamalclass.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <iostream> #include <conio.h> class shape { подробнее

Показать сообщение отдельно
lemegeton
2923 / 1352 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
02.12.2011, 16:12
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>
#include <cstdlib>
#include <ctime>
 
enum {
  LOOSE = 0,
  DRAW = 1,
  WIN = 2
};
 
void fillRandom(int **array, int size) {
  for (int i = 0; i < size; ++i)
    for (int j = i + 1; j < size; ++j) {
      array[i][j] = rand() % 3;
      if (array[i][j] == LOOSE)
        array[j][i] = WIN;
      else if (array[i][j] == WIN)
        array[j][i] = LOOSE;
      else
        array[j][i] = array[i][j];
    }
  for (int i = 0; i < size; ++i)
    array[i][i] = 0;
}
 
void printArray(int **array, int size) {
  for (int i = 0; i < size; ++i) {
    for (int j = 0; j < size; ++j)
      std::cout << array[i][j] << " ";
    std::cout << std::endl;
  }
}
 
int countValueForRow(int **array, int size, int row, int value) {
  int result = 0;
  for (int i = 0; i < size; ++i)
    if (row != i && array[row][i] == value)
      ++result;
  return result;
}
 
int countWinners(int **array, int size) {
  int result = 0;
  for (int i = 0; i < size; ++i) {
    int numberOfWins = countValueForRow(array, size, i, WIN);
    int numberOfLooses = countValueForRow(array, size, i, LOOSE);
    if (numberOfWins > numberOfLooses)
      result++;
  }
  return result;
}
 
int firstMostWinner(int **array, int size) {
  for (int i = 0; i < size; ++i)
    if (countValueForRow(array, size, i, WIN) > (size - 1) / 2)
      return i;
  return -1;
}
 
void printNumberOfWinners(int **array, int size) {
  std::cout << "Number of winners: " << countWinners(array, size) << std::endl;
}
 
void printFlawlessWinners(int **array, int size) {
  std::cout << "Flawless winners: ";
  for (int i = 0; i < size; ++i)
    if (countValueForRow(array, size, i, LOOSE) == 0)
      std::cout << i << " ";
  std::cout << std::endl;
}
 
void printHasMostWinner(int **array, int size) {
  std::cout << "Have most winner: " <<
    ((firstMostWinner(array, size) > -1) ? "yes" : "no") << std::endl;
}
 
int main(int argc, char *argv[]) {
  srand(time(NULL));
  int size = 5 + rand() % 3;
  
  int **array = new int*[size];
  for (int i = 0; i < size; ++i)
    array[i] = new int[size];
    
  fillRandom(array, size);
  printArray(array, size);
 
  printNumberOfWinners(array, size);
  printFlawlessWinners(array, size);
  printHasMostWinner(array, size);
 
  for (int i = 0; i < size; ++i)
    delete [] array[i];
  delete [] array;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru