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

Программа проверки двумерного динамического массива на простое число - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Помощь начинающему С++ http://www.cyberforum.ru/cpp-beginners/thread894306.html
Доброго времени суток, уважаемые форумчане! Мне 23 года, работаю менеджером по продажам авто, женат, жду ребенка, образование - логистика, перевозки на автотранспорте. С программированием ранее знаком небыл вовсе. По технической части ПК - ознакомлен очень хорошо, с 9 лет перебирать начал. Исходя из информации о востребованности, моему личному к этому интересу и уровне заработка, решил...
C++ Dev C++ Скачал Dev C++ и тут такая фигня: хочу запустить программу и пишет что проект не откомпилирован. Жму скомпилировать а потом выполнить и то же самое. Как запустить? http://www.cyberforum.ru/cpp-beginners/thread894300.html
C++ инициализация SDL
подключил #include "SDL.h" - проверил, запустилось. добавил первую строку из статьи про работу сдл SDL_Init(SDL_INIT_VIDEO); вылетает ошибка линковщика error LNK2028: unresolved token (0A000647) "extern "C" int __cdecl SDL_Init(unsigned int)" (?SDL_Init@@$$J0YAHI@Z) referenced in function "private: void __clrcall new_visual::Form1::trackBarGain_Scroll(class System::Object ^,class...
разобрать код (минимаксная задача коммивояжера) C++
Вот условие задачи, чтобы было понятнее: Решить минимаксную задачу коммивояжера методом полного перебора с использованием булевых переменных. Код: // Commivoyager_minmax.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "string.h"
C++ Как проверить, быль ли удалён указатель или нет? http://www.cyberforum.ru/cpp-beginners/thread894271.html
С похмелья голову заклинило %-) X* x=new X(); delete x; if(x) ? или как? Как проверить, удалён на данный момент указатель или нет? :fie: P.S.: стыдно за вопрос ....
C++ Сортировка односвязного списка ребят, нужна помощь, учусь на втором курсе для зачета нужно написать сортировку односвязного списка. а мы такого рода программы не изучали... список должен быть в отдельном файле список Head:2 № Фамилия Имя Факультет Курс Группа Год_рождения Next 1 Афанасьев Сергей ЭК 2 01-11 1994 3 2 Михайлов Андрей ДиКТ ... подробнее

Показать сообщение отдельно
Kinroom
1 / 1 / 0
Регистрация: 13.12.2012
Сообщений: 99
07.06.2013, 13:12  [ТС]     Программа проверки двумерного динамического массива на простое число
Цитата Сообщение от AntonChik Посмотреть сообщение
в 30 строке скорей всего опечатка, должна быть m вместо n.
почему размерность второй матрицы k*n ?
запись идет как в n*m, потому и вылетает.

p.s.
компилятор будет материться на частые переобъявления i и j
и логичнее prime объявить как bool вместо int
Все исправил,но проблема не исчезла.
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <iostream>
#include <math.h>
#include <Windows.h>
using namespace std;
 
bool prime(int n);
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);   
    int n,m,k;
    k=0;
    cout<<"Введите количество строк ";
    cin>>n;
    cout<<"Введите количество столбцов ";
    cin>>m;
 
    int** a =new int* [n];
    for(int i=0;i<n;i++){
    a[i]=new int[m];}
    for(int i=0;i<n;i++){
    for(int j=0;j<m;j++){
        a[i][j]=rand()%100+1;
        cout<<a[i][j]<<" ";}
        cout<<endl;
    }
       cout<<"Позиции простых элементов и они сами:\n";  
       for (int i=1;i<n;i++)
       for(int j=1;j<m;j++)
           if( prime(a[i][j] ))
           {
         k++;
        cout<<"a["<<i<<"]["<<j<<"]="<<a[i][j]<<" ";
        cout<<endl;
           }
           cout<<"Количество простых чисел равно="<<k<<"\n";
           int** a1=new int*[n];
           for(int i=1;i<n;i++) {
             a1[i]=new int[m]; }
          for(int i=0;i<n;i++){
    for(int j=0;j<m;j++){
         if(prime(a[i][j])) { 
             a1[i][j]=a[i][j]; }
             cout<<a1[i][j];
        
    }
           }
    }
        
    
    bool prime(int n){
        int i;
        for(i=2;i<=sqrt((double)n);i++){
            if (n%i==0)
                return false;}
                return true;
    }
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru