Важная информация
Показано с 1 по 5 из 5

Тема: Помогите разобраться,в чем ошибка!(((

  1. #1 Помогите разобраться,в чем ошибка!((( 
    Новичок
    Регистрация
    24.11.2013
    Сообщений
    2
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях
    Условие задачи звучит так: Задана матрица натуральных чисел А (n,n).Все строки где находится более двух простых чисел обнулить. Найти среднее арифметическое до обнуления и после обнуления. Вывести сообщение о том сколько строк было обнулено.
    вроде я правильно нахожу простые числа, вроде все нормально, а работает она не так как нужно, помогите.. .

    вот сам код:
    # include<iostream>
    # include <conio.h>
    using namespace std;
    int main()
    {
    int i,j,m,n,a[100][100],k=0,p=0,s,sr;
    cout<<"Vvedite Kolichestvo strok"<<endl;
    cin>>n;
    cout<<"Vvedite kolichestvo stolbcov"<<endl;
    cin>>m;

    for (i=1;i<=n;i++)
    for (j=1;j<=m;j++)
    {cout<<"a["<<i<<"]["<<j<<"]= ";
    cin>>a[i][j];}

    for (i=1;i<=n;i++)
    { for (j=1;j<=m;j++) cout<<"a["<<i<<"]["<<j<<"]= "<<a[i][j]<<" ";
    cout<<endl;}
    s=0;
    for(int i=0; i<m; ++i)
    {
    for(int j=0; j<n; ++j)
    { s+=a[i][j];}
    sr=s/m*n;
    }
    cout << "Srednee arifmeticheskoe do obnuleniya = "<<sr<<endl;
    for(j=0;j<m;j++){
    for(i=0;i<n;i++){
    for(int k=2;k<=a[i][j];k++){
    if((a[i][j]%k==0) && (k!=a[i][j]))
    cout<<"Net prostih chisel: ";
    if (k==a[i][j])
    {p++;}
    }
    }}
    for(int i=0;i<n;i++)
    {
    for ( j=0;j<m;j++)
    if (p>2){
    a[i][j]=0;
    }
    }
    for(j=0;j<m;j++)
    for(i=1;i<=n;i++)
    { for (j=1;j<=m;j++)
    cout<<"a["<<i<<"]["<<j<<"]= "<<a[i][j]<<" ";
    cout<<endl;}
    s=0;
    for(int i=0; i<m; ++i)
    {
    for(int j=0; j<n; ++j)
    { s+=a[i][j];}
    sr=s/m*n;
    }
    cout << "Srednee arifmeticheskoe posle obnuleniya = "<<sr<<endl;
    getch();
    }
    Ответить с цитированием  
     

  2. #2  
    Профи Аватар для rrrFer
    Регистрация
    01.08.2013
    Сообщений
    561
    Сказал(а) спасибо
    34
    Поблагодарили 249 раз(а) в 164 сообщениях
    напиши (или найди в интернетах) функцию проверки числа на простоту.
    [Ссылки могут видеть только зарегистрированные пользователи. ] // программирование на Prolog, Erlang, C++
    Ответить с цитированием  
     

  3. #3  
    Новичок
    Регистрация
    24.11.2013
    Сообщений
    2
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях
    Так вот же я проверяю на простое оно или нет ,мне функции нельзя использовать,только работа с массивом(((

    for(j=0;j<m;j++){
    for(i=0;i<n;i++){
    for(int k=2;k<=a[i][j];k++){
    if((a[i][j]%k==0) && (k!=a[i][j]))
    cout<<"Net prostih chisel: ";
    if (k==a[i][j])
    {p++;}
    Ответить с цитированием  
     

  4. #4  
    Профи Аватар для rrrFer
    Регистрация
    01.08.2013
    Сообщений
    561
    Сказал(а) спасибо
    34
    Поблагодарили 249 раз(а) в 164 сообщениях
    Так вот же я проверяю на простое оно или нет ,мне функции нельзя использовать,только работа с массивом(((
    тут ты еще что-то делаешь.
    Код ужасный

    Что тут происходит:
    for(j=0;j<m;j++)
    for(i=1;i<=n;i++)
    { for (j=1;j<=m;j++)

    Я вообще понять не могу.
    Ты понимаешь зачем нужны фигурные скобки?
    [Ссылки могут видеть только зарегистрированные пользователи. ] // программирование на Prolog, Erlang, C++
    Ответить с цитированием  
     

  5. #5  
    Профи Аватар для rrrFer
    Регистрация
    01.08.2013
    Сообщений
    561
    Сказал(а) спасибо
    34
    Поблагодарили 249 раз(а) в 164 сообщениях
    Ты понимаешь, что значение p будет своим для каждой строки?

    И мне кажется, что тут:
    p++;}
    }
    }}
    закрываются скобки, в которые вложено тело цикла по строке, а значит p ты считаешь неверно.

    Ты считаешь p не для строки, а для всей матрицы.
    [Ссылки могут видеть только зарегистрированные пользователи. ] // программирование на Prolog, Erlang, C++
    Ответить с цитированием  
     

Информация о теме
Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ошибка Е2015 помогите новечку (FreePascal)
    от Христина Новосёлова в разделе Pascal
    Ответов: 1
    Последнее сообщение: 22.10.2013, 11:58
  2. Помогите разобраться с GW-BASIC
    от stamos в разделе Basic
    Ответов: 6
    Последнее сообщение: 20.12.2011, 10:23
  3. Помогите разобраться с QBASIC
    от Лёха в разделе QBasic
    Ответов: 1
    Последнее сообщение: 05.09.2011, 19:23
  4. Ответов: 2
    Последнее сообщение: 05.05.2011, 10:55
  5. Ошибка в дебаге.
    от fizuch в разделе Assembler
    Ответов: 16
    Последнее сообщение: 20.01.2011, 02:06
Ваши права
  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •