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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Winsock2 hook http://www.cyberforum.ru/cpp-beginners/thread862378.html
Может кто-нибудь написать пример хука для Winsock2(Ws2_32) closesocket ? (что бы закрывать сокет только когда нужно)
C++ Перегруженный оператор сдвига '<<' не функции-члена класса для объекта ostream Добрый день. В учебнике попалось на первый взгляд простое задание: #include <iostream> int main() { std::cout << "Hello, world!"; } нужно модифицировать программу таким образом, чтобы она выводила: Initialize Hello, world! http://www.cyberforum.ru/cpp-beginners/thread862368.html
Поиск букв и символов в тексте C++
Привет знатокам! вот такая задача: "Дан текст, каждый символ которого может быть малой буквой, цифрой или одним из знаков "+","-","*". Группой букв будем называть такую совокупность последовательно расположенных букв, которой непосредственно не следует буква. Аналогично определим группу цифр и группу знаков. а) Подсчитать число вхождений буквы f в первые три группы букв ( в предложение, что...
Вызов библиотеки классов C# из С++ C++
Здравствуйте! Нужна помощь знающих людей. Предположим есть такая библиотека классов на C# в виде dll файла: using System; namespace ManagedDLL { public class ManagedClass { public int Add(int Number1, int Number2)
C++ Исправьте ошибку http://www.cyberforum.ru/cpp-beginners/thread862353.html
Бинарный поиск не находит числа которые находятся в первой строке матрицы. #include <iostream> #include <iomanip> #include <conio.h> using namespace std; int main () { int i, j, el, m, k, kol= 0, w, last, first, mid,c,temp,x,z;
C++ Перевод из паскаля в с ++ Ребят помогите перевести в с ++ var p:array of integer; c,c1:char; i,j,N,K:integer; name:string; time1,time2:integer; begin readln(N,K); for i:=1 to K do подробнее

Показать сообщение отдельно
takeshymsi
0 / 0 / 0
Регистрация: 12.05.2013
Сообщений: 12
12.05.2013, 13:52     Не могу найти ошибку в коде
Не могу найти ошибку, в чем проблема?

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

Всем знакома детская игра «мозаика», где можно выкладывать картинки из разноцветных кусочков. Пусть имеется М разных цветов и по 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;
 
 
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 16:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru