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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.07.2008, 13:53   #1
Тина
Новичок
Джуниор
 
Регистрация: 02.07.2008
Сообщений: 1
Смущение дан текстовый массив из 200 букв. Выстроить в алфавитном порядке все строчные буквы

Ребята! Что-то у меня никак не получается с прогами которые задают нам преподаватели.
Помогите пожалуйста! Программу необходимо написать в С++ Borland
1) дан текстовый массив из 200 букв. Выстроить в алфавитном порядке все строчные буквы;
2) даны числа от 2 до n (n<=10) найти все простые числа;
3)матрица задается формулой а(i,j)=cos(i^2+j^2), найти транспонированную матрицу а.
Для профи это же раз плюнуть.
Надеюсь на помощь!
Тина вне форума Ответить с цитированием
Старый 02.07.2008, 20:03   #2
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

1. А что с заглавными то делать?
Этот код строчные сортирует а заглавные оставляет на месте. Работает с латиницей, лень разбираться, как там в OEM кирриллица устроена
Код:
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
char mas[200];
int i, j;
for (i = 0; i < 200; i++)
  cin >> mas[i];
char buf;
for (i = 0; i < 199; i++)
  for (j = i + 1; j < 200; j++)
    if (mas[j] < mas[i])
      if ((mas[j] >= 97) && (mas[j] <= 122) &&
          (mas[i] >= 97) && (mas[i] <= 122))
        {
        buf = mas[j];
        mas[j] = mas[i];
        mas[i] = buf;
        }
for (i = 0; i < 200; i++)
  cout << mas[i];
return 0;
}
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума Ответить с цитированием
Старый 02.07.2008, 20:46   #3
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

2.
Код:
#include <iostream>
#include <math>
using namespace std;

int main(int argc, char* argv[])
{
int n;
cin >> n;
int i, j;
int up;
bool issimple;
for (i = 2; i <= n; i++)
  {
  issimple = true;
  up = ceil(sqrt(i));
  for (j = 2; j <= up; j++)
    if ((i % j == 0) && (i != j))
      {
      issimple = false;
      break;
      }
  if (issimple)
    cout << i << " ";
  }
return 0;
}
Хотя если учесть, что числа ограничены 10, то можно тупо вбить все простые числа от 1 до 10 в массив
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума Ответить с цитированием
Старый 02.07.2008, 21:04   #4
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

3.
Код:
#include <iostream>
#include <math>
using namespace std;

int main(int argc, char* argv[])
{
float matr[100][100];
float a[100][100];
int n, m;
int i, j;
cin >> n >> m;
for (i = 0; i < n; i++)
  for (j = 0; j < m; j++)
    matr[i][j] = cos(i*i + j*j);
for (i = 0; i < n; i++)
  for (j = 0; j < m; j++)
    a[j][i] = matr[i][j];
//
for (i = 0; i < m; i++)
  {
  for (j = 0; j < n; j++)
    cout << a[i][j] << " ";
  cout << endl;
  }
return 0;
}
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума Ответить с цитированием
Старый 02.07.2008, 21:30   #5
Sharaevsky_Vitaly
Пользователь
 
Регистрация: 23.05.2008
Сообщений: 26
По умолчанию Еще один вариант

Задачу №2 можно еще решить с помощью Малой теоремы Ферма, которая гласит (в упрощенном варианте):
- для любого простого p и целого a, ((a в степени p) — a) делится на p (имеется ввиду без остатка)
У меня получилось такое решение (Greblin, просмотри пожалуйста на предмет глупостей):

Код:
#include <iostream>
#include <conio.h>
#include <math.h>

using namespace std;

int main ()
{
	unsigned int Array[9] = {2, 3, 4, 5, 6, 7, 8, 9, 10};   // из них простые - 2, 3, 5, 7, 11

    for (int i=0; i<9; i++)
	{
	  if(!(static_cast<int>((pow(2,Array[i]))-2)%Array[i]))  cout<<Array[i]<<endl;
	}
  
    getch();
    return 0;
}

Последний раз редактировалось Sharaevsky_Vitaly; 02.07.2008 в 21:44.
Sharaevsky_Vitaly вне форума Ответить с цитированием
Старый 02.07.2008, 22:10   #6
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

Программка правильная и к данной задаче применимая. Но максимальное простое число, которое она сможет определить - 31, ибо потом возникнет переполнение типа.
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума Ответить с цитированием
Старый 02.07.2008, 22:53   #7
embedder
Пользователь
 
Регистрация: 24.05.2008
Сообщений: 25
По умолчанию

Цитата:
Сообщение от Тина Посмотреть сообщение
2) даны числа от 2 до n (n<=10) найти все простые числа;
Готовые решения:
http://alexeypetrov.narod.ru/C/simple_about.html
http://ru.wikipedia.org/wiki/%D0%A0%...B8%D0%BD%D0%B0
embedder вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Упорядочить слова в алфавитном порядке sasha45 Общие вопросы C/C++ 36 20.06.2011 11:03
отсортировать таблицу сначала в алфавитном порядке фамилий продавцов, затем в порядке возростания получен Lora Microsoft Office Excel 1 31.05.2008 17:22
Почему скрипт преобразует ЗАГЛАВНЫЕ буквы в строчные??? lex1 Microsoft Office Excel 3 17.03.2008 11:21