|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - [решено] Помогите исправить (двумерный массив) на С++ |
|
C/C++ - [решено] Помогите исправить (двумерный массив) на С++
|
Новый участник Сообщения: 2 |
Помогите подделать программу.
Задание: 1. Определить номер 1-го из столбцов, содержащих хотя бы один нулевой элемент. 2. Отсортировать строки по убыванию суммы ее отрицательных четных элементов. Первую часть я пыталась сделать, но выводит всегда "Номер столбца 0". Не понимаю где ошибка. Вот что получилось: #include <iostream.h> #include <iomanip.h> int main() { int nrow,K, ncol; cout<<"Vedite koli4estvo strok i stolbcov: "; cin>>nrow>>ncol; int i, j; int **a=new int *[nrow]; for (i=0; i<nrow; i++) a[i]=new int [ncol]; cout<<"Vvedite elementi massiva: "<<endl; for (i=0; i<nrow; i++) for (j=0; j<ncol; j++) cin>>a[i][j]; for (i=0; i<nrow; i++) { for (j=0; j<ncol;j++) cout<<setw(4)<<a[i][j]<<" "; cout<<endl;} int num=-1; for (j=0; j<ncol; j++) for (i=0; i<nrow; i++) { if (a[i][j]==0) { cout<<"Nomer stolbca: "<<j<<endl; break; } } if (num==-1) cout<<"Stolbcov net"<<endl; return 0; } |
|
Отправлено: 21:32, 13-05-2012 |
Необычный Сообщения: 4466
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Luda-tin:
Может для начала задать простой массив от 100 на 100 ? Для отладок лаб. вполне подойдет. Средства отладки есть? Отрассировать алгоритм можете? Чтобы не вбивать массивы каждый раз - "вшейте" несколько уже готовых наборов в программу. Если что закомментируйте, а перед сдачей - удалите лишние строки. например. Затем при выполнении задайте несколько нулей и смотрите что получится. Так же полезно периодически распечатывать массив для сравнения "было"->"стало". Очень похоже на нарушение границ массива, но не уверен. Сейчас упрощу. > a = new int *[nrow] > a = int [nrow] А когда идут поиски, то они идут до i,j < ncol, norw т.е. массив получается "обрамлен" нулями. Сделайте предварительную распечатку массива. Можно в цикле проверки. Т.е. узнать, откуда прочитан нулевой элемент, должен ли он там быть и должен ли он быть прочитан. |
|
------- Отправлено: 22:03, 13-05-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Разный Сообщения: 1294
|
Профиль | Отправить PM | Цитировать код работает и выводит номер столбца
тут int num=-1; for (j=0; j<ncol; j++) for (i=0; i<nrow; i++) { if (a[i][j]==0) { cout<<"Nomer stolbca: "<<j<<endl; break; } } if (num==-1) cout<<"Stolbcov net"<<endl; и еще, в данной задаче не принципиально, но лучше выделенную память освобождать |
Отправлено: 22:53, 13-05-2012 | #3 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
C/C++ - Двумерный массив | feytan | Программирование и базы данных | 0 | 14-04-2011 00:58 | |
RAID - Помогите создать RAID-массив | rezonrezon | Накопители (SSD, HDD, USB Flash) | 1 | 21-01-2011 05:36 | |
C/C++ - Двумерный массив | NAstyaT | Программирование и базы данных | 1 | 08-12-2010 00:38 | |
C/C++ - [решено] Динамическая память под двумерный массив, где ошибка?) | SeRgikON | Программирование и базы данных | 4 | 04-06-2010 18:31 | |
Помогите создать здоровенный массив ! | TimStich | Программирование и базы данных | 2 | 07-04-2004 21:43 |
|