Статистика
Всего в нашей базе более 4 327 663 вопросов и 6 445 978 ответов!

C++

10-11 класс

Расположить строки заданной матрицы по возрастанию количества одинаковых элементов в каждой строке.

Nataliiamoroz2 31 янв. 2017 г., 4:50:20 (7 лет назад)
Рейтинг
+ 0 -
0 Жалоба
+ 0 -
Koteyka1998
31 янв. 2017 г., 5:38:58 (7 лет назад)

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

#include <iostream>
#include <stdlib.h>

using namespace std;

int n,l;

int test(int *a, int s)
{
    int ret=0;
    int c=0;
    int i,j;
    for(i=0;i<l;i++)
    {
        c=0;
        for(j=i+1;j<l;j++)
        if(a[s][i]==a[s][j])
        c++;
        if(ret<c) ret=c;
    }
    return ret;
}

int compare(const void* a, const void* b)
{
    return *(int *)a-*(int *)b;
}

int main()
{
    int i,j,t;
    int a[10][10],b[10][10];
    cin >> n >> l;
    for(i=0;i<n;i++)
        for(j=0;j<l;j++)
            cin >> a[i][j];
    int *c = new int[n];
    for(i=0;i<n;i++)
    c[i]=test((int*)a,i);
    qsort(c,n,sizeof(int),compare);
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        if(test(&a[0][0],i)==c[i])
        for(t=0;t<l;t++)
        b[i][t]=a[i][t];
    }
}

Ответить

Другие вопросы из категории

На ферме установлены следующие расценки:

бык стоит 25 000р.,

СОСТАВИТЬ ПРОГРАММУ НА ЯЗЫКЕ С!!!!!!

СРОЧНО!
Пожалуйста.

Числа Люка определяются так: первое число равно 1, второе равно 3, каждое следующее равно сумме двух предыдущих. Составить программу, которая находит сумму первых k чисел Люка (k – задается пользователем). Определить количество первых чисел Люка, таких, что значение ихсуммы не превышает диапазона типа int (long int). Вывести в виде таблицы данное значение суммы и три предыдущих значения суммы (с соответствующими количествами чисел Люка).

1) Что будет напечатано на экране в результате выполнения следующей программы:

........
A:=1;
B:=5;
WHILE A<B DO
BEGIN
WRITELN(A,B) ;
A:=A+1;
END;

2) Цикл FOR заменить на цикл WHILE DO

FOR I:=1 TO 50 DO
BEGIN
CISLO:=CH/ZN;
S:=S+CISLO;
END;

Читайте также



Вы находитесь на странице вопроса "C++", категории "информатика". Данный вопрос относится к разделу "10-11" классов. Здесь вы сможете получить ответ, а также обсудить вопрос с посетителями сайта. Автоматический умный поиск поможет найти похожие вопросы в категории "информатика". Если ваш вопрос отличается или ответы не подходят, вы можете задать новый вопрос, воспользовавшись кнопкой в верхней части сайта.