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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.03.2015, 03:28   #1
###333###
Новичок
Джуниор
 
Регистрация: 23.03.2015
Сообщений: 1
По умолчанию Программа не выводит результат

Срочно нужно написать программу на C++. Должна выводить в квадратной матрице одинаковые строки истолбцы( на данном этапе), однако программа не выводит результат. Перепроверяла, но ничего не могу найти. Отладчика сейчас нет, т.к. не могу достать комп, а для планшета хороших отладчиков не нашла. Извиняюсь за возможно глупую просьбу, но мне нужно срочно. Зараннее спасибо.
Код:
#include <iostream>
#include <stdio.h>
#include <vector>
using namespace std;

struct results {
    int* stringcol;
    int stringcolnum;
    int belowzerosum;
    bool hasbelowzero;
    bool hasstringcol;
    
};

results func1(int **a, int n) {
results output;
int i, j;
int k;
output.hasstringcol=false;
output.hasbelowzero=false;
 output.stringcol=new int[n]; 
    k=0;    
    for(i=0;i<n;i++) {
        for(j=0;j<n;i++) {
            if(a[i][j]!=a[j][i])
            break;
            if((j==(n-1))&&(a[i][j]==a[j][i])) {
                output.hasstringcol=true;
                output.stringcol[k]=i+1;
                k++;
                break;
        }
        }
    }
output.stringcolnum=k;
    
return output;
        
}

int main()
{
int i, j, n;
int **a;
results mydata;
cout<<"Input matrix size:"; cin>>n;
a=new int *[n];
for(i=0; i<n; i++)
a[i]=new int[n];

cout<<"Input the matrix:"<<endl;
for(i=0; i<n; i++)
for (j=0; j<n; j++)
cin>>a[i][j];
for(i=0; i<n; cout<<endl, i++)
for (j=0; j<n; j++)
cout<<a[i][j]<<" ";
mydata=func1( a, n);
    if(mydata.hasstringcol==true) {
       cout<<"Identical strings and columns found:";
       for(i=0; i<mydata.stringcolnum; i++) cout<<mydata.stringcol[i];
        }
for(i=0; i<n; i++)
delete [] a[i];
delete []a;
    
return 0;    
}

Последний раз редактировалось Stilet; 23.03.2015 в 07:36.
###333### вне форума Ответить с цитированием
Старый 23.03.2015, 05:27   #2
challengerr
Участник клуба
 
Аватар для challengerr
 
Регистрация: 30.07.2008
Сообщений: 1,639
По умолчанию

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

Код:
#include <iostream>
#include <stdio.h>
#include <vector>
using namespace std;

struct results {
int* stringcol;
int stringcolnum;
int belowzerosum;
bool hasbelowzero;
bool hasstringcol;

};


void func2(int** a, int n)
{
int i, j, i1;
int f;  // флаговая переменная, указывающая равны ли указанная строка и столбец

// каждую строку сравниваем с каждым столбцом
for( i = 0; i < n; i++) { //  зафиксировали строку
f = 0;
for ( j = 0; j < n; j++) { // зафиксировали столбец
for (i1 = 0 ; i1<n; i1++)  // перебор элементов строки и столбца
{ 
if (a[i][i1] != a[j][i1] )  // если элемент строки не равен элементу столбца
{ 
f = 1;  // устанавливается флаговая переменная
} 
}
if (f == 0) 
{ 
printf("%d %d\n", i, j);  // вывод индекса строки и столбца в матрице
f = 0;  // обнуляется флаговая переменная для перехода к следующей итерации
}
}
}
}


int main()
{
int i, j, n; int **a;
results mydata;
cout<<"Input matrix size:"; cin>>n; a=new int *[n]; for(i=0; i<n; i++) a[i]=new int[n];
cout<<"Input the matrix:"<<endl; for(i=0; i<n; i++) for (j=0; j<n; j++) cin>>a[i][j];
for(i=0; i<n; cout<<endl, i++) for (j=0; j<n; j++) cout<<a[i][j]<<" ";

func2(a, n);

for(i=0; i<n; i++)
delete [] a[i];
delete []a;

return 0; 
}
"SPACE.THE FINAL FRONTIER.This's a voyage of starship Enterprise. It's 5-year mission to explore strange new worlds,to seek out new life and civilizations,to boldly go where no man has gone before"
challengerr вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Edit не выводит результат Ro_Mashka Общие вопросы Delphi 8 22.05.2011 17:14
Старая программа выводит результат на матричный принтер. Freddy19 Софт 5 09.11.2010 09:45
Программа компилируется но не выводит результат в метку prikolist Общие вопросы C/C++ 2 24.03.2009 19:19
программа суммирует натуральные числа от 1 до 50 и выводит результат вычисления на экран xxasb07 Паскаль, Turbo Pascal, PascalABC.NET 2 18.11.2008 10:32