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

Определить индекс столбца, в котором находится максимальное количество нулей - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как открыть бинарный файл, не зная его структуру? http://www.cyberforum.ru/cpp-beginners/thread21410.html
Можно ли как-нибудь открыть бинарный файл, не зная его структуру?
C++ Составить судоку. Разгадать ее и описать алгоритм. Составить судоку.разгадать ее и описать агларитм.:help: http://www.cyberforum.ru/cpp-beginners/thread21381.html
Нужна консультация по Visual Studio 6.0 C++
Я никогда не писал в вижуал студии, и у меня ее нет, чтобы проверить, поэтому прошу консультации. Есть небольшая прога на досовом с++(Борландовский компилятор). Она нормально скомпилируется в качестве консольного приложения на студии или там будут какие-то ньюансы?
C++ Задачи с массивами
Задан массив Y(M). Вы числить сумму 2ух наибольших и 2ух наименьших элементов массива.(M>5) ПОМОГИТЕ КТО МОЖЕТ ОЧЕНЬ НАДО!!!
C++ Связь заголовочного файла и файла с описанием класса. http://www.cyberforum.ru/cpp-beginners/thread21338.html
Всем привет! На картинке я выложил код из одной книжки, у меня возникли некоторые вопросы: - Должен ли компилироваться файл TIME1.CPP? - Как связан заголовочный файл с TIME1.CPP, если в заголовочном нет ссылки на второй?(может, они связаны с помощью названия файлов, но спросить не мешает). Если обьявлен указатель int *t; то должна ли быть обьявлена переменная t? Ведь *t хранит адрес...
C++ Расчет по формуле Здравствуйте уважаемые форумчане. Мне мужно вывести на экран значение рассчитанное по формуле, на языке С++ 1511.26 : (1 + 1639.28 * 2.71828 В СТЕПЕНИ -0.00412 * переременная) Проблема в том что я не могу перевести ету формулу в код С++, вернее незнаю как поднести к степени. подробнее

Показать сообщение отдельно
ISergey
Maniac
Эксперт С++
 Аватар для ISergey
1345 / 878 / 51
Регистрация: 02.01.2009
Сообщений: 2,643
Записей в блоге: 1
23.01.2009, 11:45     Определить индекс столбца, в котором находится максимальное количество нулей
1.В переменую index помещается индекс столбца, в котором находится максимальное кол-во нулей, что и задумано задачей.
2.В переменую max помещаем количество нулей в заданом "i - том"столбце по этому max = 0,
потом проверяем если в "i - том" столбце кол-во нулей больше чем в столбце "i - n" (max > count) то в переменую count помещаем max.
3.row - кол-во строк в массиве
col - кол-во столбцов в массиве
А во втором задании можно без указателей обойтись?!
Да.
вот рабочий код С++(исправлена одна ошибка)
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
60
61
62
63
64
#include <iostream>
using namespace std;
int main()
{
    const int row = 5;
    const int col = 3;
    int arr[row][col];
    arr[0][0] = 1; arr[0][1] = 0; arr[0][2] = 1;
    arr[1][0] = 0; arr[1][1] = 1; arr[1][2] = 0;
    arr[2][0] = 0; arr[2][1] = 0; arr[2][2] = 0;
    arr[3][0] = 1; arr[3][1] = 0; arr[3][2] = 0;
    arr[4][0] = 1; arr[4][1] = 1; arr[4][2] = 0;
    //out array
    for(int i = 0; i < row; i++)
    {
        cout<<"[ ";
        //printf("[ ");
        for(int j = 0; j < col; j++)
        {
            cout<<arr[i][j]<<" ";
            //printf("%i ",arr[i][j]);
        }
        cout<<"]"<<endl;
        //printf("]\n");
    }
    int index = 0;   
    for(int i = 0, max = 0,count = 0; i < col; i++)   
    {   
        for(int j = 0; j < row; j++)   
        {   
            if(arr[j][i] == 0)   
                max++;   
            if(count < max)   
            {   
                count = max;   
                index = i;   
            }   
        }   
        max = 0;   
    }
    cout<<"Index = "<<index<<endl;
    //printf("Index = %i\n",index);
 
    int ar[row];   
    for(int i = 0; i < row; i++)   
        ar[i] = arr[i][index];   
    for(int i = 0, j = row-1; i < row; i++, j--)   
        arr[i][index] = ar[j];   
 
    //out array
    for(int i = 0; i < row; i++)
    {
        cout<<"[ ";
        //printf("[ ");
        for(int j = 0; j < col; j++)
        {
            cout<<arr[i][j]<<" ";
            //printf("%i ",arr[i][j]);
        }
        cout<<"]"<<endl;
        //printf("]\n");
    }
    return 0;
}
 
Текущее время: 05:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru