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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.01.2009, 20:46   #1
Xeon332
Скоро сессия...
Форумчанин
 
Регистрация: 03.01.2008
Сообщений: 224
По умолчанию универсальная программа на C++

ребята что нужно для того, чтобы проги были универсальными??
что добавить или что изменить??? (надо чтобы они выводили на квадратную матрицу, а прямоугольную (т.е. не [3][3], а [i][j] вроде как))

Код:
#include <stdio.h>
#include <conio.h>

int main (void)
{
  int mas[3][3],odnmas[3],i,n,v;
    printf("Vybor massiva: (1-linejnyj, 2- dvumernyj) ");
  v = 0;
  while(v==0)
    {
      scanf("%d",&v); printf("\n");
      if(v!=1&&v!=2) v=0;
    }
  // Vvod dannix
    if(v==1)
    {
        for(i=0;i<3;i++)
      { 
    printf ("vvedite mas[%d]=",i);
     scanf ("%d",&odnmas[i]);
      }
    }
    else
      for (i=0;i<3;i++)
        for (n=0;n<3;n++)
          {
            printf ("vvedite mas[%d,%d]=",i,n);
            scanf ("%d",&mas[i][n]);
          }
  // Vivod dannix
    if(v==1)
      {
        for(i=0;i<3;i++)
        printf("%d ",odnmas[i]);
      }
    else
      for (i=0;i<3;i++)
        for (n=0;n<3;n++)
      {
        if (n==2)
          printf ("%d\n",mas[i][n]);
        else
          printf ("%d ",mas[i][n]);
      }
  getch();
  return 0;
}
Код:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
void main (void)
{
  int mas[3][3],i,n;
  clrscr;
  randomize();
  // Vvod dannix
    for (i=0;i<3;i++)
      for (n=0;n<3;n++)
        {
          mas[i][n]=random(100);
        }
  // Vivod dannix
    for (i=0;i<3;i++)
      for (n=0;n<3;n++)
        if (n==2)
          printf ("%d\n",mas[i][n]);
        else
          printf ("%d ",mas[i][n]);
  getch();
}
Код:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
int main (void)
{
  int mas[3][3],odnmas[3],i,n,sum=0,proiz=1,v;
  printf("Vybor massiva: (1-linejnyj, 2- dvumernyj) ");
  v = 0;
  while(v==0)
    {
      scanf("%d",&v); printf("\n");
        if(v!=1&&v!=2) v=0;
    }
  // Vvod dannix
  if(v==1)
   {
     for(i=0;i<3;i++)
       {
         printf("vvedite znachenie mas[%d]=",i);
         scanf ("%d",&odnmas[i]);
         sum+=odnmas[i];
         proiz*=odnmas[i];
       }
   }
  else
    for (i=0;i<3;i++)
      for (n=0;n<3;n++)
        {
          printf("vvedite znachenie mas[%d,%d]=",i,n);
          scanf ("%d",&mas[i][n]);
          sum+=mas[i][n];
          proiz*=mas[i][n];
        }
  printf("\n");
  // Vivod dannix
  if(v==1)
    {
      for(i=0;i<3;i++)
      printf("%d ",odnmas[i]);
    }
  else
    for (i=0;i<3;i++)
      for (n=0;n<3;n++)
        if (n==2)
          printf ("%d\n",mas[i][n]);
        else
  printf ("%d ",mas[i][n]);
  printf ("Summa=%d\n",sum);
  printf ("Proizvedenie= %d",proiz);
  getch();
  return 0;
}
Xeon332 вне форума Ответить с цитированием
Старый 26.01.2009, 21:09   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Привожу пример для вот этой:
Код:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
void main (void)
{
  int mas[3][3],i,n;
  clrscr;
  randomize();
  // Vvod dannix
    for (i=0;i<3;i++)
      for (n=0;n<3;n++)
        {
          mas[i][n]=random(100);
        }
  // Vivod dannix
    for (i=0;i<3;i++)
      for (n=0;n<3;n++)
        if (n==2)
          printf ("%d\n",mas[i][n]);
        else
          printf ("%d ",mas[i][n]);
  getch();
}
Без динамических массивов:
Код:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
const int NNN = 100;
void main (void)
{
  int mas[NNN][NNN],i,n;
  clrscr;
  randomize();
  // Vvod dannix
    for (i=0;i<NNN;i++)
      for (n=0;n<NNN;n++)
        {
          mas[i][n]=random(100);
        }
  // Vivod dannix
    for (i=0;i<NNN;i++)
      for (n=0;n<NNN;n++)
        if (n==2)
          printf ("%d\n",mas[i][n]);
        else
          printf ("%d ",mas[i][n]);
  getch();
}
С динамическими:
Код:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

void main (void)
{
  int **mas,i,n,NNN;
  clrscr;
  randomize();
  cout << "Введите порядок матрицы: ";
  cin>>NNN; cout<<endl;
  // Vvod dannix
  mas = new int*[NNN];
    for (i=0;i<NNN;i++)
     {
	mas[i] = new int[NNN];
	 for (n=0;n<NNN;n++)
        {
          mas[i][n]=random(100);
        }
					}
  // Vivod dannix
    for (i=0;i<NNN;i++)
      for (n=0;n<NNN;n++)
        if (n==2)
          printf ("%d\n",mas[i][n]);
        else
          printf ("%d ",mas[i][n]);
  for(i=0;i<NNN;i++)
		 delete[] mas[i];
		delete[] mas;
  getch();
}
-----
Уже задавали точно такой же вопрос.
Более того, приводили эти же самые листинги.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 26.01.2009, 21:16   #3
Xeon332
Скоро сессия...
Форумчанин
 
Регистрация: 03.01.2008
Сообщений: 224
По умолчанию

что в итоге добавлять надо? как я понял в 2 местах нужно поменять выражения в коде?!
Xeon332 вне форума Ответить с цитированием
Старый 26.01.2009, 21:36   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
что в итоге добавлять надо?
Во-первых, какой пример вы имеете в виду? (с динамическими или без).
А во-вторых, я специально выбрал листинг поменьше, чтобы легче было найти различия.

Массив:
Код:
const N=100;
int mas[N][N],i,j,n;
cin>>n;
...различные действия....(массив mas[n][n])
Динамический массив:
Код:
int **mas,i,j,n;
cin>>n;
mas = new int*[n];
for(i=0;i<n;i++)
 mas[i] = new int[n];
.....различные действия... (массив также mas[n][n])
for(i=0;i<n;i++)
 delete[] mas[i];
delete[] mas;
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]

Последний раз редактировалось Sazary; 26.01.2009 в 21:38.
Sazary вне форума Ответить с цитированием
Старый 27.01.2009, 04:07   #5
Xeon332
Скоро сессия...
Форумчанин
 
Регистрация: 03.01.2008
Сообщений: 224
По умолчанию

понятно! благодарю!
Xeon332 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа в С++ Clubber Помощь студентам 8 14.05.2011 15:12
Программа. Asentian Фриланс 14 25.04.2010 17:30
Универсальная программа, с универсальным описанием объектов. Strannik-BKS Свободное общение 38 25.04.2009 23:51
программа на С++ Raptor Помощь студентам 2 28.04.2008 09:27
Универсальная защита Simply-Art Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 13 04.10.2007 10:02