Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.09.2013, 14:33   #1
alucard115
Пользователь
 
Аватар для alucard115
 
Регистрация: 25.12.2012
Сообщений: 88
По умолчанию Двумерный массив. C++

Здравствуйте! Вот само задание: "Дан двумерный массив NxN. Необходимо подсчитать количество положительных элементов и вывести его на экран."

Массив я создал, а вот, как условие составить, подскажите пожалуйста.

Код:
#include <iostream>
#include <cstdlib>
using namespace std;
const int n=10;
const int m=10;  
int main()
{
	int j;
	int A [n] [m]; // Задаю двумерный массив
	for (int i=0; i<n; i++)
		for (j=0;j<m;j++)
			cin>>A[i][j]


}
и еще, что означает
Код:
const int m=10;
?) число столбцов?)
alucard115 вне форума Ответить с цитированием
Старый 05.09.2013, 14:45   #2
8Observer8
Старожил
 
Регистрация: 02.01.2011
Сообщений: 3,328
По умолчанию

Вот так:
Код:
    // ...
    int A [n] [m]; // Задаю двумерный массив
    int counter = 0;
    for (int i=0; i<n; i++) {
        for (j=0;j<m;j++)
            cin>>A[i][j];
            if (A[i][j] > 0) {
                counter++;
            }
        }
    }
    // ...
Цитата:
Сообщение от alucard115 Посмотреть сообщение
и еще, что означает
Код:
const int m=10;
?) число столбцов?)
Да.
8Observer8 вне форума Ответить с цитированием
Старый 05.09.2013, 15:02   #3
alucard115
Пользователь
 
Аватар для alucard115
 
Регистрация: 25.12.2012
Сообщений: 88
По умолчанию

Цитата:
Сообщение от 8Observer8 Посмотреть сообщение
Вот так:
Код:
    // ...
    int A [n] [m]; // Задаю двумерный массив
    int counter = 0;
    for (int i=0; i<n; i++) {
        for (j=0;j<m;j++)
            cin>>A[i][j];
            if (A[i][j] > 0) {
                counter++;
            }
        }
    }
    // ...
эм.. не все понятно))
что такое
Код:
counter++;
? можно с комментариями?)
alucard115 вне форума Ответить с цитированием
Старый 05.09.2013, 15:12   #4
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,680
По умолчанию

Код:
  // ...
    int A [n] [m]; // Задаю двумерный массив
    int counter = 0; // обнуление счетчика положительных чисел
    for (int i=0; i<n; i++) {
        for (j=0;j<m;j++)
            cin>>A[i][j]; // Ввод значения в массив
            if (A[i][j] > 0) { // Проверка услович... Если число больше 0, т.е. положительное
                counter++; // то увеличить счетчик на 1. 
            }
        }
    }
И так проверяется вся матрица. Переменная counter аккумулирует количестиво положительных элементов.
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 05.09.2013, 15:40   #5
alucard115
Пользователь
 
Аватар для alucard115
 
Регистрация: 25.12.2012
Сообщений: 88
По умолчанию

Цитата:
Сообщение от Bugrimov Посмотреть сообщение
Код:
  // ...
    int A [n] [m]; // Задаю двумерный массив
    int counter = 0; // обнуление счетчика положительных чисел
    for (int i=0; i<n; i++) {
        for (j=0;j<m;j++)
            cin>>A[i][j]; // Ввод значения в массив
            if (A[i][j] > 0) { // Проверка услович... Если число больше 0, т.е. положительное
                counter++; // то увеличить счетчик на 1. 
            }
        }
    }
И так проверяется вся матрица. Переменная counter аккумулирует количестиво положительных элементов.
хм.. спасибо) А как сделать, чтобы не самому вводить массив двумерный, а в программе был задан, случайными числами, или просто любыми числами. чтобы на экране был выведен этот массив. А затем ниже был выведен на экран количество подсчитанных положительных элементов?

Код:
#include <iostream>
#include <cstdlib>
using namespace std;
const int n=2;
const int m=2;  
int main()
{
	int j;
	int A [n] [m]; // Задаю двумерный массив
	int counter = 0; //обнуление счетчика положительных чисел
	for (int i=0; i<n; i++) {
		for (j=0;j<m;j++) 
			cin>>A[i][j]; // Ввод значения в массив
		if (A[i][j]>0) {
		// Проверка условия... Если число больше 0, т.е. положительное
                counter++; // то увеличить счетчик на 1. 
            }
        }
    

}
alucard115 вне форума Ответить с цитированием
Старый 05.09.2013, 15:54   #6
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,680
По умолчанию

В одной из ваших последних тем 8Observer8 писал код генерации случайных чисел и запись из в матрицу...
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 05.09.2013, 16:05   #7
alucard115
Пользователь
 
Аватар для alucard115
 
Регистрация: 25.12.2012
Сообщений: 88
По умолчанию

Цитата:
Сообщение от Bugrimov Посмотреть сообщение
В одной из ваших последних тем 8Observer8 писал код генерации случайных чисел и запись из в матрицу...
помоему, он писал код для одномерного массива) а тут то двухмерный..)
alucard115 вне форума Ответить с цитированием
Старый 05.09.2013, 16:29   #8
alucard115
Пользователь
 
Аватар для alucard115
 
Регистрация: 25.12.2012
Сообщений: 88
По умолчанию

повторился(((

Последний раз редактировалось alucard115; 05.09.2013 в 16:43.
alucard115 вне форума Ответить с цитированием
Старый 05.09.2013, 16:29   #9
alucard115
Пользователь
 
Аватар для alucard115
 
Регистрация: 25.12.2012
Сообщений: 88
По умолчанию

Может можно что то из этого вытащить?) только я не совсем понимаю в переменных, и в некоторых операторах...=(( МОжет кто сможет пояснить комментариями?)
Код:
#include <iostream>
#include <cstdlib>
#include <time.h>
#include <conio.h>
using namespace std;
 
int main()
{
const int i_n_1 = 10, i_n_2 = 10;
int i_r = 0, i_c = 0, array_1[i_n_1][i_n_2];
 
srand(time(NULL));
 
for(int i_1 = 0; i_1 < i_n_1; ++i_1)
for(int i_2 = 0; i_2 < i_n_2; ++i_2)
{
array_1[i_1][i_2] = rand() % 100;
 
if(!(array_1[i_1][i_2] < 0))
{
++i_c;
i_r += array_1[i_1][i_2];
}
}
 
// i_r = сумма
//i_c = кол - во положительных элементов
 
getch();
return 0;
}
alucard115 вне форума Ответить с цитированием
Старый 05.09.2013, 16:32   #10
alucard115
Пользователь
 
Аватар для alucard115
 
Регистрация: 25.12.2012
Сообщений: 88
По умолчанию

и как на экран вывести сам массив готовый?
а затем ниже, чтобы был кол-во положительных элементов?

программу запускаю когда эту, он всегда кол-во элементов пишет :100.

может что не так делаю?
добавил вывод на экран кол-во положительных элементов.

Код:
#include <iostream>
#include <cstdlib>
#include <time.h>
#include <conio.h>
using namespace std;
 
int main()
{
const int i_n_1 = 10, i_n_2 = 10;
int i_r = 0, i_c = 0, array_1[i_n_1][i_n_2];
 
srand(time(NULL));
 
for(int i_1 = 0; i_1 < i_n_1; ++i_1)
for(int i_2 = 0; i_2 < i_n_2; ++i_2)
{
array_1[i_1][i_2] = rand() % 100;
 
if(!(array_1[i_1][i_2] < 0))
{
++i_c;
i_r += array_1[i_1][i_2];
}
}
 
// i_r = сумма
//i_c = кол - во положительных элементов
  cout<<"Kol-vo + elements:"<<i_c;
getch();
return 0;
}
alucard115 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двумерный массив развернуть в одномерный массив по строкам[QBASIC] TrueStyle777 Помощь студентам 3 29.05.2013 21:56
Двумерный массив в С the_faceless Помощь студентам 8 18.12.2012 23:21
Двумерный массив на С++ Владилена Помощь студентам 0 11.06.2011 18:36
Одномерный массив и Двумерный массив eugene1437 Общие вопросы C/C++ 15 25.05.2011 19:17
Двумерный массив, одномерный массив. Branbal Помощь студентам 14 18.11.2009 12:40