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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
skaska100
0 / 0 / 0
Регистрация: 16.10.2010
Сообщений: 69
#1

массив - C++

13.12.2010, 23:50. Просмотров 378. Ответов 3
Метки нет (Все метки)

помогите пожалуйста

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

только прошу написать просто,т.к многие команды не проходили учитель может не поверить)
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.12.2010, 23:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос массив (C++):

Ввести массив А. В массив В перенести все элементы массива А, стоящие правее максимального элемента, и имеющие нечетный индекс. Массив В отсортировать - C++
Добрый Вечер! Написал первую часть программы по этому заданию"Ввести массив А. В массив В перенести все элементы массива А, стоящие правее...

Массив: Как скопировать двумерный массив в другой массив? - C++
Как скопировать двумерный массив в другой массив?

Дан массив целых чисел,произвести для него следующие операции: для каждого из чисел ,входящего в массив,указать,сколько раз оно входит в массив... - C++
помогите!!!((( дан массив целых чисел,произвести для него следующие операции: для каждого из чисел ,входящего в массив,указать,сколько...

Файл: Загрузка данных из файла: первый столбец записывался в 1й массив, второй столбец - во 2й массив, а 3й столбец - в 3й массив. - C++
Есть текстовый файл, в нем 3 столбца чисел (число строк заранее неизвестно). Напишите пожалуйста код, чтобы первый столбец записывался в...

с клавиатуры ввести массив,во второй массив записать нечетные элементы из первого - C++
с клавиатуры ввести массив,во второй записать нечетные элеиенты из первого.В третий массив записать четные элементы, стоящие на нечетных...

Массив: преобразорвать двумерный массив в одномерный и отсортировать его методом пузырька - C++
всем привет. народ помогите с прогой, конкретно с функцией sort (65 строка), она должна двухмерный массив перевести построчно в одномерный...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Neonjke
18 / 18 / 1
Регистрация: 08.10.2009
Сообщений: 94
14.12.2010, 00:28 #2
Вот такая вот реализация. Не учел один момент в ней: если несколько строк с одинаковым количеством повторений в строке. Будет показывать номер первой, в которой встречается такое кол-во "повторюшек".
Постарался максимально все прокомментировать


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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#include "stdafx.h"
#include <conio.h>
#include <iostream>
using namespace std;
 
 
 
 void main(void)
 {
    int n; // здесь будет лежать кол-во строк в матрице
    int m; // здесь будет лежать кол-во столбцов в матрице
    int i; // счетчик строк
    int j; //счетчик столбцов
    int massive[50][50]; // наш дюбимый двумерный массив
    int nulevoy=0; // счетчик волшебных нулевых столбцов
    int seriya=0; // тут считаем кол-во элементов подряд
    int seriyamax=0; // а тут считаем максимальное кол-во элементов подряд
    int nomerstroki=0; // а сюда запишем номер строки, где большего всего повторюшек
 
    // Спршиваем у великого юзера: сколько строчек и стобцов ты хочешь, о юзверь
    // Кладем его ответы в специально заготовленные переменные n и m
    std::cout << "Vvedite kol-vo strok massiva:" << endl;
    std::cin >> n;
    std::cout << endl;
    std::cout << "Vvedite kol-vo stolbcov massiva:" << endl;
    std::cin >> m;
    std::cout << endl;
 
    // Попросим ввести юзера каждый элемнт массива, по очереди, элемент за элементам, строчка за строчкой
    for (i=0; i<n; i++)
        for (j=0; j<m; j++)
        {   
            std::cout << "Vvedite " << i+1 << "*" << j+1 << " element massiva:" << endl;
            std::cin >> massive[i][j];
        }
    std::cout << endl;
 
 
    // Посчитаем кол-во столбцов с нулевым элементом
    for (j=0; j<m; j++) //Начнем считать со стобцов, т.к интересуют нас стобцы
        for (i=0; i<n; i++)
            if (massive[i][j]==0) // Если элемент массива нулевой
            {
                nulevoy++; // То прибавим счетчик
                break; // И выпрыгнем из цикла (который перемещает нас в строке) - что переведет нас на след. столбец.
            }
 
 
    for (i=0; i<n; i++)
    {   
        for (j=1;j<m;j++) // начнем со 2го элемента в строчке, т.к. сравнивать будем с предыдущим
            if (massive[i][j]==massive[i][j-1]) //Если текущий элемент равен предыдущему в строке
                seriya++; //То прибавим к счетчику серии единичку
 
        if (seriya>seriyamax) //После того как мы прошлись по все строке, если в этой строке подряд было больше, чем до этого
        {
            nomerstroki=i+1; //То запишем в переменную номер этой строки (+1 т.к. начинаем с 0ля)
            seriyamax=seriya; //И теперь максимальное кол-во равных подряд такое же, как в нашей сточке
        }
        
        // А если нет повторяющихся элементов, то все остается как было
 
        seriya=0; // И обнулим наш счетчик повторяшек
    }
 
    std::cout << endl;
    std::cout << endl;
 
    // Выведем нашу матрицу
    for (i=0; i<n; i++)
    {   for (j=0; j<m; j++)
            std::cout << massive[i][j] << " ";
        std::cout << endl;
    }
        
    std::cout << endl;
 
    // Выведем наши результаты
    std::cout << "Stolbcov c 0 elementom vsego: " << nulevoy << endl;
    
    if (nomerstroki>0) //Если у нас переменная хоть раз изменилась, то есть строки, где элементы повторяются
        std::cout << "Samaya dlinnaya seriya povt. elementov v " << nomerstroki << " stroke" << endl;
    else //А на нет и суда нет =)
        std::cout << "Nigde v matrice net povt. elementov v strokah!";
 
    std::cout << endl;
 
    std::system("pause"); //Экран, замри!!!
            
 }
2
skaska100
0 / 0 / 0
Регистрация: 16.10.2010
Сообщений: 69
14.12.2010, 17:14  [ТС] #3
а мне нужно было в разных программах по идее написать
т.е 2 программы
0
skaska100
0 / 0 / 0
Регистрация: 16.10.2010
Сообщений: 69
15.12.2010, 19:35  [ТС] #4
ну что знает ктонибуть?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.12.2010, 19:35
Привет! Вот еще темы с ответами:

Заполнить массив первыми ста простыми числами, и вывести массив на экран - C++
Объявите одномерный целочисленный массив в котором не более 100 элементов выполните генерацию массива первыми 100 простыми числами....

Можно ли в классе создавать массив переменной длинны. Например динамический массив? - C++
Динамические массивы привлекают больше. :)

Дан массив. Записать во второй массив все элементы, не совпадающие с минимальным - C++
Дан массив M(14).Записать в массив B все элементы , не совпадающие с минимальным. Cоставить блок схему программы

Дан массив А(4,4). Сформировать массив В(4) из среднеарифметических значений элементов в каждой строке. - C++
Дан массив А(4,4). Сформировать массив В(4) из среднеарифметических значений элементов в каждой строке. Посмотрите пожалуйста... ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
15.12.2010, 19:35
Ответ Создать тему
Опции темы

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