Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
winmaks
0 / 0 / 1
Регистрация: 13.12.2009
Сообщений: 19
#1

Определить номер строки, в которой находится самая длинная серия одинаковых элементов - C++

16.12.2009, 13:23. Просмотров 1531. Ответов 6
Метки нет (Все метки)

помогите студенту с решением ...

1)в целочисленной квадратной матрице определить номер строки, в которой находиться самая длинная серия одинаковых элементов.
2)упорядочить элементы массива по возрастанию модулей элементов.
3)в одномерном массиве состоящем из n вещественных элементов, вычислить произведение элементов массива расположенных между максимальным и минимальным элементами.


ко второй задаче я нашел код на форуме но не на том языке может кто то переделает на Си?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int main()
 
{
    int n, i, j;
    std::cout<<"n = ", std::cin>>n;
    int* mas = new int[n];
    std::cout<<"mas: "<<std::endl;
    for(i = 0; i < n; ++i)
        std::cin>>mas[i];
    for(j = 0; j < n; ++j)
        for(i = 0; i < n - 1; ++i)
            if(fabs(mas[i]) > fabs(mas[i + 1]))
                mas[i] ^= mas[i + 1] ^= mas[i] ^= mas[i + 1];
    std::cout<<"sort mas:"<<std::endl;
    for(i = 0; i < n; ++i)
        std::cout<<mas[i]<<' ';
    fflush(stdin);
    std::cin.get();
    return 0;
}
ЗЫ заранее спасиб за помошь
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.12.2009, 13:23
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Определить номер строки, в которой находится самая длинная серия одинаковых элементов (C++):

Дана целочисленная прямоугольная матрица. Определить номер строки, в которой находится самая длинная серия одинаковых элементов
Дана целочисленная прямоугольная матрица. Определить номер строки, в которой...

Найти номер строки, в которой находится самая длинная серия одинаковых элементов
Доброго времени суток.Дана целочисленная прямоугольная матрица. Определить:...

Найти номер строки матрицы, в которой находится самая длинная серия одинаковых элементов
Вот полное задание: 1) количество столбцов, содержащих хотя бы один нулевой...

Найти номер строки матрицы, в которой находится самая длинная серия одинаковых элементов
2.Данная прямоугольная целочисленная матрица. Определить: 1)сколько...

Номер столбца, в которой находится самая длинная серия одинаковых элементов.
Дана целочисленая прямоугольная матрица. Определить: 1)количество...

Определить номер столбца, в котором находится самая длинная серия одинаковых элементов
Здравствуйте. Мне нужно определить номер столбца, в котором находится самая...

6
Darky
Быдлокодер
508 / 295 / 84
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
16.12.2009, 13:57 #2
winmaks, Выложенный вами код фактически идентичен языку C.
cout заменяется на printf, cin - scanf
0
winmaks
0 / 0 / 1
Регистрация: 13.12.2009
Сообщений: 19
16.12.2009, 14:14  [ТС] #3
функции заменил выдает ошибки в 14,17,18,21 строках что нужно исправить?)
и если не трудно о4 нужно решение первой задачи ...

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
#include <math.h>
#include <conio.h>
#include <stdio.h>
 
int main()
 
{
    int n, i, j;
    printf("n = ");
    scanf("%d", &n);
    int* mas = new int[n];
    printf("mas: ");
    for(i = 0; i < n; ++i)
        scnaf("%d", & mas[i]);
    for(j = 0; j < n; ++j)
        for(i = 0; i < n - 1; ++i)
            if(fabs(mas[i]) > fabs(mas[i + 1]))
                mas[i] ^= mas[i + 1] ^= mas[i] ^= mas[i + 1];
    printf("sort mas:");
    for(i = 0; i < n; ++i)
        printf("%d", mas[i]);
    fflush(stdin);
    getch();
    return 0;
}
0
Darky
Быдлокодер
508 / 295 / 84
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
16.12.2009, 14:57 #4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

winmaks, Попробуйте так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <math.h>
#include <stdio.h>
int main()
{
    int n, i, j;
    printf("n = ");
        scanf("%d", &n);
    int* mas = new int[n];
    printf("mas: ");
    for(i = 0; i < n; ++i)
        scanf("%d", & mas[i]);
    for(j = 0; j < n; ++j)
        for(i = 0; i < n - 1; ++i)
            if(fabs(mas[i]) > fabs(mas[i + 1]))
                mas[i] ^= mas[i + 1] ^= mas[i] ^= mas[i + 1];
    printf("sort mas:");
    for(i = 0; i < n; ++i)
        printf("%d", mas[i]);
    fflush(stdin);
    return 0;
}
Добавлено через 7 минут
3
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
#include <stdio.h>
int main(void)
{
  int i,A[255],n=0,min=0,max=0,temp=1;
  printf("Vvedite razmernost massiva:");
  scanf("%d",&n);
  max=A[0];
    for (i=0;i<n;i++)
    {
      printf("Vvedite A [%d]: ",i);
      scanf("%d",&A[i]);
        if (A[i]>max)
            max=i;
    }
    min=A[0];
    for (i=0;i<n;i++)
    {
        if (A[i]<min)
            min=i;
    }
    for (min;min<max;min++)
      temp*=A[min];
    printf("Произведение эл. между min и max: %d",temp);
}
0
winmaks
0 / 0 / 1
Регистрация: 13.12.2009
Сообщений: 19
16.12.2009, 20:04  [ТС] #5
во второй задаче при компиляции выдает ошибки:

Compiling...
primer_2.c
c:\users\ìàêñèì\desktop\åãîâöåâà ëèçà\primer_2\primer_2.c(8) : error C2143: syntax error : missing ';' before 'type'
c:\users\ìàêñèì\desktop\åãîâöåâà ëèçà\primer_2\primer_2.c(11) : error C2065: 'mas' : undeclared identifier
c:\users\ìàêñèì\desktop\åãîâöåâà ëèçà\primer_2\primer_2.c(11) : error C2109: subscript requires array or pointer type
c:\users\ìàêñèì\desktop\åãîâöåâà ëèçà\primer_2\primer_2.c(11) : error C2102: '&' requires l-value
c:\users\ìàêñèì\desktop\åãîâöåâà ëèçà\primer_2\primer_2.c(14) : error C2109: subscript requires array or pointer type
c:\users\ìàêñèì\desktop\åãîâöåâà ëèçà\primer_2\primer_2.c(14) : error C2109: subscript requires array or pointer type
c:\users\ìàêñèì\desktop\åãîâöåâà ëèçà\primer_2\primer_2.c(15) : error C2109: subscript requires array or pointer type
c:\users\ìàêñèì\desktop\åãîâöåâà ëèçà\primer_2\primer_2.c(15) : error C2109: subscript requires array or pointer type
c:\users\ìàêñèì\desktop\åãîâöåâà ëèçà\primer_2\primer_2.c(15) : error C2109: subscript requires array or pointer type
c:\users\ìàêñèì\desktop\åãîâöåâà ëèçà\primer_2\primer_2.c(15) : error C2109: subscript requires array or pointer type
c:\users\ìàêñèì\desktop\åãîâöåâà ëèçà\primer_2\primer_2.c(15) : error C2106: '^=' : left operand must be l-value
c:\users\ìàêñèì\desktop\åãîâöåâà ëèçà\primer_2\primer_2.c(15) : error C2106: '^=' : left operand must be l-value
c:\users\ìàêñèì\desktop\åãîâöåâà ëèçà\primer_2\primer_2.c(15) : error C2106: '^=' : left operand must be l-value
c:\users\ìàêñèì\desktop\åãîâöåâà ëèçà\primer_2\primer_2.c(18) : error C2109: subscript requires array or pointer type
Error executing cl.exe.

primer_2.exe - 14 error(s), 0 warning(s)


и с первой задачкой помоги пожалуйста ...
0
Darky
Быдлокодер
508 / 295 / 84
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
16.12.2009, 21:03 #6
winmaks, Вы не в состоянии поправить ошибки? Видимо, Ваш компилятор не воспринимает знак "^", что вызывает большую часть проблем.
А первую задачу можно сделать, если хотя бы чуток над ней подумать. Давайте постараемся, а?
0
valeriikozlov
Эксперт С++
4683 / 2509 / 751
Регистрация: 18.08.2009
Сообщений: 4,550
17.12.2009, 07:00 #7
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

К первой задаче:
если mas[][] - квадратная матрица размерностью n, тогда так:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int max_i=0, max=1, a;
for(int i=0; i<n; i++)
for(int j=0; j<n-1; j++)
{
    
    if(mas[i][j]==mas[i][j+1])
    {
        a=0;
        while(mas[i+a][j]==mas[i][j+1+a] && i+a<n)
            a++;
        if(max<a+1)
        {
            max=a+1;
            max_i=i;
        }
        i+=a+1;
    }
}
теперь в max_i номер нужной нам строки.
0
17.12.2009, 07:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2009, 07:00
Привет! Вот еще темы с решениями:

Определить номер столбца, в котором находится самая длинная серия одинаковых элементов
Дана целочисленная прямоугольная матрица.Определить номер столбца в котором...

Определить номер столбца, в котором находится самая длинная серия одинаковых элементов
Дана целочисленная прямоугольная матрица. Нужно определить - номер...

Определить номер столбца матрицы, в котором находится самая длинная серия одинаковых элементов
в целочисленной прямоугольной матрице определить номер столбца, в котором...

Номер строки, в которой самая длинная серия одинаковых злементов
Написать программу, определяющую, в какой строке целочисленной матрицы m x n...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru