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

Исправление программы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ operator = для объекта, содержащего CStdioFile http://www.cyberforum.ru/cpp-beginners/thread320710.html
Приветствую всех. Возникла проблема с реализацией оператора присваивания для класса, содержащего CStdioFile. Получить копию CStdioFile мне не удалось... метод Duplicate() в нем не реализован почему-то. Попробовал вместо CStdioFile хранить ссылку, но тогда после копирования, когда удаляется временный объект вызывается деструктор, который благополучно закрывает файл по ссылке. Подскажите,...
C++ Не получается удалить символ из строки подскажите как можно удалить знак пунктуации из строки? написал код: #include <iostream> #include <string> #include <cctype> using namespace std; int main () { string str; http://www.cyberforum.ru/cpp-beginners/thread320682.html
C++ Не компилиться код
помогите пожалуйста разобраться с этой проблемой
C++ Матрицы
Решить с классами и динамической памятью. Дано 5 матриц произвольной размерности, обеспечить ввод, вычисление общей суммы всех эл. находящихся по периметру, если вычисление значений больше количества 0 данной матрицы, то нечетные матрицы транспонировать
C++ CppWebBrowser открытие интернет страницы http://www.cyberforum.ru/cpp-beginners/thread320627.html
Такой вопрос собственно: Немогу найти негде нормального описания компоненты CppWebBrowser. Проблема в том что, не понимаю какой тип она принимает. пишет то что wchar_t в ошибке, это же тот же самый символьный?! В справку меня не посылать, там уже смотрел. В коде пишу такую строку, просто элементарно из директории пытаюсь открыть: CppWebBrowser1->Navigate("html1.htm"); Либо так:...
C++ Дана целочисленная прямоугольная матрица. Определить сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент. Дана целочисленная прямоугольная матрица. Определить сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент. Использовать printf, scanf. И это тоже нужно срочно:( Помогите, пожалуйста. подробнее

Показать сообщение отдельно
NEQ
Сообщений: n/a

Исправление программы - C++

16.06.2011, 12:48. Просмотров 329. Ответов 3
Метки (Все метки)

Простите мне что я такой неуч.
Мне написали программу, но с некоторым отличием от того что я знаю: строчки scanf и prrintf такого вида для мня совсем непонятны. Вот сама программа:#include <stdio.h>
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
#include <conio.h>
#include <iostream.h>
 
const n = 30; // максимальное количество элементов в списке
 
int main()
{
  clrscr(); // очищаем экран
  /* Структура для хранения одного элемента списка
     number - это число (информационная часть элемента списка)
     next - указатель на следующий элемент списка */
  struct inf {
    int number; // будем заполнять это поле всегда числом 0. нам оно не важно
    inf *next;
  };
 
  // указатель на первый элемент списка
  inf *first = NULL;
  // указатель на последний элемент списка
  inf *last = NULL;
  // указатель на текущий элемент списка
  inf *current;
 
  int k1, k2;
  printf << "Будет построен однонаправленный список из максимум " << n << 
    " элементов.\n";
  do {
    printf << "Введите номер элемента списка, который будет ссылаться на один " <<
      "из предыдущих элементов (или введите 0, если в списке нет кольца): ";
    scanf >> k1;
  } while (k1 < 0 || k1 > n); // цикл пока не введут правильный номер элемента
  if (k1 != 0)
    do {
      printf << "Введите номер одного из предыдущих элементов списка, на " <<
    "который будет ссылаться элемент списка с номером " << k1 << ": ";
      scanf >> k2;
    } while (k2 < 1 || k2 > k1); // цикл пока не введут правильный номер элемента
 
  int max; // количество элементов в списке
  if (k1 == 0)
    max = n; // если список без кольца, то построим его из n элементов
  else
    max = k1; // если список с кольцом, то построим его только из k1 элементов
  inf *k2Pointer; // указатель на элемент с номером k2
  for (int i = 1; i <= max; i++) { // строим в цикле весь список
    // создаем в памяти новый элемент списка
    current = new(inf);
    // заполняем элемент списка информацией
    current->number = 0; // заполним это поле нулем. все равно не используем
    current->next = NULL;
    // если список пока пустой
    if (first == NULL)
      first = current;
    else
      last->next = current;
    // последний элемент списка
    last = current;
    if (k1 != 0 && i == k2)
      k2Pointer = current; // сохраняем указатель на элемент с номером k2
  }
  if (k1 != 0)
    last->next = k2Pointer; // делаем кольцо
 
  printf << "\nПостроен однонаправленный список. Результат обхода этого списка:\n";
  current = first;
  i = 0;
  // пробежимся по всему списку
  while (current != NULL) {
    i++;
    current = current->next;
    inf *current2 = first; // пробежимся по списку еще раз с самого начала,
    int i2 = 1;            // чтобы проверить список на наличие кольца
    while (i2 <= i) {
      if (current == current2) { // если нашли кольцо
        printf << "В списке найдено кольцо " << i;
        for (int j = i2; j <= i; j++) // выводим кольцо на экран
          printf << "->" << j;
        goto quit; // переходим в конец программы
      }
      current2 = current2->next;
      i2++;
    }
  }
 
  printf << "В списке нет кольца";
 
quit:
  getch(); // ждем нажатия любой клавиши
  return 0;
}
Пожалуста, помогите мне исправить строки printf И scanf, чтобы они были со скобками

 Комментарий модератора 
Используйте теги форматирования кода!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 00:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru