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

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

Войти
Регистрация
Восстановить пароль
 
barlog
2 / 2 / 0
Регистрация: 03.11.2009
Сообщений: 227
#1

Двоечники - C++

12.12.2010, 17:52. Просмотров 323. Ответов 7
Метки нет (Все метки)

Только начали проходить матрицы....что-то я еще в них не разобралась...помогите пожалуйста решить:

Дана матрица A, в которой Ai,j – оценка i-го студента на j-м экзамене по 10-балльной системе. Фамилии и названия предметов в памяти не хранятся. Найти количество двоечников, т. е. количество строк, в которых есть 1 и (или) 2 или (и) 3.

Пожалуйста!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MILAN
886 / 780 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
12.12.2010, 18:04 #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
#include <iostream>
#include <ctime>
 
using namespace std;
 
int main(void)
{
    srand(static_cast<int>(time(NULL)));
    const int n=4;
    int arr[n][n];
    int count=0;
    cout<<"Matrix:"<<endl;
     for(int i=0; i<n; i++)
     {
         for(int j=0; j<n; j++)
         {
             arr[i][j]=rand()%10+1;
             cout<<arr[i][j]<<"  ";
         }
       cout<<endl;
     }
    for(int i=0; i<n; i++)
     {
         for(int j=0; j<n; j++)
         {
             if(arr[i][j]>=1 && arr[i][j]<=3)
             {
                 count++;
                  break;
             }
         }
     }
    cout<<"Number string "<<count<<endl;
    system("pause");
    return 0;
}
1
barlog
2 / 2 / 0
Регистрация: 03.11.2009
Сообщений: 227
12.12.2010, 18:39  [ТС] #3
Цитата Сообщение от MILAN Посмотреть сообщение
arr[i][j]=rand()%10+1;
....не могу понять к чему это.поясните пожалуйста!

Добавлено через 46 секунд
аааааа...это наверное вы так задаете матрицу....!
0
MILAN
886 / 780 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
12.12.2010, 18:40 #4
barlog, заполнение матрицы случайными числами из диапазона [1;10]

count - переменая, которая считает количество двоечников. count++ тоже, что и count=count+1
1
barlog
2 / 2 / 0
Регистрация: 03.11.2009
Сообщений: 227
12.12.2010, 18:48  [ТС] #5
спасибо)

Добавлено через 8 минут
хмм...а мы таким образом посчитаем сколько просто плохих оценок...а не строк с плохими оценками?
Цитата Сообщение от MILAN Посмотреть сообщение
for(int j=0; j<n; j++)
{
if(arr[i][j]>=1 && arr[i][j]<=3)
{
count++;
break;
}
}
может еще while ....ну просто как только наткунулись на плохую так пишем +1 и переходим на следующую строку...а тут мне кажеться не так ...или так?не пойму....(
0
MILAN
886 / 780 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
12.12.2010, 18:56 #6
Так и есть, как только оценка от 1 до 3, выходим из цыкла, и переходим к расмотрению следующей строки!!!!
1
barlog
2 / 2 / 0
Регистрация: 03.11.2009
Сообщений: 227
12.12.2010, 19:11  [ТС] #7
....а за выход из цикла отвечает break, да?

Добавлено через 1 минуту
а я знаю в чем проблема у вас i-это столбец, а j-строка?

Добавлено через 22 секунды
а у меня наоборот)

Добавлено через 55 секунд
неет...у вас тоже так...

Добавлено через 2 минуты
Я просто хочу разобраться....

Цитата Сообщение от MILAN Посмотреть сообщение
for(int j=0; j<n; j++)
{
if(arr[i][j]>=1 && arr[i][j]<=3)
{
count++;
break;
}
}
мне казалось что break выводит толко из цикла if .тогда выходя из иф мы проверяем следующий элемент на сравнимость с 1 2 3 ...и начисляем count.не так разве?обьясните, пожалуйста!

Добавлено через 1 минуту
следующий в этой же строке...т.к условие на фор j<n

Добавлено через 31 секунду
так?или нет?....что-то я вообще запуталась(

Добавлено через 5 минут
оператор break используется для досрочного выхода из ближайшего вложенного внешнего оператора цикла while или for......т.е не из if.все ясно.проблема из-за незнания моего.)
0
MILAN
886 / 780 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
12.12.2010, 19:11 #8
В даном случае break выходит из цыкла, который идет по столбцам матрицы.
1
12.12.2010, 19:11
Ответ Создать тему
Опции темы

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