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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.11.2016, 18:12   #1
Екатерина57
Пользователь
 
Регистрация: 11.10.2015
Сообщений: 63
По умолчанию Работа с массивами.

При вводе команды «Z1» программа должна выполнять задание № 1, при вводе команды «Z2» – задание № 2, при вводе команды «Z3» – задание № 3, при вводе команды «Z4» – задание № 4. При вводе неверной команды выдать сообщение об ошибке. Программа должна обеспечить возможность выполнять задания до тех пор, пока пользовать не решит из неё выйти. Задания: № 1. Задать с клавиатуры одномерный целочисленный массив из N элементов. Отсортировать массив по возрастанию значений элементов. № 2. Задать с клавиатуры целочисленную матрицу NxM. Найти в каждой четной строке матрицы элемент с максимальным значением. Вывести на экран позиции и значения найденных элементов. № 3. Задать с клавиатуры текст. Посчитать количество согласных букв в тексте. № 4. Задать с клавиатуры текст. Отредактировать текст по следующим правилам: перед запятой не может быть пробела; после запятой должен стоять один пробел; не могут стоять подряд две запятые.
Екатерина57 вне форума Ответить с цитированием
Старый 06.11.2016, 18:48   #2
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Какой язык?
Ты хочешь чтобы за тебя всё сделали или готова тоже подключиться к работе?
Наработки у тебя уже есть?

Последний раз редактировалось ura_111; 06.11.2016 в 18:51.
ura_111 вне форума Ответить с цитированием
Старый 06.11.2016, 19:30   #3
Екатерина57
Пользователь
 
Регистрация: 11.10.2015
Сообщений: 63
По умолчанию

Готова подключится,нашла похожую программу,поможете переделать?
Код:
#include <stdio.h>
#include <math.h>
#include <conio.h>
#include <string.h>
#include <malloc.h>

int main()
{
  char str1[] = "Task1";
  char str2[] = "Task2";
  char str3[] = "Task3";
  char str4[] = "Task4";
  char str5[] = "exit";
	char meniu[6];
  char text[300];
  char slovo1[15],slovo2[15],PODslovo1[15],PODslovo2[15];
  int *arr=NULL;
  int ii,n,m,rez,i,j,jj,schothik,schothik1;
  int **p=NULL;

 system("cls");
while (strcmp(meniu,str5)!=0){
    printf("Chto delat? \n");
    printf(" 'Task1' - zadanie nomer 1  \n");
    printf(" 'Task2' - zadanie nomer 2  \n");
    printf(" 'Task3' - zadanie nomer 3  \n");
    printf(" 'Task4' - zadanie nomer 4  \n");
    printf(" 'exit'- dlya vihoda  \n");
    gets( meniu );

if (strcmp(meniu,str1)==0 || strcmp(meniu,str2)==0 || strcmp(meniu,str3)==0 || strcmp(meniu,str4)==0 || strcmp(meniu,str5)==0 )  
 {
if (strcmp(meniu,str1)==0)
  {
    system("chcp 1251");
    system("cls");
    rez=1;
     printf("vvedite razmer odnomernogo massiva: ");
     n=getch();
     n=n-48;
     printf("%d\n",n );
     //выделение памяти
     arr=(int*) malloc(n*sizeof(int));
     //введение массива
     for (ii=0;ii<n;ii++)
     {
      printf("arr[%d]=",ii );
      scanf("%d",&arr[ii]);
     }
     for (ii=0;ii<n;ii++)
     {
      if (arr[ii]>0 & arr[ii]%2==0)
      {
        rez=rez * arr[ii];
      }
     }
     //вывод
     for (ii=0;ii<n;ii++)
      printf(" %d ",arr[ii] );
    printf("\n");
    printf("Rezyltat = %d\n",rez );
    free(arr);
    arr=NULL;  
    fflush(stdin);  
  } 
if (strcmp(meniu,str2)==0)
  {
    system("chcp 1251");
    system("cls");
     printf("visota n: ");
     n=getch();
     n=n-48;
     printf("%d\n",n );
     printf("dlina m: ");
     m=getch();
     m=m-48;
     printf("%d\n",m );
     p = (int**) malloc(n * sizeof(int*));
     for (i=0;i<n;i++)
     {
      p[i]=(int*) malloc(m * sizeof(int*));
      for(j=0;j<m;j++)
      {
        printf("p[%d,%d]=",i,j );
        scanf("%d",&p[i][j]);
      }
     }
   printf("\n");
   //вывод матрицы
  for(i=0;i<n;i++)
  {
    for(j=0;j<m;j++)
    { 
      if (p[i][j]<10)printf("   %d ", p[i][j]);
      if (p[i][j]>9)printf("  %d ", p[i][j]);   
    }
    printf("\n");
  }
   rez = abs(p[0][1]);

      for(i=0;i<n;i++)
       { 
         for(j=i+1;j<m;j++)
         {
           if ((abs(p[i][j]))>rez){
           rez = abs(p[i][j]);
           ii=i;
           jj=j;}
         }
       }  
       printf("rezylt:" );
     printf("p[%d,%d]= %d \n",ii,jj,rez );  
     for ( i = 0; i < n; ++i)
      {
        free(p[i]);
        p[i]=NULL;
      } 
      free(p);
      p=NULL;
   fflush(stdin); 
  }
if (strcmp(meniu,str3)==0)
  {
    system("chcp 1251");
    system("cls");
    schothik=0;
    printf("vvedite stroky: ");
    gets(text);
      if ((text[0]>='a')&&(text[0]<='z')) schothik=schothik+1;
    for (i=0;i<strlen(text);i++)
    { if(text[i]==' '){
      if ((text[i+1]>='a')&&(text[i+1]<='z')) schothik=schothik+1;
    }
    }
    printf("vveden text: %s\n",text);
    printf("slov so strochnoi bykvi: %d\n",schothik );
    fflush(stdin);
  }
if (strcmp(meniu,str4)==0)
  { 
    char kysok1[100]={'\0'},kysok2[100]={'\0'},kysok3[100]={'\0'},text1[300]={'\0'};
    system("chcp 1251");
    system("cls");
    schothik=0;schothik1=0;
    printf("vvedite stroky: ");
    gets(text);
    printf("chto menyat\n");
    printf("slovo1: ");
    gets(slovo1);
    printf("slovo2: ");
    gets(slovo2);
    for (i=0;i<strlen(text);i++)
    {
      if (text[i] == slovo1[0])
      {strncpy(PODslovo1,&text[i],strlen(slovo1));
        if (strcmp(slovo1,PODslovo1)==0){
          schothik=i;}
      }}
      for (i=0;i<strlen(text);i++)
    {
      if (text[i] == slovo2[0])
      {strncpy(PODslovo2,&text[i],strlen(slovo2));
        if (strcmp(slovo2,PODslovo2)==0){
          schothik1=i;}
      }}
    n=schothik-schothik;
    if (strcmp(slovo1,slovo2)==0){printf("Eror! " );printf("slova odinacovie \n" );}
    else{
    if (schothik<schothik1)
    {
      if (schothik!=0)
      strncpy(kysok1,&text[0],schothik);
      ii=schothik+strlen(slovo1);
      jj=schothik1-(schothik+strlen(slovo1));
      if (abs(n)!=strlen(slovo1))
      strncpy(kysok2,&text[ii],jj);
      ii=schothik1+strlen(slovo2);
      jj=strlen(text)-(schothik1+strlen(slovo2));
      strncpy(kysok3,&text[ii],jj);
      text[0]='\0';
      strcat(text1,kysok1);
      strcat(text1,slovo2);
      strcat(text1,kysok2);
      strcat(text1,slovo1);
      strcat(text1,kysok3);
      printf("rezultat: %s\n",text1 );
    }
    else
    {
      if (schothik1!=0)
      strncpy(kysok1,&text[0],schothik1);
      ii=schothik1+strlen(slovo2);
      jj=schothik-(schothik1+strlen(slovo1));
      if (abs(n)!=strlen(slovo2))
      strncpy(kysok2,&text[ii],jj);
      ii=schothik+strlen(slovo1);
      jj=strlen(text)-(schothik+strlen(slovo2));
      strncpy(kysok3,&text[ii],jj);
      text[0]='\0';
      strcat(text1,kysok1);
      strcat(text1,slovo1);
      strcat(text1,kysok2);
      strcat(text1,slovo2);
      strcat(text1,kysok3);
      printf("rezultat: %s\n",text1 );
    }}
    text[0]='\0';
    fflush(stdin);
  }
}
else printf("Eror! \n" );}
}
Екатерина57 вне форума Ответить с цитированием
Старый 06.11.2016, 19:31   #4
Екатерина57
Пользователь
 
Регистрация: 11.10.2015
Сообщений: 63
По умолчанию

язык Си
Екатерина57 вне форума Ответить с цитированием
Старый 06.11.2016, 20:08   #5
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Ну что ты готова к "большой переделке"?
ura_111 вне форума Ответить с цитированием
Старый 06.11.2016, 20:21   #6
Екатерина57
Пользователь
 
Регистрация: 11.10.2015
Сообщений: 63
По умолчанию

Готова
Екатерина57 вне форума Ответить с цитированием
Старый 06.11.2016, 20:23   #7
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Скажи мне что такое:
Код:
strcmp(meniu, str1)
Что делает функция (strcmp)?

p.s.1: не знаешь - ищи в интернете
p.s.2: почаще обновляй страницу.
ura_111 вне форума Ответить с цитированием
Старый 06.11.2016, 20:26   #8
Екатерина57
Пользователь
 
Регистрация: 11.10.2015
Сообщений: 63
По умолчанию

Функция сравнивающая строки
Екатерина57 вне форума Ответить с цитированием
Старый 06.11.2016, 20:31   #9
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Я так понял
строку "meniu" мы вводим, а "str1"
Код:
char str1[] = "Task1";
а тебе надо:
Код:
char str1[] = "Z1";
Скажи, пользователь ДОЛЖЕН вводит "1", как выбор п.меню 1 (ТАК СЕЙЧАС В ПРИМЕРЕ) или пользователь должен вводить Z1?
ura_111 вне форума Ответить с цитированием
Старый 06.11.2016, 20:33   #10
Екатерина57
Пользователь
 
Регистрация: 11.10.2015
Сообщений: 63
По умолчанию

Пользователь должен вводить z1
Екатерина57 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с массивами Devil669 Общие вопросы C/C++ 2 03.05.2013 19:54
Работа с массивами. asmars Общие вопросы C/C++ 0 10.11.2011 01:12
Работа с массивами pashqa Помощь студентам 2 27.05.2011 15:23
Работа с массивами madishka Помощь студентам 2 17.12.2010 21:45
Работа с массивами mchip Microsoft Office Excel 4 11.03.2009 17:11