Форум программистов, компьютерный форум CyberForum.ru

Найти ошибки в программах: строки и массивы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Функции http://www.cyberforum.ru/cpp-beginners/thread318577.html
Вот такое вот задание, для меня очень трудное ребят помогите пожалуйста 14: Футболист ударом ноги посылает мяч вертикально вверх с высоты 1 м с начальной скоростью 20 м/с. На какой высоте мяч будет через 1с; Зс; 4с? Вычисление высоты оформить с помощью функции. 15: В задаче 14 определить, когда мяч будет на высоте 5м; 10м. Решение квадратного уравнения оформить в виде функции.
C++ Реализация класса контейнер. Естественно, это нужно сделать без использования подключаемых библиотек. Описать шаблон-класс нужно сначало. И затем программу, которая покажет все возможности этого щаблон-класса. Первая мысль: template < class TEntry, class TAllocator > class TTinyArrayBase { // Начало массива TEntry* GetStart() const { return m_Data; } http://www.cyberforum.ru/cpp-beginners/thread318575.html
запись структуры в файл и чтение из неё C++
Здравствуйте! Вот пришлось как-то так на С++ сделать такую вещь, как запись структуры в файл из Edit'a и Memo с одной формы и вывести в Combobox и Listbox на другой. Как делать я представляю хорошо, тк на C# делаю это вполне спокойно, но так случилось, что надо сделать это на C++, а там чувствую себя не совсем уютно. Мог бы кто-нибудь помочь или хотя бы скинуть пример?
шифр рейндаля C++
доброго времени суток всем дорогие друзья - с вами фортминор, с вами форум программистов:yes: ну долго расписывать не буду кому если не впадлу помогут. есть 2 файлика (прикреплю ниже) оба нагло сдерты с инета, оба (либо один) прямо относятся к моему курсачу. ваша задача - безусловно как талантливого программиста добавить нужное количество библиотек чтобы прога компилировалась, она то...
C++ базовый и производный класс, в базовом объявлена переменная "protected", она недоступна по имени в производном классе! template <class T> воду мутит! http://www.cyberforum.ru/cpp-beginners/thread318522.html
Друзья! Вот код #include <stdio.h> template <class T> class otets { protected: int peremennaya; }; template <class T>
C++ Выполнить обработку текста Друзья, помогите пожалуйста: Выполнить обработку текста из внешнего текстового файла, созданного в редакторе. Результаты обработки поместить во внешний файл.Определить количество слов в каждой строке, сжать каждую строку, удалив все лишние пробелы. Вот я сделал, только эта программа при записи в другой файл, удаляет первые символы строк. #include "StdAfx.h" #include <stdlib.h> #include... подробнее

Показать сообщение отдельно
MrGadik
0 / 0 / 0
Регистрация: 10.07.2010
Сообщений: 25
13.06.2011, 18:04     Найти ошибки в программах: строки и массивы
Четыре задачи, текст я уже написал, но ошибок много, и я никак не могу понять в чем они заключаются.
Помогите исправить, и по возможности, подскажите как переделать программы с Visual C++ в console application Win32 в Visual Studio.
Собственно программы:

1)Дана строка из восьми цифровых символов.Перевести ее в формат даты dd-mm-yyyy и проверить ее правильность.
C++
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"
#include "iostream.h"
#include "math.h"
#include "stdlib.h"
 
void main()
{ char st[10],x[10],y[10],z[10];
  int i;
  printf("Введите строку цифр:");
  scanf("%s",st);
  printf("%s",st);
  x={st[0],st[1],'/0'};
  i=atof(x);
  if (i>31) printf("\n Число не является датой");
  else {y={st[2],st[3],'\0'};
        i=atof(y);
            if (i>12) printf("\n Число не является датой");
            else {z={st[4],st[5],st[6],st[7],'\0'};
                  printf("\n %s-%s-%s - число является датой",x,y,z);
                 }
        }  
}
2)Дан массив, состоящий из n элементов. Серия - группа подряд идущих одинаковых символов, длина серии - их количество.Удалить из массива все серии, длина которых больше k.
C++
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <stdio.h>
#include <iostream.h>
#include <time.h> 
#include <stdlib.h>
#define max 100
 
void gen(int k, int a, int b, int array[max]);
void out(int k, int array[max]);
void seriya(int array[max], int newarray[max], int n);
 
void main()
{int array[max],newarray[max],n,a,b;
 printf("Vvedite razmernost massiva:");
 scanf("%d",&n);
 printf("\nVvedite nizn'uyu granicu diapazona sluchainyh chisel:");
 scanf("%d",&a);
 printf("\nVvedite verhn'uyu granicu diapazona sluchainyh chisel:");
 scanf("%d",&b);
 
 gen(n,a,b,array);
 out(n, array);
 seriya(array,newarray,n);
 out(n, newarray); 
}
 
void gen(int n, int a, int b, int array[max])
{int i;
 srand(time(NULL)*1000);
 for (i=0;i<k;i++)
    {x[i]=(rand()*1.0/(RAND_MAX)*(b-a)+a);
}
 
void out(int n, int array[max])
{int i;
 printf("Vyvod znacheniy %d elementov massiva: \n",k);
 for (i=0;i<k;i++)
    printf("%-6d,array[i]);
}
 
void seriya(int array[max], int newarray[max], int n)
{int z,i,ni,p;
 printf("\nVvedite kolichestvo elementov serii:");
 scanf("%d",&z);
 for (i=0;i<n;i++,ni++) 
 {if (array[i]==array[i++]) 
    for (p=1;array[i]==array[i+1];i++,p++);
  if (p>z) i++;
  else i=i-(p--);
  array[i]=newarray[ni];
 }
}
3)Дано линейное множество A из n точек.Найти точку, сумма расстояний от которой до остальных точек минимальна, и саму эту сумму.
C++
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include <stdio.h>
#include <iostream.h>
#include <time.h> 
#include <stdlib.h>
#include <math.h>
#define max 100
 
void gen(int k, int a, int b, int array[max]);
void out(int k, int array[max]);
void sort(int n,int x[max]);
 
 
void main()
{int array[max],newarray[max],n,a,b;
 printf("Vvedite razmernost massiva:");
 scanf("%d",&n);
 printf("\nVvedite nizn'uyu granicu diapazona sluchainyh chisel:");
 scanf("%d",&a);
 printf("\nVvedite verhn'uyu granicu diapazona sluchainyh chisel:");
 scanf("%d",&b);
 
 gen(n,a,b,array);
 out(n, array);
 sort(n, array);
}
 
void gen(int n, int a, int b, int array[max])
{int i;
 srand(time(NULL)*1000);
 for (i=0;i<k;i++)
    {x[i]=(rand()*1.0/(RAND_MAX)*(b-a)+a);
}
 
void out(int n, int array[max])
{int i;
 printf("Vyvod znacheniy %d elementov massiva: \n",k);
 for (i=0;i<k;i++)
    printf("%-6d,array[i]);
}
 
void sort(int n,int x[max])
{int i,j,k,min,temp;
    for(i=0,k=0;i<n-1;i++)
        {temp=0;
         for(j=i+1;j<n;j++)
            {if(x[i]==x[j])
                j++;
             temp=temp+abs(x[j]-x[j++]);        
            }
         if (k>=temp) 
            {k=temp;
             min=i;
            }
         else if (i=1) k=temp; 
        }
printf("Iskomaya tochka %d, summa=%d",x[min],k);
}
4)Даны действительные числа a1...a64. Преобразовать эти числа в массив 8х8, и расположить их в порядке...(тут нарисован зигзаг, начинающийся справа, т.е. первая строка справа налево, вторая слева направо и т.д.)
C++
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <stdio.h>
#include <iostream.h>
#include <time.h> 
#include <stdlib.h>
#include <math.h>
#define max 64
#define max_x 8
#define max_y 8
 
void gen(double a, double b, double array[max]);
void out(double array[max]);
void sort(double array[max]);
void out2(double x[max_x][max_y]);
 
 
void main()
{double array[max],x[max_x][max_y],a,b;
 printf("\nVvedite nizn'uyu granicu diapazona sluchainyh chisel:");
 scanf("%d",&a);
 printf("\nVvedite verhn'uyu granicu diapazona sluchainyh chisel:");
 scanf("%d",&b);
 
 gen(a,b,array);
 out(array);
 sort(array);
 out2(x);
}
 
void gen(double a, double b, double array[max])
{int i;
 srand(time(NULL)*1000);
 for (i=0;i<64;i++)
    {x[i]=(rand()*1.0/(RAND_MAX)*(b-a)+a);
}
 
void out(double array[max])
{int i;
 printf("Vyvod znacheniy %d elementov massiva: \n",k);
 for (i=0;i<64;i++)
    printf("%-6d,array[i]);
}
 
void sort(double array[max])
{int i,j,k=0;
 double x[8][8];
    for (i=0;i<8;i++)
        {if ((i%2)==0)
            {for (j=0;j<8;j++,k++)
                x[i][j]=array[k];
            }
         else 
            {for (j=8;j>0;j--,k++)
                x[i][j]=array[k];
            }
        }
}
 
void out2(double x[max_x][max_y])
{int i,j;
 for (i=0;i<8;i++)
    {for (j=0;j<8;j++)
        printf("%4d",m[i][j]);
        printf("\n");
    }
}
Добавлено через 17 часов 3 минуты
Ап.
Никто не разбирается? Помогите пожалуйста хоть с какой-нибудь, сдавать завтра((
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 16:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru