Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: двух мерные массивы  (Прочитано 6089 раз)
0 Пользователей и 1 Гость смотрят эту тему.
pokk
Помогающий

ru
Offline Offline

« : 08-12-2008 15:27 » 

помогите я уже что-то совсем замучился с этим заданием 

 2 задание

сделать я хотел так расположить каждую строчку в матрице по порятку возростания тогда все одинаковые элименты будут  рядом потом написать цикл что бы сравнить каждый элимент с последушим таким образом найдём количество одинаковых цифр

но возникла проблема как расположить их по порятку  в простом массиве можно сделать так что бы просто менялся местами если предыдуший элимент больше послудущего     

но в двух мерном массиве у меня так не получается

вот я пытался сделать что бы преобразовать тока 0 строку
Код:
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
int  a[3][5]={1,2,1,4,6,2,4,8,0,10,1,2,3,0,0};
int d,c,b;
for (c=0;c<3;c++){
for (d=0;d<4; d++){
if (a[0][d]>a[0][d+1]){
b=a[0][d];a[0][d]=a[0][d+1];a[0][d+1]=b;
}
printf("%d\t",a[c][d]);
}
}
printf("is %d\t\t\t\t",a[0][0]);

return 0;
}


но последнее место занимает другая цыфра не которая должна быть =))

Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #1 : 08-12-2008 18:21 » 

1 задание:
Код:
  int num=0;
  for(перечисляем столбцы)
  {
    for(в текущем столбце перечисляем строки)
    {
      if(в текущем элементе - 0)
      {
         num++;
         break;
      }
    }
  }

2 задание:
Код:
{
  int max_len=0;//максимальная длина
  int strnum=0;//Номер строки с этой последовательностью

  for(перечисляем строки)
  {
    int L=count_max_len(текущая строка);
    if(L>max_len)
    {
       strnum=текущая строка;
    }
  }
}

int count_max_len(int текущая строка)
{
  ...
}




Записан

pokk
Помогающий

ru
Offline Offline

« Ответ #2 : 09-12-2008 13:54 » 

2 задание можно не делать (тока сегодня узнал)

а вот с первым мне кажется не получится так,потому что в одном столбце может быть несколько нулевых элиментов ,а код этой прогммы найдёт колицество все нулевых элиментов  =)
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #3 : 09-12-2008 14:16 » 

pokk, это тебе кажется Улыбаюсь А ты тестировал ?  Когда находим 0, то break выкидывает из внутреннего цикла и переходим к следующему столбцу
Записан

pokk
Помогающий

ru
Offline Offline

« Ответ #4 : 09-12-2008 16:47 » 

  Когда находим 0, то break выкидывает из внутреннего цикла и переходим к следующему столбцу

СПАСИБО всё работает  =))
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines