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

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

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

Не могу найти ошибку в коде - C++

12.05.2013, 13:52. Просмотров 186. Ответов 0
Метки нет (Все метки)

Не могу найти ошибку, в чем проблема?

Текст задания.
Несомненно, одно из самых важных и ответственных дел, которые существуют в нашем мире — это воспитание детей. Возможно, если вы будете хорошо учиться и покажете высокие результаты на этом соревновании, вас примут в детский сад нянечкой. Но вы должны быть хорошо подготовлены к принятию такой ответственной должности! Рассмотрим типичные задачи, которые приходится решать каждой нянечке в детском саду.

Всем знакома детская игра «мозаика», где можно выкладывать картинки из разноцветных кусочков. Пусть имеется М разных цветов и по N кусочков мозаики каждого цвета. Поиграв мозаикой, дети редко разбирают все кусочки правильно, так чтобы каждый кусочек лежал в коробочке того же цвета. Этим приходится заниматься нянечке.

Для облегчения вашей задачи дети уже разложили мозаику в коробочки, в каждую коробочку по N кусочков. Но некоторые (а может и все) кусочки оказались в коробочках не своего цвета. За одно движение руки можно или переложить один кусочек из коробки в коробку, или просто перенести руку к другой коробочке. Начинать разбор можно с любой коробочки. Движение руки к первой коробочке не считается ходом. Определите, какое наименьшее количество движений руки придётся сделать, чтобы разложить все кусочки мозаики в свои коробочки.

Исходные данные
В первой строке числа 2 ≤ M ≤ 500 (число цветов) и 1 ≤ N ≤ 50 (число кусочков каждого цвета). В следующих M строках перечислены цвета, числа в строке разделены одним пробелом.

Результат
Минимально возможное количество движений руки, которое надо сделать чтобы разложить все кусочки по своим коробочкам.

Пример
исходные данные
4 3
1 3 1
2 3 3
1 2 2
4 4 4

результат
6
Мой код в c++
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
#include <iostream.h>
void main()
{
     short M,N;
     int j;
     cout<<"Enter amounts of colors and pieces\n";
     cin>>M>>N;
     cout<<"\nEnter all pieces\n";
     short a[500][50];
     for (int i=0; i<M; i++)
          for ( j=0; j<N; j++)
               cin>>a[i][j];
    short t,z,u=0,kolvo=0,p=0,q=0;
 
do
{
          for ( i=0; i<M; i++)
          for ( j=0; j<N; j++)
          if(a[i][j]!=(i+1))
          {
               p=j;
               q=i;
 
               if(u==0)
               t=a[i][j];
               else
               {
               z=a[i][j];
               a[i][j]=t;
               t=z;
               }
               kolvo++;
 
 
 
               for (int k=0; k<N; k++)
                    if (a[t-1][k]!=t)
                    {
                    z=a[t-1][k];
                    a[t-1][k]=t;
                    t=z;
                    u=1;
                    kolvo++;
 
                    }
 
                    if (N==1)i=t-2;
                    else
                         i=t-1;
                    j=0;
 
          }
 
}while((i<M)&&(j<N));
if(u==1) kolvo--;
cout<<"\nAnswer is="<<kolvo;
 
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2013, 13:52     Не могу найти ошибку в коде
Посмотрите здесь:

Не могу найти ошибку в коде C++
Не могу найти ошибку в коде C++
C++ Не могу найти ошибку в коде :(
C++ Не могу найти ошибку в коде
C++ Не могу найти ошибку в коде
Не могу найти ошибку в коде C++
C++ Не могу найти ошибку в коде
C++ не могу найти ошибку в коде.1 курс (с++)
Не могу найти ошибку в коде C++
C++ Не могу найти ошибку в коде
C++ Не могу найти ошибку в коде
Не могу найти ошибку в программном коде C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 21:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru