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

массив - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Принадлежит ли точка графику http://www.cyberforum.ru/cpp-beginners/thread210482.html
Помогите пожалуйста. Программа почему то не работает не могу разобраться что не дописал или где ошибка. #include <iostream> using namespace std; int main() { float b, a, c; cout << "Vvedite b:"; cin >> b; cout << endl << "Vvedite a:";
C++ Составить динамическую модель следующего объекта Список деталей механического устройства с разбивкой деталей по агрегатам. Количество агрегатов и деталей в каждом агрегате переменно. Для фрагмента модели, являющегося одномерным списком, составить модуль формирования нового списка деталей, общих для двух заданных агрегатов. http://www.cyberforum.ru/cpp-beginners/thread210479.html
C++ Опишите структуру с именем STUDENT
Никак не могу разобраться со структурами. подскажите где я ошибся. // 7.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <stdio.h> #include <conio.h> #include <locale.h> #define MAX 100 typedef struct
C++ Лабораторная работа по строкам.
Добрый вечер. Помогите пожалуйста!!!!! написать программу на языке "С" (не С++). Имеется строка, состоящая из символов. Символы объединяются в слова. Слова друг от друга отделяются одним пробелом. В конце ставится точка. Строка содержит не более 255 символов. Требуется: написать программу которая бы удаляла из строки все слова не являющиеся идентификаторами. заранее огромное спасибо!!!! ...
C++ Перегрузка арифметических операций для работы с объектами классов. http://www.cyberforum.ru/cpp-beginners/thread210449.html
Создать класс Animal, содержащий следующие элементы: - поле «вес» float Mass; - поле «пол» char* Sex; - поле «окрас» char* Color; - поле «возраст» int Age; - метод получения веса float GetMass(); - метод получения пола char* GetSex(); - метод получения возраста int GetAge(); - метод получения окраски char* GetColor(); - конструктор с параметрами Animal(float Mass, char* Sex,...
C++ Использование встроенных, дружественных функций и функций для работы с объектами классов. Создать класс Animal, содержащий следующие элементы: - поле «вес» float Mass; - поле «пол» char* Sex; - поле «окрас» char* Color; - поле «возраст» int Age; - метод получения веса float GetMass(); - метод получения пола char* GetSex(); - метод получения возраста int GetAge(); - метод получения окраски char* GetColor(); - конструктор с параметрами Animal(float Mass, char* Sex,... подробнее

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


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"); //Экран, замри!!!
            
 }
 
Текущее время: 04:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru