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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.11.2009, 18:04   #1
Котик
Пользователь
 
Регистрация: 23.10.2009
Сообщений: 21
По умолчанию

Помогите пожалуйта исправить написанное мной условие к лабораторной работе... Условие: существуют строки в матрице в которых все элементы >0



Код:
bool Uslovie (int n, int a[N][N]){
	bool goodstr=true, goodelem;
	for (int i=0; i<n; i++)
           goodelem = false;
		for (int j=0; j<n; j++)
			if (a[i][j]>0) goodelem = true;
if (!goodelem) goodstr=false;

return goodstr;
}

заранее благодарна

Последний раз редактировалось Sazary; 27.11.2009 в 20:50.
Котик вне форума Ответить с цитированием
Старый 27.11.2009, 18:57   #2
m0nax
Форумчанин
 
Аватар для m0nax
 
Регистрация: 25.09.2009
Сообщений: 534
По умолчанию

вот как-то так, предполагается что массив n*10
Код:
	for (int i=0; i<n; ++i)
	{
		for (int j=0; j<10; ++j)
		{
			if(a[i][j] < 0)  //если нашли хоть 1 отрицательный...
				break; //...то пропускаем всю строку
			else if(j>=9) //если уже конец строки, а мы все еще не видели отрицательных...
				return true; //...возвращаем "есть строка без отрицательных"						
		} 
	}
	return false;//если массив уже кончился, а мы все еще тут - нет нужной строки
m0nax вне форума Ответить с цитированием
Старый 27.11.2009, 19:15   #3
Котик
Пользователь
 
Регистрация: 23.10.2009
Сообщений: 21
По умолчанию

матрица квадратная
Котик вне форума Ответить с цитированием
Старый 27.11.2009, 19:22   #4
Котик
Пользователь
 
Регистрация: 23.10.2009
Сообщений: 21
По умолчанию

а Вы не подскажите что значит: error C2601: 'main' : local function definitions are illegal
Котик вне форума Ответить с цитированием
Старый 27.11.2009, 19:35   #5
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Это можно погуглить. Просто вводите текст ошибки в поисковик - и вуаля!
А вот так навскидку лично я вам скажу разве что посмотрев код, вызывающий ошибку.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 27.11.2009, 19:44   #6
Котик
Пользователь
 
Регистрация: 23.10.2009
Сообщений: 21
По умолчанию

вот программа. просто проверяет условие.. теперь он говорит что одна ошибка а какая не понятно, никаких ссылок на ошибку нет... я не знаю что делать


Код:
#include "stdafx.h"
#include <iostream>
#include "math.h"
using namespace std;

const int N=100;

void inMatr (int &n, int a[N][N]){
	cout<< "n="; cin>>n;
	for (int i=0; i<n; i++)
		for (int j=0; j<n; j++){
			cout<<"\n a["<<i<<","<<j<<"]"=
				cin>>a[i][j];
		}
}


void outMatr (int n, int a[N][N]){
   for (int i=0; i<n; i++)
        for (int j=0; j<n; j++)
	     cout<<"a["<<i<<"]["<<j<<"]="<<a[i][j];
	return;
}



bool Uslovie (int n, int a[N][N]){
	for (int i=0; i<n; ++i)
	{
		for (int j=0; j<10; ++j)
		{
			if(a[i][j] < 0)  //если нашли хоть 1 отрицательный...
				break; //...то пропускаем всю строку
			else if(j>=n) //если уже конец строки, а мы все еще не видели отрицательных...
				return true; //...возвращаем "есть строка без отрицательных"						
		} 
	}
	return false;//если массив уже кончился, а мы все еще тут - нет нужной строки
}



	void main (void){
		int n; int a[N][N];
		inMatr (n,a);
		cout<<"\nishodnaya matriza\n";
        outMatr (n,a);
        if (Uslovie(n,a)){
        cout<<"\uslovie vipolneno\n";
	    }else
		cout<<"\nuslovie ne vipolneno\n\n";
}

Последний раз редактировалось Sazary; 27.11.2009 в 20:50.
Котик вне форума Ответить с цитированием
Старый 27.11.2009, 19:54   #7
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,336
По умолчанию

2Котик

попробуй
Код:
int main() {
    //твой код функции main
    return 0;
}
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 27.11.2009, 20:04   #8
Котик
Пользователь
 
Регистрация: 23.10.2009
Сообщений: 21
По умолчанию

вот что выдает опять...


Build log was saved at "file://c:\Documents and Settings\Администратор.COMP\Мои документы\Visual Studio 2005\Projects\изм усл\изм усл\Debug\BuildLog.htm"
изм усл - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Котик вне форума Ответить с цитированием
Старый 27.11.2009, 20:10   #9
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,336
По умолчанию

Код:
#include <iostream>
#include "math.h"

using namespace std;

const int N = 100;

void inMatr (int &n, int a[N][N]) {
    cout<< "n=";
    cin>>n;
    for (int i = 0; i < n; i++)
        for (int j = 0; j < n; j++) {
            cout << "\n a[" << i << "," << j<<"]";
            cin >> a[i][j];
        }
}


void outMatr (int n, int a[N][N]) {
    for (int i=0; i<n; i++)
        for (int j=0; j<n; j++)
            cout<<"a["<<i<<"]["<<j<<"]="<<a[i][j];
    return;
}



bool Uslovie (int n, int a[N][N]) {
    for (int i=0; i<n; ++i) {
        for (int j=0; j<10; ++j) {
            if (a[i][j] < 0) //если нашли хоть 1 отрицательный...
                break; //...то пропускаем всю строку
            else if (j>=n) //если уже конец строки, а мы все еще не видели отрицательных...
                return true; //...возвращаем "есть строка без отрицательных"
        }
    }
    return false;//если массив уже кончился, а мы все еще тут - нет нужной строки
}



int main () {
    int n;
    int a[N][N];
    inMatr (n,a);
    cout<<"\nishodnaya matriza\n";
    outMatr (n,a);
    if (Uslovie(n,a)) {
        cout<<"\nslovie vipolneno\n";
    } else
        cout<<"\nuslovie ne vipolneno\n\n";

    return 0;
}
во всяком случае компилится и что то считает. что именно - не проверял
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 27.11.2009, 20:16   #10
m0nax
Форумчанин
 
Аватар для m0nax
 
Регистрация: 25.09.2009
Сообщений: 534
По умолчанию

не понятно чему там учат на первом курсе вообще...
Код:
bool Uslovie (int a[N][N])
{
	for (int i=0; i<N; ++i)
	{
		for (int j=0; j<N; ++j)
		{
			if(a[i][j] < 0)  //если нашли хоть 1 отрицательный...
				break; //...то пропускаем всю строку
			else if(j>=N-1) //если уже конец строки, а мы все еще не видели отрицательных...
				return true; //...возвращаем "есть строка без отрицательных"						
		} 
	}
	return false; //если массив уже кончился, а мы все еще тут - нет нужной строки	
}
m0nax вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Програмка на Паскале и С++ (лабораторка, первый курс) psihadelic Помощь студентам 7 17.11.2009 16:31
Задачи по паскалю за первый курс! Psayker Помощь студентам 3 11.06.2009 11:24
Найти первый из номеров K, для которых выполняется условие |AK AK–1| < D Jereme Паскаль, Turbo Pascal, PascalABC.NET 2 21.12.2008 12:54
РЕШИТЕ ИНТЕРЕСНУЮ ЗАДАЧУ НА ПАСКАЛЕ) ПОЖАЛУЙСТА ДЛЯ ЛЮБИМОЙ ДЕВУШКИ.ПЕРВЫЙ КУРС УНИВЕРА АНДРОН Паскаль, Turbo Pascal, PascalABC.NET 1 10.11.2008 12:02
Запрос неправильно работает... yulia БД в Delphi 0 27.05.2007 20:41