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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.01.2009, 03:57   #1
Xeon332
Скоро сессия...
Форумчанин
 
Регистрация: 03.01.2008
Сообщений: 224
По умолчанию нужен массив не из конкретных чисел

Подскажите плиз что нужно менять в этом коде для того, чтобы прога стала универсальной? (чтобы был массив не из конкретных чисел).
Код:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
int main (void)
{
  int mas[3][3],i,n,odnmas[3],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]);
              if (odnmas[i]>=0)     // Vicheslenie
                odnmas[i]=1;
              else
                odnmas[i]=0;
          }
      }
    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]);
              if (mas[i][n]>=0)    // Vicheslenie
                mas[i][n]=1;
              else
                mas[i][n]=0;
          }
  // 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();
}
Xeon332 вне форума Ответить с цитированием
Старый 19.01.2009, 04:33   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
чтобы был массив не из конкретных чисел
Если я правильно понял (в чем есть некоторые сомнения), нужно иметь возможность задать размерность массива? Если так, то...
Код:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
int main (void)
{
  int **mas,i,n,*odnmas,v,NI,NJ;
  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)
      {
           printf("Vvedite kolichestvo elementov: ");
	scanf("%d",&NI);
	odnmas = (int *)malloc(NI*sizeof(int));
        for(i=0;i<NI;i++)
          {
            printf("vvedite znachenie mas[%d]=",i);
            scanf ("%d",&odnmas[i]);
              if (odnmas[i]>=0)     // Vicheslenie
                odnmas[i]=1;
              else
                odnmas[i]=0;
          }
      }
    else
    {
      printf("Vvedite kolichestvo strok: ");
	scanf("%d",&NI);
	printf("Vvedite kolichestvo stolbcov: ");
	scanf("%d",&NJ);
	mas = (int **)malloc(NI*sizeof(int*));
      for (i=0;i<NI;i++)
       {
	mas[i] = (int *)malloc(NJ*sizeof(int));
	for (n=0;n<NJ;n++)
         {
            printf("vvedite znachenie mas[%d,%d]=",i,n);
            scanf ("%d",&mas[i][n]);
              if (mas[i][n]>=0)    // Vicheslenie
                mas[i][n]=1;
              else
                mas[i][n]=0;
          }
        }
       }
  // Vivod dannix
  if(v==1)
    {
      for(i=0;i<NI;i++)
      printf("%d ",odnmas[i]);
      free(odnmas);
    }
  else
   { for (i=0;i<NI;i++)
      for (n=0;n<NJ;n++)
        {
          if (n==2)
            printf ("%d\n",mas[i][n]);
          else
            printf ("%d ",mas[i][n]);
        }
	for(i=0;i<NJ;i++)
	free(mas[i]);
	 free(mas);
     }
  getch();
}
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

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

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


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
массив целых чисел ^SPARTAK^ Паскаль, Turbo Pascal, PascalABC.NET 1 27.12.2008 10:59
Ввод чисел в массив acinax Общие вопросы C/C++ 2 05.12.2008 22:37
создать массив вещественных чисел nec117 Общие вопросы C/C++ 4 06.10.2008 20:16
Массив чисел M-uk Microsoft Office Excel 3 15.08.2008 02:59
Как перевести строку из чисел в массив? Andris Паскаль, Turbo Pascal, PascalABC.NET 7 21.09.2007 17:12