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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.12.2011, 17:55   #1
Zzqq
Новичок
Джуниор
 
Регистрация: 20.12.2011
Сообщений: 6
По умолчанию Затупил C++

Определите сколько строк заданной матрицы B(m,n) содержит хотя бы один элемент из задан¬ного числового диапазона

Пробовал уже по разному:

Первый вариант:
PHP код:
#include <iostream.h>
#include <iomanip.h>
#include <Windows.h>

charRus(const chartext);


void main(void)
{
int nmk=0ij;
float b[5][5]; 
cout << Rus("Введите диапазон матрицы: ");
cin >> n;
for (
i=0;i<ni++) 
    {
for (
j=0;j<nj++) 
        {
cout << Rus("Введите число для матрицы: ");
cin >> b[i][j];
    }
    
cout << endl;
}
for (
i=0;i<ni++) 
    {
for (
j=0;j<nj++) 
cout <<setw(5) << b[i][j];
cout << endl;
    }
for (
i=1;i<= ni++)
{
for (
j=1;j<=nj++)
        if (
b[i][j]>&& b[i][j]<m);
}
cout << Rus("k=: ") << k;
cout << endl;
}

char bufRus[256];
charRus(const chartext){
    
CharToOem(text,bufRus);
    return 
bufRus;

Второй:
PHP код:
# include <iostream.h>
# include <iomanip.h>
# include <stdlib.h>
# include <windows.h>
charRus(const chartext);

int main () {
    
int i,jk=0nm;
    
float B[10][10];
    
srand(100000);cout <<  Rus("Исходная таблица \n");
    for (
i=1i<ni++) {
    for (
j=1;j<nj++)  {
        
        
B[i][j]=rand()/5000; }} 
    for (
i=1i<ni++){
        for (
j=1;j<nj++)
            
cout << setw(5) << B[i][j];    
        
cout << endl; }
        
cout << endl;

        for (
i=1i<ni++){
            
k=0;
            for (
j=1;j<nj++){
            if (
B[i][j]>&& B[i][j]<m); }
         }
            
cout << "k = " << k;
        return 
0;}
char bufRus[256];
charRus(const chartext){
    
CharToOem(text,bufRus);
    return 
bufRus;

Третий:
PHP код:
# include <iostream.h>
# include <iomanip.h>
# include <stdlib.h>
# include <windows.h>

charRus(const chartext);

void main(void)
{
int jnmk=0i=0;
float b[10][10];
cout << Rus("Число строк: "); cin >>n;
cout << Rus("Число столбцов: "); cin >> m;

for (
i=1i<=ni++) {
for (
j=1j<=nj++) {
if (
b[i][j]>&& b[i][j]<mk++;
cout << "k = " << k; }}
}

char bufRus[256];
charRus(const chartext){
CharToOem(text,bufRus);
return 
bufRus;

К сожалению не одним не заработал так, как нужно.

Последний раз редактировалось Zzqq; 20.12.2011 в 17:58.
Zzqq вне форума Ответить с цитированием
Старый 20.12.2011, 18:07   #2
sVasilich
Форумчанин
 
Аватар для sVasilich
 
Регистрация: 16.12.2009
Сообщений: 224
По умолчанию

Если строку нашёл, цикл нужно обрывать.

Вот код для диапазона от n до m и матрицы 10x10)

Код:
k=0
for (i=0; i<10; i++)
{
  for (j=0; j<10; j++) 
    if (b[i][j]>=n && b[i][j]<=m) 
    {
      k++;
      break;
    }
}
PS код можно и форматировать %)
Люди бывают 10 типов: те, кто понимают двоичную систему счисления, и те, кто не понимают...
sVasilich вне форума Ответить с цитированием
Старый 20.12.2011, 18:08   #3
Zzqq
Новичок
Джуниор
 
Регистрация: 20.12.2011
Сообщений: 6
По умолчанию

B(m,n)

Проблема в том, что он всегда k=0
Матрицу можно взять любого размера.
Zzqq вне форума Ответить с цитированием
Старый 20.12.2011, 18:17   #4
sVasilich
Форумчанин
 
Аватар для sVasilich
 
Регистрация: 16.12.2009
Сообщений: 224
По умолчанию

А какой ты берёшь диапазон и какую матрицу? Цифры покажи. И код с тем циклом, что я тебе дал. Только отформатируй нормально, а то в скобках нет желания разбираться.
Люди бывают 10 типов: те, кто понимают двоичную систему счисления, и те, кто не понимают...
sVasilich вне форума Ответить с цитированием
Старый 20.12.2011, 18:19   #5
Zzqq
Новичок
Джуниор
 
Регистрация: 20.12.2011
Сообщений: 6
По умолчанию

Примерно так:
PHP код:
#include <iostream.h>
#include <iomanip.h>
#include <Windows.h>

charRus(const chartext);


void main(void)
{
int nmkij;
float b[5][5]; 
cout << Rus("Ââåäèòå äèàïàçîí ìàòðèöû: ");
cin >> n;
for (
i=0;i<ni++) 
    {
for (
j=0;j<nj++) 
        {
cout << Rus("Ââåäèòå ÷èñëî äëÿ ìàòðèöû: ");
cin >> b[i][j];
    }
    
cout << endl;
}
for (
i=0;i<ni++) 
    {
for (
j=0;j<nj++) 
cout <<setw(5) << b[i][j];
cout << endl;
    }
    
k=0;
    for (
i=0;i<10i++) 
    {
    for (
j=0;j<10j++) 
    {
        if (
b[i][j]>&& b[i][j]<m);
        {
            
k++;
            break;
        }
    }
}
cout << "k=" << k;
cout << endl;
}

char bufRus[256];
charRus(const chartext){
    
CharToOem(text,bufRus);
    return 
bufRus;

Теперь всегда k=10

Последний раз редактировалось Zzqq; 20.12.2011 в 18:21.
Zzqq вне форума Ответить с цитированием
Старый 20.12.2011, 18:24   #6
sVasilich
Форумчанин
 
Аватар для sVasilich
 
Регистрация: 16.12.2009
Сообщений: 224
По умолчанию

Странно. Должен с ошибкой вылетать. У тебя массив b[5][5], а циклы от 1 до 10.

Какие цифры в матрицу попадают, и какой диапазон для проверки?
Люди бывают 10 типов: те, кто понимают двоичную систему счисления, и те, кто не понимают...
sVasilich вне форума Ответить с цитированием
Старый 20.12.2011, 18:35   #7
Zzqq
Новичок
Джуниор
 
Регистрация: 20.12.2011
Сообщений: 6
По умолчанию

Цифры вводяться произвольно.
Zzqq вне форума Ответить с цитированием
Старый 20.12.2011, 18:37   #8
Zzqq
Новичок
Джуниор
 
Регистрация: 20.12.2011
Сообщений: 6
По умолчанию

Попробывал так, тоже не вышло:

PHP код:
#include <iostream.h>
#include <iomanip.h>
#include <Windows.h>

charRus(const chartext);


void main(void)
{
int nmkij;
float b[7][5]; 
cout << Rus("Ââåäèòå äèàïàçîí ìàòðèöû: ");
cin >> n;
for (
i=0;i<=ni++) 
    {
for (
j=0;j<=nj++) 
        {
cout << Rus("Ââåäèòå ÷èñëî äëÿ ìàòðèöû: ");
cin >> b[i][j];
    }
    
cout << endl;
}
for (
i=0;i>=7i++) 
    {
for (
j=0;j<=5j++) 
cout <<setw(5) << b[i][j];
cout << endl;
    }
    
k=0;
    for (
i=0;i>=7i++) 
    {
    for (
j=0;j<=5j++) 
    {
        if (
b[i][j]>&& b[i][j]<m);
        {
            
k++;
            break;
        }
    }
}
cout << "k=" << k;
cout << endl;
}

char bufRus[256];
charRus(const chartext){
    
CharToOem(text,bufRus);
    return 
bufRus;

Zzqq вне форума Ответить с цитированием
Ответ


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

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

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