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

Почему неправильно проверяется условие? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Функция для вводимого слова с проверкой на ввод http://www.cyberforum.ru/cpp-beginners/thread822911.html
Здравствуйте! Столкнулась с такой проблемой: Необходимо написать функцию вида void funk(char slovo, int max_kol, int flag) где char slovo - символьный массив, куда записывается введенное слово; int max_kol - максимальное количество введенных символов; char flag - если этот флаг равен 1 то символы проверяются, являются ли они цифрами; Функция должна работать следующим образом:
C++ Не могу понять, что не так в коде Целый день маюсь с этой прогой и ничё не выходит. #include <iostream> #include <windows.h> using namespace std; int main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); int a, b, c, d; char dummychar; http://www.cyberforum.ru/cpp-beginners/thread822886.html
C++ что-то не так со строками
Дан текст, состоящий из 3-х строк с максимальной длиной 80 символов. Необходимо вывести в обратном алфавитном порядке те слова, которые присутствуют в 3-й строке и не присутствуют в первых двух. Считать, что текст написан синтаксически грамотно, в качестве знаков препинания используются точка и запятая, слова состоят только из букв, перенос слов по слогам отсутствует. Для...
Программа помогающая в изучении иностранных языков в С++ C++
Кто шарит в С++ помогите пожалуйста. Сам его только начал изучать самостоятельно, а уже дали такую задачу: Написать программу , помогающую в изучении иностранных языков. Последовательность работы программы следующая: 1) Открывает файл, созданный1 пользователем.(Файл должен содержать два столбца слов, разделенных пробелами. В левом столбце иностранные слова, в правом-русские. Количество...
C++ Пробелы в строке http://www.cyberforum.ru/cpp-beginners/thread822870.html
Здравствуйте,подскажите пожалуйста ,как организовать сторку с пробелами.В этом коде строку то считывает до первого пробела ,а мне нужна программа которая будет работать со всей строкой.Заранее благодарю. #include <iostream> #include <string> using namespace std; int main() { string a; cout << "Enter line:"; cin >> a;
C++ Двумерные массивы. Вычислить произведение всех столбцов массива Помогите плиз) Вычислить произведение всех столбцов массива, в которых первый элемент больше элементов расположенных на главной и побочной диагонали подробнее

Показать сообщение отдельно
Kr
0 / 0 / 0
Регистрация: 11.03.2013
Сообщений: 35
30.03.2013, 16:49  [ТС]     Почему неправильно проверяется условие?
вы знаете что такое кластер???

0100100
0110010
1110100
0010101
0000001

разными цветами показаны разные кластеры, вот нужно чтоб у одного кластера у ячеек была одна цифра, у другого кластера - другая и тд.

в данном случае должно получиться так:
0100200
0110030
1110400
0010405
0000005

Добавлено через 26 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
int **matrix;
int **clabel;
 
 matrix = (int **)calloc( Rows, sizeof(int*) );
  for( int i=0; i < Rows; i++ ) {
  matrix[i] = (int *)calloc( Cols, sizeof(int) );
  memset (matrix[i], 0, Cols*sizeof(int)); }
 
  clabel = (int **)calloc( Rows, sizeof(int*) );
  for( int i=0; i < Rows; i++ ) {
  clabel[i] = (int *)calloc( Cols, sizeof(int) );
  memset (clabel[i], 0, Cols*sizeof(int)); }
.....
..... ЗДЕСЬ ВСТАВИЛА ЗАПОЛНЕНИЕ CLABEL МАТРИЦЫ СЛУЧАЙНЫМИ ЧИСЛАМИ, ЧТОБЫ ПОСМОТРЕТЬ ЗАПИСЫВАЕТ ЛИ ПОТОМ НУЛИ ГДЕ ЭТО НЕОБХОДИМО В CLABEL
.....
....
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
for(i=0; i<Rows; i++)
{
   for(j=0; j<Cols; j++)
   {
          if(matrix[i][j]==0) { clabel[i][j]=0; break;}  //ЗДЕСЬ ПОЧЕМУ ТО ЧАСТО ПИШЕТСЯ ТО РАНДОМНОЕ ЧИСЛО КАКОЕ ВЫПАЛО ПРИ ЗАПОЛНЕНИИ CLABEL СЛУЧАЙНЫМИ ЧИСЛАМИ 
 
          if ((i!=0) && (j==0))
          {
              if(matrix[i-1][j]==0)
              {
                  clabel[i][j]=label+1;
                  label=label+1;
              }
              else clabel[i][j]=clabel[i-1][j];
          }
          if ((j!=0) && (i==0))
          {
              if(matrix[i][j-1]==0)
              {
                  clabel[i][j]=label+1;
                  label=label+1;
              }
              else clabel[i][j]=clabel[i][j-1];
          }
          if((i!=0) && (j!=0))
          {
              if((matrix[i][j-1]==0) && (matrix[i-1][j]==0))
              {
                  clabel[i][j]=label+1;
                  label=label+1;
              }
              else
              {
                   if((matrix[i][j-1]==1) && (matrix[i-1][j]==1))
                   {
                       if(clabel[i][j-1] < clabel[i-1][j])
                            clabel[i][j]=clabel[i][j-1];
                       else
                            clabel[i][j]=clabel[i-1][j];
                   }
                   if(matrix[i][j-1]==0)
                        clabel[i][j]=clabel[i-1][j];  //такая же метка как у соседа
                   else
                        clabel[i][j]=clabel[i][j-1];
              }
          }
          if((i==0) && (j==0))
          {
              clabel[i][j]=label+1;
              label=label+1;
          }
 
   }
}
Добавлено через 14 минут
ВСЁ ПРОБЛЕМУ РЕШИЛА!
 
Текущее время: 15:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru