IPB

Здравствуйте, гость ( Вход | Регистрация )

> Не получается реализовать код на С++)) Нужна помощь..
GelarX
сообщение 25.6.2011, 9:06
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 2
Регистрация: 18.6.2011
Город: Москва
Вы: студент



Условие звучит так:
Задана матрица целых чисел. Найти номера строк, элементы в каждой из которых одинаковы. Использовать функции.
..
Вроде бы и не сложная задача.. но вот уже часа полтора ее "кручу" и ничего не выходит..
С кодом блока проверки извращался по разному - даже встраивал туда новый создаваемый массив..и даже двумерный))
Вообще мысль была такая - берется 1 число из первой строчки. Подсчитывается количество таких же чисел в этой же строке. После ищется такое же количество символов в следующей строке, проверяется на сходность. Если нет - то ищется такое же количество символов в следующей строке.. и так до последней строки.. после чего результаты записываются.. выглядеть это должно было так: если скажем в первой строке 2 числа 3, в 3, и скажем в 9 - то это запоминается путем присваивания новой переменной. После чего берется следующий символ в 1-й строке(если такой есть).. ну и так далее..
В конце выводятся все результаты проверки..ну а в блоке вывода поставить фильтр.. У меня у меня уже мозг за разум выходит (IMG:style_emoticons/default/smile.gif)
И вообще мне кажется, что программа должна реализовываться несколько проще.. (IMG:style_emoticons/default/rolleyes.gif)
Короче - компилятор все пишет всякую ересь.. Может у кого получится - заранее благодарен ))

Код

#include <conio.h>
#include <iostream.h>
#include <stdlib.h>
#include <time.h>
#include <iomanip.h>

void generate_matrix(int a[10][10], int n, int m)
{
srand((unsigned)time(NULL));
for (int i = 0; i < n; i++)
  for (int j = 0; j < m; j++)
   a[i][j] = rand()%10;
}

void print_matrix(int a[10][10], int n, int m)
{
cout << endl;
for (int i = 0; i < n; i++)
  {
   for (int j = 0; j < m; j++)
    cout << setw(4) << a[i][j];
    cout << endl << endl;
  }
}

void check(int a[10][10], int n,int m)
{
int i,j,z,k,p,q;
  for(i=0;i<n;i++)
    {
    for(q=0;q<n;q++)
      {
      for(j=0;j<m;j++)
    {
    for(z=0;z<m;z++)
      {
      if(a[i][j]==a[i][z])
        {
        k++;
        }
      if(a[i][j]==a[q][z])
        {
        p++;
        }
          }
    if(p!=k)
      {
      break;
      break;
      }
    }
      if(p==k)
    {
    cout<<j<<" "<<z;
       cout>>checka);
    }
      }
    }
}

void main()
{
clrscr();
  int n,m;
  int k = 0;
  int a[10][10];
  cout << " Vvedite kol-vo strok matritzi: ";
  cin >> n;
  cout << " Vvedite kolichestvo stolbcov matritzi: ";
  cin >> m;
  generate_matrix(a,n,m);
  print_matrix(a,n,m);
  cout << endl << " Nomera strok, vse elementi kotorix odinakovi: " << endl;
  /*for (int i = 0; i < n; i++)
   if (check(a,n,m) !=0)
   {
    cout << i+1 << endl;
   }*/
   check(a,n,m);
   /*else
     cout <<"takix net.";*/
getch();
}
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме


Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 25.5.2025, 16:36

Книжки в помощь: "Сборник заданий по высшей математике" Кузнецов Л.А., "Сборник заданий по высшей математике" Чудесенко В.Ф., "Индивидуальные задания по высшей математике" Рябушко А.П., и другие.




Зеркало сайта Решебник.Ру - reshebnik.org.ru