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

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

Восстановить пароль Регистрация
 
barlog
2 / 2 / 0
Регистрация: 03.11.2009
Сообщений: 227
12.12.2010, 17:52     Двоечники #1
Только начали проходить матрицы....что-то я еще в них не разобралась...помогите пожалуйста решить:

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

Пожалуйста!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MILAN
 Аватар для MILAN
883 / 777 / 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;
}
barlog
2 / 2 / 0
Регистрация: 03.11.2009
Сообщений: 227
12.12.2010, 18:39  [ТС]     Двоечники #3
Цитата Сообщение от MILAN Посмотреть сообщение
arr[i][j]=rand()%10+1;
....не могу понять к чему это.поясните пожалуйста!

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

count - переменая, которая считает количество двоечников. count++ тоже, что и count=count+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 и переходим на следующую строку...а тут мне кажеться не так ...или так?не пойму....(
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
12.12.2010, 18:56     Двоечники #6
Так и есть, как только оценка от 1 до 3, выходим из цыкла, и переходим к расмотрению следующей строки!!!!
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.все ясно.проблема из-за незнания моего.)
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
12.12.2010, 19:11     Двоечники #8
В даном случае break выходит из цыкла, который идет по столбцам матрицы.
Yandex
Объявления
12.12.2010, 19:11     Двоечники
Ответ Создать тему
Опции темы

Текущее время: 16:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru