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

Условные операторы, двумерные массивы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ последовательная обработка символов http://www.cyberforum.ru/cpp-beginners/thread186858.html
В тексте первый символ каждого слова - цифра, указывающая длину этого слова. Проверить правильность указания длины слов. На экран вывести заданные длины слов и вычисленные. вот пограмма ток незнаю как дописать помогите! #include <stdio.h> #include <math.h> void main() { char c,c1; int l,m; c=c1=’ ‘; m=0;
C++ Сформировать две строки - первая содержит только числа из исходной строки, а вторая – только слова 1.Дан текст, состоящий из предложений. Ввод текста осуществляется в несколько строк (не более 20). Признак завершения ввода – ввод пустой строки. Предложения в тексте могут начинаться на одной строке, а заканчиваться на другой (максимальная длина предложения – 70 символов). Записать текст так, чтобы каждое предложение начиналось с новой строки. Упорядочить предложения по их длине и вывести... http://www.cyberforum.ru/cpp-beginners/thread186848.html
C++ Засунуть в тернарный оператор
Помогите засунуть выражение if ( (i < 0 || j < 0) || (i >= ROW || j >= COL) || (i == oi && j == oj)) continue; else if (arr) ++cnt; в тернарный оператор, у меня что-то не выходит никак
сортировка массива по двум критериям(или что-то вроде того) C++
Дан массив int arr, нужно отсортировать первую строчку по возрастанию, если числа равны сравнивать соответственные значения во второй (гарантируется, что все числа во второй разные). И вся проблема в том, что n=100000, а отсортировать нужно меньше чем за 0.5 сек. Конечно, написал с быстрой сортировкой, но по второй срочке не всегда сортируется. Покажу, что есть, там ошибка в if-е, где...
C++ Создание массива по Указателю на массив http://www.cyberforum.ru/cpp-beginners/thread186840.html
(к сведенью. пользую C++, версия Dev C++ 4.9.9.2) Я создал указатель на массив: char (*e); Мне нужно создать по этому указателю массив с помощью new. Подскажите как это сделать. P.s. Знаю что имя массива это указатель на него, и что это изврат. Но этого требует лабораторная. Огромное спасибо за помощь.
C++ Масив строк на С Задача: есть массив из строк. нужно инвертировать его по строкам. например у нас есть строка1, строка2, строка3, строка4, а надо сделать: строка4, строка3, строка2, строка1. нужно сделать без библиотечных функций на языке С. помогите кто может. подробнее

Показать сообщение отдельно
patisson74
6 / 6 / 1
Регистрация: 26.11.2009
Сообщений: 19
06.11.2010, 00:07     Условные операторы, двумерные массивы
Вот задачи, решение сделано на Паскале, переделать нужно на Си...
1. Даны произвольные числа а, b, c. Определить, может ли быть построен треугольник со сторонами соответствующей длины, и указать, что это будет за треугольник (равносторонний, равнобедренный, какой-либо ли другой).
Pascal
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
program treugolnik;
uses crt;    {Подключаем модуль, содержащий функцию очистки экрана}
var a, b, c : real;  {Начальные данные}
 
BEGIN
clrscr;       {Очищаем экран}
writeln ('Введите стороны треугольника');  {Вводим стороны треугольника}
 
read (a, b, c);  {Проверяем соотношение сторон треугольника}
 
 if (((a + b) > c) and ((a + c) > b) and ((b + c) > a)) then
 
          begin
 
        writeln (' C этими данными можно построить треугольник ');  {Печатаем результат проверки}
 
  if ((a = b) and (a = c)) then writeln (' Треугольник равносторонний ');  {Печатаем результат проверки}
  if ((a = b) and (a <> c)) or ((b = c) and (b <> a)) or ((c = a) and ( a <> b)) then writeln(' Треугольник равнобедренный '); {Печатаем результат проверки}
          еnd
 
  else writeln ('Треугольник построить c этими данными нельзя ');  {Печатаем результат проверки}
 
  readln;   { Применяем функцию задержки экрана }
  readln;
 
END.
2. Дана матрица целых чисел размера m x n. Найти количество ее строк, все элементы которых разные.
листинг:
Pascal
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
program  matrix_M_x_N ;
uses crt;    { Подключаем модуль, содержащий функцию очистки экрана}
var  m,n,i,j,k,z: integer;    { Объявляем переменные – счетчики }
a: array[1..20, 1..20] of  integer;    { Объявляем  массив чисел строки  }
r: boolean;
BEGIN
   clrscr;           { Очищаем экран }
   writeln ('Введите  m, n');    { Вводим размер матрицы, где m – кол-во строк, n – кол-во столбцов }
   readln(m,n);
   writeln('Введите массив');    { Вводим массив чисел матрицы }
      for i:=1 to m do     { Задаем цикл перебора строк }   
      for j:=1 to n do      { Задаем цикл перебора столбцов }   
      read(a[i,j]);
    writeln;
    k:=0;
    for i:=1 to m do       { Задаем цикл перебора строк }   
  begin
       r:=true;
       for z:=1 to n do     { Задаем цикл перебора столбцов } 
           begin
       for j:=z to n do     { Задаем цикл перебора элементов от текущего элемента до конца строки }      
       if (a[i,z]<>a[i,j]) and (r<>false) then r:=true     
       else if z<>j then r:=false;       { Если в строке нет совпадающих символов, то флаг r устанавливаем в false }   
          end;
       if r=true then k:=k+1;      { Если флаг r=true, то счетчик k увеличиваем на 1 }   
  end;
    writeln ('Количество строк с различными элементами : ',k);
    readln;
    readln;
END.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 03:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru