powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / запись элементов массива с простыми числами в матрицу
6 сообщений из 6, страница 1 из 1
запись элементов массива с простыми числами в матрицу
    #34088869
Оля-ля++
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго здравица, уважаемые!
Есть вещь:
#include <iostream.h>
#include <stdio.h>
#include <math.h>
static const int N=100;

int main()
{
int k, s, g[5][5];
int i, a[N];
for(i=2; i<N; i++) a =1;
for(i=2; i<N; i++)
if(a)
for(int j=i; j*i<N; j++) a[i*j]=0;
for(i=2; i<N; i++)
if (a)
cout<<" "<<i;
cout<<endl;


for(i=0; i<N; i++)
{

if(a)

for(k=0; k<5; k++)
for(s=0; s<5; s++)
{
g[k][s]=a;
}
for(k=0; k<5; k++)
{
for(s=0; s<5; s++)
cout<<g[k][s]<<"\t";
cout<<endl;
}
}

}
Хотелось бы, чтобы путем перезаписи элементов массива в матрицу появилась табличка (5*5) с простыми числами. Но увы! Подскажите, в чем причина!!! Заранее спасибо!
...
Рейтинг: 0 / 0
запись элементов массива с простыми числами в матрицу
    #34088930
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что мешае ипоьзовать [src][/ src] тег ?
...
Рейтинг: 0 / 0
запись элементов массива с простыми числами в матрицу
    #34089010
Forgottn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вещь(слегка исправленная):
Код: plaintext
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.
#include <iostream.h>
#include <stdio.h>
#include <math.h>
static const int N= 100 ;

int main()
{
  int k, s, g[ 5 ][ 5 ]; 
  int i, a[N];
  for(i= 2 ; i<N; i++) a= 1 ;
  for(i= 2 ; i<N; i++)
    if(a)
      for(int j=i; j*i<N; j++) a[i*j]= 0 ;
  for(i= 2 ; i<N; i++)
    if (a)
      cout<<" "<<i;
  cout<<endl;
  for(i= 0 ; i<N; i++)
  {
    if(a)
      for(k= 0 ; k< 5 ; k++)
        for(s= 0 ; s< 5 ; s++)
          g[k][s]=a;
      for(k= 0 ; k< 5 ; k++)
      {
        for(s= 0 ; s< 5 ; s++)
          cout<<g[k][s]<<"\t";
        cout<<endl;
      }
  }
}

Оля-ля++static const int N=100;
Вы сами-то поняли, что написали?

Оля-ля++for(i=2; i<N; i++) a=1;
Всегда думал, что массив заполняется с нулевого элемента, но это еще не самое страшное... Страшно то, что в массив(!)a[N] N раз записыается единица!!! По логике вещей это должно выглядеть так:
Код: plaintext
1.
  for(i= 0 ; i<N; i++) a[i] =  1 ;

Оля-ля++for(int j=i; j*i<N; j++) a[i*j]=0;
Вот эта строка меня поразила до глубины души... Потом я решил привести исходник к читабельному виду. Отпустило...

Дальше смотреть совсем страшно: один блок
Код: plaintext
1.
2.
3.
for(i= 2 ; i<N; i++)
    if(a)
      for(int j=i; j*i<N; j++) a[i*j]= 0 ;
чего стоит... После того как массив похерен в него записывается черти что... Смею вас уверить, что на одиннадцатой итерации внешнего цикла j*i превысит N = 100, т.к. начальное значение внутреннего цикла будет i*i = 121... Условный оператор внутри цикла меня тоже безумно радует...

Фсе... надоело.... разбор полетов закрыт... Сейчас я напишу программу, которая требуется, но!
люди!!! RTFM, RTFM, RTFM, Шилдт, Страуструп, еще раз Шилдт и только потом складывайте на форум такую гадость...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
#include <stdio.h>

#define N  100 

int main()
{
  int i, j, a[N], g[ 5 ][ 5 ];
  for(i =  0 ; i < N; i++)
    a[i] =  1 ;
  for(i =  0 ; i < N; i++)
    printf("%d ", a[i]);
  for(i =  0 ; i <  5 ; i++)
    for(j =  0 ; j <  5 ; j++)
      g[i][j] = a[i*j + j];
  for(i =  0 ; i <  5 ; i++)
  {
    printf("\n");
    for(j =  0 ; j <  5 ; j++)
      printf("%d ", g[i][j]);
  }
  return  0 ;
}
...
Рейтинг: 0 / 0
запись элементов массива с простыми числами в матрицу
    #34089433
Оля-ля ++
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, но если мне не изменяет интуиция, ничего путевого из последней программы тоже не выйдет.
...
Рейтинг: 0 / 0
запись элементов массива с простыми числами в матрицу
    #34089523
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Forgottn Оля-ля++for(i=2; i<N; i++) a=1;
Всегда думал, что массив заполняется с нулевого элемента, но это еще не самое страшное... Страшно то, что в массив(!)a[N] N раз записыается единица!!! можешь посмотреть, что постил автор
...
Рейтинг: 0 / 0
запись элементов массива с простыми числами в матрицу
    #34092367
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот так вот студенты и делают свои домашние задания ....
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / запись элементов массива с простыми числами в матрицу
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]